Mercurial > code > home > repos > href
comparison lookup.py @ 4:409da49c148d
partway though add
Ignore-this: 330d1f3393bb91ca56267d2138e3bb22
author | drewp@bigasterisk.com |
---|---|
date | Sun, 17 Feb 2013 21:12:53 -0800 |
parents | 80b11112c9e0 |
children | f8c4c7ce5f4a |
comparison
equal
deleted
inserted
replaced
3:656583326f40 | 4:409da49c148d |
---|---|
4 | 4 |
5 /user | 5 /user |
6 /user/tag+tag+tag | 6 /user/tag+tag+tag |
7 | 7 |
8 """ | 8 """ |
9 import pymongo, bottle, time, urllib | 9 import pymongo, bottle, time, urllib, datetime |
10 from urllib2 import urlparse | 10 from urllib2 import urlparse |
11 from dateutil.tz import tzlocal | 11 from dateutil.tz import tzlocal |
12 from bottle import static_file | 12 from bottle import static_file |
13 from jadestache import Renderer | 13 from jadestache import Renderer |
14 db = pymongo.Connection('bang', tz_aware=True)['href'] | 14 db = pymongo.Connection('bang', tz_aware=True)['href'] |
40 out['stats'] = {'queryTimeMs' : round((time.time() - t1) * 1000, 2)} | 40 out['stats'] = {'queryTimeMs' : round((time.time() - t1) * 1000, 2)} |
41 return out | 41 return out |
42 | 42 |
43 def renderWithTime(name, data): | 43 def renderWithTime(name, data): |
44 t1 = time.time() | 44 t1 = time.time() |
45 rendered = renderer.render_name("links.jade", data) | 45 rendered = renderer.render_name(name, data) |
46 dt = (time.time() - t1) * 1000 | 46 dt = (time.time() - t1) * 1000 |
47 rendered = rendered.replace('TEMPLATETIME', "%.02f ms" % dt) | 47 rendered = rendered.replace('TEMPLATETIME', "%.02f ms" % dt) |
48 return rendered | 48 return rendered |
49 | |
50 def getUser(): | |
51 return 'drewpca' # logged in user | |
52 | |
53 @bottle.route('/addLink') | |
54 def addLink(): | |
55 out = {'toRoot': '.'} | |
56 out['user'] = getUser() | |
57 out['withKnockout'] = True | |
58 return renderWithTime('add.jade', out) | |
59 | |
60 @bottle.route('/addOverlay') | |
61 def addOverlay(): | |
62 p = bottle.request.params | |
63 | |
64 return "" | |
65 | |
66 | |
67 proposal check existing links, get page title (stuff that in db), get tags from us and other serviecs. maybe the deferred ones ater | |
68 | |
49 | 69 |
50 @bottle.route('/<user>/') | 70 @bottle.route('/<user>/') |
51 def userSlash(user): | 71 def userSlash(user): |
52 bottle.redirect("/%s" % urllib.quote(user)) | 72 bottle.redirect("/%s" % urllib.quote(user)) |
53 | 73 |
54 @bottle.route('/<user>') | 74 @bottle.route('/<user>', method='GET') |
55 def userAll(user): | 75 def userAll(user): |
56 data = recentTags(user, tags=None) | 76 data = recentTags(user, tags=None) |
57 | 77 |
58 data['desc'] = "%s's recent links" % user | 78 data['desc'] = "%s's recent links" % user |
59 data['toRoot'] = "." | 79 data['toRoot'] = "." |
60 data['stats']['template'] = 'TEMPLATETIME' | 80 data['stats']['template'] = 'TEMPLATETIME' |
61 return renderWithTime('links.jade', data) | 81 return renderWithTime('links.jade', data) |
82 | |
83 @bottle.route('/<user>', method='POST') | |
84 def userAddLink(user): | |
85 p = bottle.request.params | |
86 doc = dict( | |
87 user=user, | |
88 description=p.description, | |
89 extended=p.extended, | |
90 href=p.href, | |
91 #private=p.private, == checked, | |
92 #shared ?? | |
93 tag=p.tag, | |
94 t=datetime.datetime.now(tzlocal()), | |
95 ) | |
96 db['links'].insert(doc, safe=True) | |
97 | |
98 bottle.redirect(user) | |
62 | 99 |
63 @bottle.route('/<user>/<tags>') | 100 @bottle.route('/<user>/<tags>') |
64 def userLinks(user, tags): | 101 def userLinks(user, tags): |
65 tags = tags.split('+') | 102 tags = tags.split('+') |
66 data = recentTags(user, tags) | 103 data = recentTags(user, tags) |