1
0
mirror of https://github.com/scrapy/scrapy.git synced 2025-02-28 06:04:15 +00:00
Daniel Grana 40c9d60db4 big move move
--HG--
rename : sites/scrapy.org/scrapyorg/apps/article/__init__.py => sites/scrapy.org/scrapyorg/article/__init__.py
rename : sites/scrapy.org/scrapyorg/apps/article/models.py => sites/scrapy.org/scrapyorg/article/models.py
rename : sites/scrapy.org/scrapyorg/apps/article/templatetags/__init__.py => sites/scrapy.org/scrapyorg/article/templatetags/__init__.py
rename : sites/scrapy.org/scrapyorg/apps/article/templatetags/article_tags.py => sites/scrapy.org/scrapyorg/article/templatetags/article_tags.py
rename : sites/scrapy.org/scrapyorg/apps/article/urls.py => sites/scrapy.org/scrapyorg/article/urls.py
rename : sites/scrapy.org/scrapyorg/apps/article/views.py => sites/scrapy.org/scrapyorg/article/views.py
rename : sites/scrapy.org/scrapyorg/apps/blog/__init__.py => sites/scrapy.org/scrapyorg/blog/__init__.py
rename : sites/scrapy.org/scrapyorg/apps/blog/feeds.py => sites/scrapy.org/scrapyorg/blog/feeds.py
rename : sites/scrapy.org/scrapyorg/apps/blog/models.py => sites/scrapy.org/scrapyorg/blog/models.py
rename : sites/scrapy.org/scrapyorg/apps/blog/templatetags/__init__.py => sites/scrapy.org/scrapyorg/blog/templatetags/__init__.py
rename : sites/scrapy.org/scrapyorg/apps/blog/templatetags/lastblogentry.py => sites/scrapy.org/scrapyorg/blog/templatetags/lastblogentry.py
rename : sites/scrapy.org/scrapyorg/apps/blog/urls.py => sites/scrapy.org/scrapyorg/blog/urls.py
rename : sites/scrapy.org/scrapyorg/apps/download/__init__.py => sites/scrapy.org/scrapyorg/download/__init__.py
rename : sites/scrapy.org/scrapyorg/apps/download/models.py => sites/scrapy.org/scrapyorg/download/models.py
rename : sites/scrapy.org/scrapyorg/apps/download/templatetags/__init__.py => sites/scrapy.org/scrapyorg/download/templatetags/__init__.py
rename : sites/scrapy.org/scrapyorg/apps/download/templatetags/download_tags.py => sites/scrapy.org/scrapyorg/download/templatetags/download_tags.py
rename : sites/scrapy.org/scrapyorg/apps/download/urls.py => sites/scrapy.org/scrapyorg/download/urls.py
rename : sites/scrapy.org/scrapyorg/apps/download/views.py => sites/scrapy.org/scrapyorg/download/views.py
rename : sites/scrapy.org/scrapyorg/apps/link/__init__.py => sites/scrapy.org/scrapyorg/link/__init__.py
rename : sites/scrapy.org/scrapyorg/apps/link/models.py => sites/scrapy.org/scrapyorg/link/models.py
rename : sites/scrapy.org/scrapyorg/apps/link/templatetags/__init__.py => sites/scrapy.org/scrapyorg/link/templatetags/__init__.py
rename : sites/scrapy.org/scrapyorg/apps/link/templatetags/link_tags.py => sites/scrapy.org/scrapyorg/link/templatetags/link_tags.py
rename : sites/scrapy.org/scrapyorg/apps/link/urls.py => sites/scrapy.org/scrapyorg/link/urls.py
rename : sites/scrapy.org/scrapyorg/apps/link/views.py => sites/scrapy.org/scrapyorg/link/views.py
rename : sites/scrapy.org/scrapyorg/static/images/box-borders-bottom.gif => sites/scrapy.org/static/images/box-borders-bottom.gif
rename : sites/scrapy.org/scrapyorg/static/images/box-borders-bottom.png => sites/scrapy.org/static/images/box-borders-bottom.png
rename : sites/scrapy.org/scrapyorg/static/images/box-borders-top.png => sites/scrapy.org/static/images/box-borders-top.png
rename : sites/scrapy.org/scrapyorg/static/images/footer-bg.jpg => sites/scrapy.org/static/images/footer-bg.jpg
rename : sites/scrapy.org/scrapyorg/static/images/icon-arrow.gif => sites/scrapy.org/static/images/icon-arrow.gif
rename : sites/scrapy.org/scrapyorg/static/images/icon-author.gif => sites/scrapy.org/static/images/icon-author.gif
rename : sites/scrapy.org/scrapyorg/static/images/logo.jpg => sites/scrapy.org/static/images/logo.jpg
rename : sites/scrapy.org/scrapyorg/static/images/main-bg.jpg => sites/scrapy.org/static/images/main-bg.jpg
rename : sites/scrapy.org/scrapyorg/static/style/style.css => sites/scrapy.org/static/style/style.css
rename : sites/scrapy.org/scrapyorg/templates/base.html => sites/scrapy.org/templates/base.html
rename : sites/scrapy.org/scrapyorg/templates/base_home.html => sites/scrapy.org/templates/base_home.html
rename : sites/scrapy.org/scrapyorg/templates/base_weblog.html => sites/scrapy.org/templates/base_weblog.html
rename : sites/scrapy.org/scrapyorg/templates/blog/entry_archive.html => sites/scrapy.org/templates/blog/entry_archive.html
rename : sites/scrapy.org/scrapyorg/templates/blog/entry_archive_day.html => sites/scrapy.org/templates/blog/entry_archive_day.html
rename : sites/scrapy.org/scrapyorg/templates/blog/entry_archive_month.html => sites/scrapy.org/templates/blog/entry_archive_month.html
rename : sites/scrapy.org/scrapyorg/templates/blog/entry_archive_year.html => sites/scrapy.org/templates/blog/entry_archive_year.html
rename : sites/scrapy.org/scrapyorg/templates/blog/entry_detail.html => sites/scrapy.org/templates/blog/entry_detail.html
rename : sites/scrapy.org/scrapyorg/templates/home.html => sites/scrapy.org/templates/home.html
extra : convert_revision : svn%3Ab85faa78-f9eb-468e-a121-7cced6da292c%4017
2008-06-27 17:32:27 +00:00

49 lines
1.7 KiB
Python

from datetime import datetime
from django.db import models
from django.utils.translation import ugettext_lazy as _
class DownloadLink(models.Model):
description = models.CharField(_("description"), max_length=512,
blank=True, default='')
address = models.CharField(_("address"), max_length=1024, blank=False)
text = models.CharField(_("link text"), max_length=512, blank=False,
default=_("download"))
public = models.BooleanField(_("public"), core=True, blank=False,
default=True)
# automatic dates
created = models.DateTimeField(_("created"), core=True, editable=False)
updated = models.DateTimeField(_("updated"), core=True, editable=False)
def toggle_public(self):
self.public = not self.public
self.save()
def save(self):
if not self.id:
self.created = datetime.now()
self.updated = datetime.now()
super(DownloadLink, self).save()
def __unicode__(self):
return self.address
# ugly, but django-admin isn't very versatile right now
def public_link(self):
return _("%(status)s (<a href='/download/%(id)s/public/toggle/'>toggle</a>)") % \
{ 'status': self.public and _("Yes") or _("No"),
'id': self.id }
public_link.short_description = u"public"
public_link.allow_tags = True
class Admin:
list_display = ("text", "address", "public_link", "created")
list_filter = ("public", "created")
class Meta:
verbose_name = _("download link")
verbose_name_plural = _("download links")
ordering = ["-created",]