Mercurial > hg > TagInTheMiddle
comparison taginthemiddle/handlers.py @ 2:1182315b18ac
add rudimentary code for handlers
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Tue, 04 May 2010 19:15:21 -0700 |
parents | 1c5cbbde4299 |
children | fc55d95be553 |
comparison
equal
deleted
inserted
replaced
1:837cfc05d4d9 | 2:1182315b18ac |
---|---|
68 class TagCloud(GenshiHandler): | 68 class TagCloud(GenshiHandler): |
69 template = 'cloud.html' | 69 template = 'cloud.html' |
70 methods = set(['GET']) | 70 methods = set(['GET']) |
71 | 71 |
72 @classmethod | 72 @classmethod |
73 def match( | 73 def match(cls, app, request): |
74 | |
75 # check the method | |
76 if request.method not in cls.methods: | |
77 return None | |
78 | |
79 # check the path | |
80 if request.path_info.endswith('/%s' % app.tags_url): | |
81 try: | |
82 return cls(app, request) | |
83 except HandlerMatchException: | |
84 return None | |
85 | |
74 | 86 |
75 class ViewTags(GenshiHandler): | 87 class ViewTags(GenshiHandler): |
76 # TODO: RSS | 88 # TODO: RSS |
77 template = 'tags.html' | 89 template = 'tags.html' |
78 methods = set(['GET']) | 90 methods = set(['GET']) |
79 | 91 |
92 def __init__(self, app, request): | |
93 GenshiHandler.__init__(self, app, request) | |
94 path = request.path_info.split('/') | |
95 try: | |
96 index = path.find(app.tags_url) | |
97 except ValueError: | |
98 raise HandlerMatchException | |
99 self.tags = path[index+1:] | |
100 if not self.tags: | |
101 raise HandlerMatchException | |
102 | |
103 @classmethod | |
80 def match(cls, app, request): | 104 def match(cls, app, request): |
81 pass | 105 # check the method |
82 | 106 if request.method not in cls.methods: |
107 return None | |
108 | |
109 try: | |
110 return cls(app, request) | |
111 except HandlerMatchException: | |
112 return None | |
113 | |
114 def Get(self): | |
115 if self.request.GET.get('format') == 'rss': | |
116 pass # TODO | |
117 return GenshiHandler.Get(self) | |
83 | 118 |
84 class PostTags(Handler): | 119 class PostTags(Handler): |
85 methods = set(['POST']) | 120 methods = set(['POST']) |
86 | 121 |
87 @classmethod | 122 @classmethod |