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: ryan@quandyfactory.com
-
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
formconteinerin 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-idtoid=name_idin radio ids - Fixed bug in tools.unfriendly_name that created javascript-unfriendly element ids
- Changed
-
Release Date: 2013-01-02
-
Changes:
- Changed
id='name-idtoid=name_idin 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
bodytag.
- 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
strictparameter 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/DDorYYYY-MM-DD. - Added Tools.string_to_date(), which takes a string in the form
YYYY/MM/DDorYYYY-MM-DDand 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
valis 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=utf8parameter 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