Changeset 4957
- Timestamp:
- 15/05/08 15:14:37 (4 months ago)
- Files:
-
- Trunk/contributors/ChrisDent/experimental/TiddlyWeb/test/test_serialize_recipe.py (modified) (1 diff)
- Trunk/contributors/ChrisDent/experimental/TiddlyWeb/test/test_web_tiddler.py (modified) (2 diffs)
- Trunk/contributors/ChrisDent/experimental/TiddlyWeb/tiddlyweb/serializers/html.py (modified) (1 diff)
- Trunk/contributors/ChrisDent/experimental/TiddlyWeb/tiddlyweb/serializers/json.py (modified) (1 diff)
- Trunk/contributors/ChrisDent/experimental/TiddlyWeb/tiddlyweb/serializers/wiki.py (modified) (1 diff)
- Trunk/contributors/ChrisDent/experimental/TiddlyWeb/tiddlyweb/web/tiddler.py (modified) (2 diffs)
- Trunk/contributors/ChrisDent/experimental/TiddlyWeb/urls.map (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
Trunk/contributors/ChrisDent/experimental/TiddlyWeb/test/test_serialize_recipe.py
r4002 r4957 38 38 assert string.startswith('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'), 'looks like we got an empty.html doc' 39 39 assert 'c tiddler one' in string 40 assert '<div title="TiddlerOne" modifier="AuthorOne"' in string40 assert '<div title="TiddlerOne" revision="None" modifier="AuthorOne"' in string 41 41 42 42 def test_simple_recipe(): Trunk/contributors/ChrisDent/experimental/TiddlyWeb/test/test_web_tiddler.py
r4955 r4957 44 44 assert 'i am tiddler 8' in content, 'tiddler should be correct content, is %s' % content 45 45 46 def test_get_tiddler_revision(): 47 http = httplib2.Http() 48 response, content = http.request('http://our_test_domain:8001/bags/bag0/tiddlers/tiddler8/revisions/1', 49 method='GET') 50 51 assert response['status'] == '200', 'response status should be 200' 52 assert 'i am tiddler 8' in content, 'tiddler should be correct content, is %s' % content 53 assert 'revision="1"' in content 54 46 55 def test_get_missing_tiddler(): 47 56 http = httplib2.Http() 48 57 response, content = http.request('http://our_test_domain:8001/bags/bag0/tiddlers/tiddler27', 58 method='GET') 59 60 assert response['status'] == '404', 'response status should be 404' 61 62 def test_get_missing_tiddler_revision(): 63 http = httplib2.Http() 64 response, content = http.request('http://our_test_domain:8001/bags/bag0/tiddlers/tiddler27/revisions/99', 49 65 method='GET') 50 66 … … 59 75 assert response['content-type'] == 'text/html; charset=UTF-8', 'response content-type should be text/html; chareset=UTF-8 is %s' % response['content-type'] 60 76 assert 'i am tiddler 8' in content, 'tiddler should be correct content, is %s' % content 77 78 def test_get_tiddler_revision_wiki(): 79 http = httplib2.Http() 80 response, content = http.request('http://our_test_domain:8001/bags/bag0/tiddlers/tiddler8/revisions/1.wiki', 81 method='GET') 82 83 assert response['status'] == '200', 'response status should be 200 is %s' % response['status'] 84 assert response['content-type'] == 'text/html; charset=UTF-8', 'response content-type should be text/html; chareset=UTF-8 is %s' % response['content-type'] 85 assert 'i am tiddler 8' in content, 'tiddler should be correct content, is %s' % content 86 assert 'revision="1"' in content 61 87 62 88 def test_put_tiddler_txt(): Trunk/contributors/ChrisDent/experimental/TiddlyWeb/tiddlyweb/serializers/html.py
r4053 r4957 70 70 71 71 def tiddler_as(tiddler): 72 return """<div title="%s" modifier="%s" modified="%s" created="%s" tags="%s">72 return """<div title="%s" revision="%s" modifier="%s" modified="%s" created="%s" tags="%s"> 73 73 <pre>%s</pre> 74 74 </div> 75 """ % (tiddler.title, tiddler. modifier, tiddler.modified, tiddler.created, tags_as(tiddler.tags), tiddler.text)75 """ % (tiddler.title, tiddler.revision, tiddler.modifier, tiddler.modified, tiddler.created, tags_as(tiddler.tags), tiddler.text) 76 76 77 77 def as_tiddler(tiddler, input): Trunk/contributors/ChrisDent/experimental/TiddlyWeb/tiddlyweb/serializers/json.py
r4131 r4957 43 43 def tiddler_as(tiddler): 44 44 tiddler_dict = {} 45 for key in ['title', ' modifier', 'created', 'modified', 'tags', 'text', 'bag']:45 for key in ['title', 'revision', 'modifier', 'created', 'modified', 'tags', 'text', 'bag']: 46 46 tiddler_dict[key] = getattr(tiddler, key, None) 47 47 Trunk/contributors/ChrisDent/experimental/TiddlyWeb/tiddlyweb/serializers/wiki.py
r4129 r4957 68 68 host = '' 69 69 70 return """<div title="%s" modifier="%s" server.workspace="%s" server.type="tiddlyweb" server.host="%s" server.bag="%s" modified="%s" created="%s" tags="%s">70 return """<div title="%s" revision="%s" modifier="%s" server.workspace="%s" server.type="tiddlyweb" server.host="%s" server.bag="%s" modified="%s" created="%s" tags="%s"> 71 71 <pre>%s</pre> 72 72 </div> 73 """ % (tiddler.title, tiddler. modifier, recipe_name, \73 """ % (tiddler.title, tiddler.revision, tiddler.modifier, recipe_name, \ 74 74 host, tiddler.bag, tiddler.modified, tiddler.created, \ 75 75 tags_as(tiddler.tags), tiddler.text) Trunk/contributors/ChrisDent/experimental/TiddlyWeb/tiddlyweb/web/tiddler.py
r4132 r4957 8 8 from tiddlyweb import web 9 9 10 # XXX duplication with get_by_recipe, refactor 10 11 def _tiddler_from_path(environ): 11 12 bag_name = environ['wsgiorg.routing_args'][1]['bag_name'] 12 13 tiddler_name = environ['wsgiorg.routing_args'][1]['tiddler_name'] 13 tiddler_name = web.handle_extension(environ, tiddler_name) 14 revision = environ['wsgiorg.routing_args'][1].get('revision', None) 15 if revision: 16 revision = web.handle_extension(environ, revision) 17 else: 18 tiddler_name = web.handle_extension(environ, tiddler_name) 14 19 15 20 tiddler = Tiddler(tiddler_name) 21 if revision: 22 try: 23 tiddler.revision = int(revision) 24 except ValueError, e: 25 raise HTTP404, '%s not a revision of %s: %s' % (revision, tiddler_name, e) 16 26 tiddler.bag = bag_name 17 27 … … 21 31 tiddler_name = environ['wsgiorg.routing_args'][1]['tiddler_name'] 22 32 recipe_name = environ['wsgiorg.routing_args'][1]['recipe_name'] 23 tiddler_name = web.handle_extension(environ, tiddler_name) 33 revision = environ['wsgiorg.routing_args'][1].get('revision', None) 34 if revision: 35 revision = web.handle_extension(environ, revision) 36 else: 37 tiddler_name = web.handle_extension(environ, tiddler_name) 24 38 25 39 tiddler = Tiddler(tiddler_name) 40 if revision: 41 try: 42 tiddler.revision = int(revision) 43 except ValueError, e: 44 raise HTTP404, '%s not a revision of %s: %s' % (revision, tiddler_name, e) 45 26 46 recipe = Recipe(recipe_name) 27 47 store = environ['tiddlyweb.store'] Trunk/contributors/ChrisDent/experimental/TiddlyWeb/urls.map
r4132 r4957 53 53 # application/json: a JSON dict representing the tiddler 54 54 # text/x-tiddlywiki: this tiddler wrapped up as a TiddlyWiki 55 # Does not yet support PUT56 55 /recipes/{recipe_name:segment}/tiddlers/{tiddler_name:segment} 57 56 GET tiddlyweb.web.tiddler:get_by_recipe 58 57 PUT tiddlyweb.web.tiddler:put_by_recipe 58 59 /recipes/{recipe_name:segment}/tiddlers/{tiddler_name:segment}/revisions/{revision:segment} 60 GET tiddlyweb.web.tiddler:get_by_recipe 59 61 60 62 # list of bags … … 106 108 PUT tiddlyweb.web.tiddler:put 107 109 110 /bags/{bag_name:segment}/tiddlers/{tiddler_name:segment}/revisions/{revision:segment} 111 GET tiddlyweb.web.tiddler:get 112