cookbook.git
14 years agoAdjust tag hyperlinking to handle .tags == None
W. Trevor King [Fri, 23 Jul 2010 23:14:28 +0000 (19:14 -0400)]
Adjust tag hyperlinking to handle .tags == None

14 years agoHyperlink recipe tag list
W. Trevor King [Fri, 23 Jul 2010 19:35:57 +0000 (15:35 -0400)]
Hyperlink recipe tag list

14 years agoSort recipe files when loading Cookbook
W. Trevor King [Fri, 23 Jul 2010 19:11:48 +0000 (15:11 -0400)]
Sort recipe files when loading Cookbook

14 years agoCreate the static directory if it is missing
W. Trevor King [Fri, 23 Jul 2010 11:45:48 +0000 (07:45 -0400)]
Create the static directory if it is missing

Since we don't have any files in it at the moment, and Git doesn't
track empty directories.

14 years agoPython 2.5 doesn't allow fn(*args, imap=value)
W. Trevor King [Fri, 23 Jul 2010 01:25:29 +0000 (21:25 -0400)]
Python 2.5 doesn't allow fn(*args, imap=value)

14 years agoAdded digest authentication for cookbook editing
W. Trevor King [Thu, 22 Jul 2010 16:42:58 +0000 (12:42 -0400)]
Added digest authentication for cookbook editing

The example .htaccess file sets up the user
  user: guest
  pass: guest
or, if you're running CherryPy < 3.2
  user: guest
  pass: 8eb3d4841608f011af3dd4bdc4c8b340

14 years agoAdded recipe removal link and replaced ' />' -> '/>'
W. Trevor King [Thu, 22 Jul 2010 16:10:57 +0000 (12:10 -0400)]
Added recipe removal link and replaced ' />' -> '/>'

14 years agoAdded recipe editing pages.
W. Trevor King [Thu, 22 Jul 2010 11:58:16 +0000 (07:58 -0400)]
Added recipe editing pages.

Specifically:
* Added "add new recipe" link to recipes.html template.
* Added "edit recipe" link to recipe.html template.
* Added new template: edit-recipe.html
* Added new Server.edit() and sub-functions.
* Moved Cookbook's save dir definition to Cookbook.save_dir.
* Moved Recipe.path name generation to Cookbook._free_path().
* Cookbook.make_index() now adds paths to Recipes with .path == None.
* In-memory updates for everything.
* Add/remove ingredient blocks with index mapping.

Along the way, I fixed up some random bugs:
* recipe.html was failing if there were no ingredient_blocks or directions.
* Amount.__unicode__ was failing if some attributes were None.
* Ingredient.__unicode__ was failing if .amount was None.
* Allow printing of recipes when .directions == None.

I also made a few style fixes:
* Server.tag_regexp -> ._tag_regexp, since it's internal data.

14 years agoCleanup base.html template comments
W. Trevor King [Thu, 22 Jul 2010 11:53:50 +0000 (07:53 -0400)]
Cleanup base.html template comments

14 years agoUse CherryPy decoding tool to decode GET/POST arguments
W. Trevor King [Thu, 22 Jul 2010 11:52:33 +0000 (07:52 -0400)]
Use CherryPy decoding tool to decode GET/POST arguments

14 years agoEncode URLs into ASCII.
W. Trevor King [Wed, 21 Jul 2010 19:12:19 +0000 (15:12 -0400)]
Encode URLs into ASCII.

URL encoding is undefined.  See
  http://www.cherrypy.org/ticket/825
  http://www.w3schools.com/TAGS/ref_urlencode.asp
  http://www.rfc-editor.org/rfc/rfc2396.txt
Therefore, safe URLs should be in a subset of ASCII.  We convert our
URLs to UTF-8, and then use urllib.quote_plus() to escape the UTF-8
into ASCII.

14 years agoUse dropdowns (with textbox option for new tags) for tag manipulation.
W. Trevor King [Wed, 21 Jul 2010 18:58:51 +0000 (14:58 -0400)]
Use dropdowns (with textbox option for new tags) for tag manipulation.

14 years agoRedirect for invalid tags too (just don't manipulate the data)
W. Trevor King [Wed, 21 Jul 2010 18:38:02 +0000 (14:38 -0400)]
Redirect for invalid tags too (just don't manipulate the data)

14 years agoFix bugs typos in _clean_tag()
W. Trevor King [Wed, 21 Jul 2010 18:35:31 +0000 (14:35 -0400)]
Fix bugs typos in _clean_tag()

14 years agoMerge branch 'master' of ssh://einstein/~/public_html/code/git/cookbook
W. Trevor King [Wed, 21 Jul 2010 18:29:12 +0000 (14:29 -0400)]
Merge branch 'master' of ssh://einstein/~/public_html/code/git/cookbook

14 years agoMerge branch 'master' of ssh://einstein/~/public_html/code/git/cookbook
W. Trevor King [Wed, 21 Jul 2010 18:29:47 +0000 (14:29 -0400)]
Merge branch 'master' of ssh://einstein/~/public_html/code/git/cookbook

14 years agoSanitize input tags
W. Trevor King [Wed, 21 Jul 2010 18:28:54 +0000 (14:28 -0400)]
Sanitize input tags

14 years agoUse POST for data-changing forms, GET otherwise
W. Trevor King [Wed, 21 Jul 2010 18:20:16 +0000 (14:20 -0400)]
Use POST for data-changing forms, GET otherwise

Also float the recipe list tag-selection form to the right.

14 years agoImport with statement so recent server.py changes work with Python 2.5
W. Trevor King [Wed, 21 Jul 2010 16:25:00 +0000 (12:25 -0400)]
Import with statement so recent server.py changes work with Python 2.5

14 years agoAdd ability to filter recipe lists by tag
W. Trevor King [Wed, 21 Jul 2010 16:19:50 +0000 (12:19 -0400)]
Add ability to filter recipe lists by tag

14 years agoAdded tag display to the recipe page with tag-editing forms
W. Trevor King [Wed, 21 Jul 2010 15:56:32 +0000 (11:56 -0400)]
Added tag display to the recipe page with tag-editing forms

14 years agoAdd defaults to `bin/cook.py --help` output, where appropriate.
W. Trevor King [Wed, 21 Jul 2010 15:30:31 +0000 (11:30 -0400)]
Add defaults to `bin/cook.py --help` output, where appropriate.

14 years agoFix missing <td> typo in recipe.html template
W. Trevor King [Mon, 21 Jun 2010 19:53:56 +0000 (15:53 -0400)]
Fix missing <td> typo in recipe.html template

14 years agoAdded link to cookbook.git and trailing slashes to footer
W. Trevor King [Mon, 21 Jun 2010 19:53:29 +0000 (15:53 -0400)]
Added link to cookbook.git and trailing slashes to footer

14 years agoAdd backlinks recipe->index
W. Trevor King [Mon, 21 Jun 2010 19:48:26 +0000 (15:48 -0400)]
Add backlinks recipe->index

14 years agoUse relative index->recipe links
W. Trevor King [Mon, 21 Jun 2010 19:48:02 +0000 (15:48 -0400)]
Use relative index->recipe links

14 years agoAssorted fixes to work with Python 2.5 and CherryPy 2.3
W. Trevor King [Mon, 21 Jun 2010 19:20:35 +0000 (15:20 -0400)]
Assorted fixes to work with Python 2.5 and CherryPy 2.3

The earlier version worked in Python 2.6 and CherryPy 3.x.

14 years agoRan update_copyright.py
W. Trevor King [Mon, 21 Jun 2010 18:02:11 +0000 (14:02 -0400)]
Ran update_copyright.py

14 years agoBegan versioning
W. Trevor King [Mon, 21 Jun 2010 18:01:10 +0000 (14:01 -0400)]
Began versioning