Quandy is a sweet, simple library to help you create web applications with Python.
It plays nice with web.py and sqlalchemy.
-
Author: Ryan McGreal
-
Email: [email protected]
-
Homepage: http://quandyfactory.com/projects/quandy
-
Repository: http://github.com/quandyfactory/Quandy
Released under the GNU General Public Licence, Version 2:
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-
Version: 0.7
-
Release Date: 2020-11-12
-
Python 3 or Python 2.5+
-
python-markdown http://www.freewisdom.org/projects/python-markdown/
-
Web.py is a great simple web framework http://webpy.org
-
SQLAlchemy is a fantastic ORM http://www.sqlalchemy.org/
At some point I need to tackle packaging this up either through PyPi or using easy_install. In the meantime it's a file.
-
Release Date: 2020-11-12
-
Changes:
- Updated it to work with Python 3
-
Release Date: 2014-11-21
-
Changes:
- Fixed issue with checkbox input not accepting multiple values
-
Release Date: 2014-11-21
-
Changes:
- Removed Content-Style-Type from http meta-equiv - HTML5 validator doesn't like it
-
Release Date: 2014-02-24
-
Changes:
- Just noticed it was still loading css files using @import, so switched to link
-
Release Date: 2013-08-18
-
Changes:
- Updated formfield separator widget to new id, class conventions
-
Release Date: 2013-08-18
-
Changes:
- Fixed misspelling
formconteiner
in replace function
- Fixed misspelling
-
Release Date: 2013-08-18
-
Changes:
- Fixed bug in textarea twolines==False to remove unnecessary
</formitem>
- Fixed bug in textarea twolines==False to remove unnecessary
-
Release Date: 2013-08-18
-
Changes:
- Fixed bug in checkbox, radio widgets where
</formitem>
is repeated after each option
- Fixed bug in checkbox, radio widgets where
-
Release Date: 2013-08-18
-
Changes:
- Wrapped two-part non-table form widgets in
<formitem>
elements, removed formitem tags from table forms
- Wrapped two-part non-table form widgets in
-
Release Date: 2013-08-18
-
Changes:
- Fixed minor classname issue in textarea widget
-
Release Date: 2013-08-18
-
Changes:
- Cleaned up formfield generation, made id, class etc. consistent across different widgets
- Removed colspan attributes from non-table formfields
-
Release Date: 2013-08-17
-
Changes:
- Added ability to structure form using custom form tags, not table
-
Release Date: 2013-08-17
-
Changes:
- Fixed issue with radio formfield: it was displaying id instead of friendly name
-
Release Date: 2013-06-03
-
Changes:
- Moved the stylesheet import to the top of the head in Html()
- Added HTML5 doctype to Html()
-
Release Date: 2013-04-16
-
Changes:
- Added checkbox/radio title class and ID attributes to hook styles
- Fixed bug in label for attribute to match input ID
-
Release Date: 2013-04-15
-
Changes:
- Added 'checkbox' widget to Formfields
- Enabled accepting a list of checked values
-
Release Date: 2013-01-05
-
Changes:
- Fixed bug in tools.unfriendly_name that created javascript-unfriendly element ids (%)
-
Release Date: 2013-01-02
-
Changes:
- Changed
id='name-id
toid=name_id
in radio ids - Fixed bug in tools.unfriendly_name that created javascript-unfriendly element ids
- Changed
-
Release Date: 2013-01-02
-
Changes:
- Changed
id='name-id
toid=name_id
in radio ids - Added
id="for_id"
to radio button labels to hang event handlers
- Changed
-
Release Date: 2013-01-01
-
Changes:
- Added 'radio' widget to Formfields
-
Release Date: 2012-08-21
-
Changes:
- Replaced
str()
functions withunicode()
functions.
- Replaced
-
Release Date: 2012-08-03
-
Changes:
- Added 'separator' widget type to Formfield.
-
Release Date: 2012-02-03
-
Changes:
- Fixed bug in Formfields() so that input, select, textarea container title attributes have any html stripped out of the title
-
Release Date: 2011-04-29
-
Changes:
- Fixed bug in tools.unfriendly_name that would cause it to choke on non-ASCII characters
-
Release Date: 2010-06-01
-
Changes:
- Slightly refactored Tools.pcase().
-
Release Date: 2010-06-01
-
Changes:
- Slightly refactored Tools.pcase().
-
Release Date: 2010-06-01
-
Changes:
- Moved javascript file imports to the bottom of the HTML code, below the
body
tag.
- Moved javascript file imports to the bottom of the HTML code, below the
-
Release Date: 2010-05-20
-
Changes:
- Added ability to specify on which weekday the week starts (default is Sunday)
-
Release Date: 2010-01-10
-
Changes:
- Fixed calendar colour when today is a weekend.
-
Release Date: 2010-01-07
-
Changes:
- Added td id and fixed div in Cal.write()
-
Release Date: 2010-01-06
-
Changes:
- Added Cal() calendar class.
-
Release Date: 2009-12-21
-
Changes:
- Fixed rss meta tag - only ends with
/>
if doctype = XHTML.
- Fixed rss meta tag - only ends with
-
Release Date: 2009-12-17
-
Changes:
- Changed default nocache in Html.write() to
False
. - Added "rss" parameter to Html.write() to add an RSS autodiscovery meta-tag.
- Changed default nocache in Html.write() to
-
Release Date: 2009-12-03
-
Changes:
- Fixed bug in tools.validate_password that hard-coded response messages if passwords are too short or too long
- Fixed typo in tools.validate_password that spells it "assword". Nice.
- Added optional
strict
parameter to tools.validate_password (default isFalse
) so it must contain at least three of four character groups.
-
Release Date: 2009-12-01
-
Changes:
- Fixed bug in tools.string_to_date() that unfairly failed valid date strings
- Added tools.make_list_from_string() to make a list out of delimited (whitespace, comma, semicolon) strings
-
Release Date: 2009-11-22
-
Changes:
- Fixed bug in tools.sql_date() that was causing the default date to be 7 days ago
- Fixed bug in tools.mark_it_up() and updated the html regex
- Added tools.validate_email()
- Added tools.validate_password()
- Added tools.generate_random_password()
-
Release Date: 2009-10-23
-
Changes:
- Fixed bug in Tools.is_type()
- Added Tools.sql_date(), which presents the date as a string in the form
YYYY/MM/DD
orYYYY-MM-DD
. - Added Tools.string_to_date(), which takes a string in the form
YYYY/MM/DD
orYYYY-MM-DD
and converts to a Python date. - Added Tools.compare_dates(), takes two dates and returns the difference, in days, between them.
-
Release Date: 2009-10-22
-
Changes:
- Added Tools.is_type(val, thetype), which returns True if
val
is of typethetype
. - Changed Tools.friendly_date function to remove period after month.
- Changed Tools.friendly_month to test whether date delimiter is '-' or '/'.
- Changed Tools.friendly_month to test whether date has two parts (YYYY, MM).
- Added Tools.is_type(val, thetype), which returns True if
-
Release Date: 2009-10-20
-
Changes:
- Fixed name (oops, no decimals in module names) from quandy0.2 to quandy02
- Added Tools.single_or_plural(), which takes a value and returns either singular or plural suffix for a word (defaults are '' and 's').
- Removed colon
:
and hyphen-
from badchars list in Tools.unfriendly_name
-
Release Date: 2009-10-19
-
Changes:
- Converted all method names to lowercase_with_underscores to conform with PEP 8
- Changed file name to quandy0.2.py to maintain compatibility with apps using quandy.py versions < 0.2.
- Modified Tools.friendly_date to take an optional monthname length parameter (default 3, i.e. January -> Jan).
- Removed single quote
'
from badchars list in Tools.unfriendly_name - Added optional target parameter to Tools.mark_it_up (default is '')
-
Release Date: 2009-09-14
-
Changes:
- Fixed bug in Formfield.Write method, which compares value parameter to value in list of option to flag an option as
selected
. If option list was 2d (value, display), the value matching wasn't working.
- Fixed bug in Formfield.Write method, which compares value parameter to value in list of option to flag an option as
-
Release Date: 2009-08-21
-
Changes:
- Added /static/ to the default file path values in the Html.Write method.
-
Release Date: 2009-08-21
-
Changes:
- Added missing lang attribute to tag in Html.Write method.
-
Release Date: 2009-08-20
-
Changes:
- Fixed bug in Hml.Write method that didn't correctly display the version of Quandy
- Fixed bug in Tools.Fix1252Codes that didn't properly import re
- Enhanced the functionality of the Tools.PCase function to capitalize hyphenated words and optionally fix mixed-case names (like McGreal)
-
Release Date: 2009-08-19
-
Changes:
- Unicode support works fine in web.py and SQLAlchemy. When using MySQL (via mysql-python), you must be sure to pass the
?charset=utf8
parameter as part of the db connection string.
- Unicode support works fine in web.py and SQLAlchemy. When using MySQL (via mysql-python), you must be sure to pass the
-
Release Date: 2009-08-06
-
Changes:
- First Commit