27 urls = URL.objects.all() |
27 urls = URL.objects.all() |
28 return render(request, 'qrurls/index.html', dict( |
28 return render(request, 'qrurls/index.html', dict( |
29 urls = urls, |
29 urls = urls, |
30 )) |
30 )) |
31 |
31 |
32 def shorturl (request, shorturl=None, shorturl_id=None) : |
32 def shorturl (request, shorturl=None) : |
33 """ |
33 """ |
34 Primary frontend for redirecting based on current time. |
34 Primary frontend for redirecting based on current time. |
35 """ |
35 """ |
36 |
36 |
37 key = 'qrurls/urlfeed/{shorturl}'.format(shorturl=(shorturl or shorturl_id)) # format as dict |
37 key = 'qrurls/urlfeed/{shorturl}'.format(shorturl=shorturl) # format as dict |
38 data = cache.get(key) |
38 data = cache.get(key) |
39 |
39 |
40 if data : |
40 if data : |
41 url, modified = data |
41 url, modified = data |
42 log.info("get cache: %s: %s", key, url) |
42 log.info("get cache: %s: %s", key, url) |
43 else: |
43 else: |
44 url_item = URLItem.search(shorturl=shorturl, shorturl_id=shorturl_id) |
44 url_item = URLItem.search(shorturl=shorturl) |
45 |
45 |
46 modified = url_item.last_modified() |
46 modified = url_item.last_modified() |
47 url = url_item.get_absolute_url() |
47 url = url_item.get_absolute_url() |
48 |
48 |
49 log.info("set cache: %s: %s", key, url) |
49 log.info("set cache: %s: %s", key, url) |