equal
deleted
inserted
replaced
|
1 import datetime |
|
2 |
1 from django.db import models |
3 from django.db import models |
2 from django.core.urlresolvers import reverse |
4 from django.core.urlresolvers import reverse |
3 import django.utils.http |
5 import django.utils.http |
4 from django.contrib.sites.models import get_current_site |
6 from django.contrib.sites.models import get_current_site |
5 from django.utils import timezone |
7 from django.utils import timezone |
6 |
8 |
7 QRCODE_API = 'https://chart.googleapis.com/chart?cht=qr&chs={width}x{height}&chl={url}&chld=H' |
9 QRCODE_API = 'https://chart.googleapis.com/chart?cht=qr&chs={width}x{height}&chl={url}&chld=H' |
8 |
10 |
9 class URL(models.Model): |
11 class URL(models.Model): |
10 shorturl = models.SlugField(unique=True) |
12 shorturl = models.SlugField(unique=True) |
|
13 publishing_schedule = models.TimeField(default=datetime.time(), |
|
14 help_text="Default time to publish new URLItems") |
11 |
15 |
12 class Meta: |
16 class Meta: |
13 verbose_name = u"URL Feed" |
17 verbose_name = u"URL Feed" |
14 verbose_name_plural = u"URL Feeds" |
18 verbose_name_plural = u"URL Feeds" |
15 |
19 |
36 try : |
40 try : |
37 return URLItem.objects.filter(shorturl=self, published__lt=now).order_by('-published')[0] |
41 return URLItem.objects.filter(shorturl=self, published__lt=now).order_by('-published')[0] |
38 except IndexError : |
42 except IndexError : |
39 return None |
43 return None |
40 |
44 |
41 def upcoming_item(self, now=None) : |
45 def upcoming_item (self, now=None) : |
42 """Following published URLItem.""" |
46 """Following published URLItem.""" |
43 if now is None : |
47 if now is None : |
44 now = timezone.now() |
48 now = timezone.now() |
45 |
49 |
46 try : |
50 try : |
47 return URLItem.objects.filter(shorturl=self, published__gt=now).order_by('published')[0] |
51 return URLItem.objects.filter(shorturl=self, published__gt=now).order_by('published')[0] |
|
52 except IndexError : |
|
53 return None |
|
54 |
|
55 def last_item (self) : |
|
56 """The last URLItem available.""" |
|
57 |
|
58 try : |
|
59 return URLItem.objects.filter(shorturl=self).order_by('-published')[0] |
48 except IndexError : |
60 except IndexError : |
49 return None |
61 return None |
50 |
62 |
51 def __unicode__ (self) : |
63 def __unicode__ (self) : |
52 return self.shorturl |
64 return self.shorturl |