def execute(self, *args, **options):
        if len(args) == 0:
            raise CommandError('Please, specify filename with bookmarks!')

        filename = args[0]
        limit = options.get('limit', None)
        replace = options.get('replace', False)

        soup = BeautifulSoup(open(filename))
        links = soup.findAll('a', attrs = dict(tags=lambda tag: tag))

        if replace:
            Link.objects.all().delete()
            ctype = model_to_ctype(Link)
            TaggedItem.objects.filter(content_type=ctype).delete()

        if limit is not None:
            links = (link for link in links[:limit])
        else:
            links = links

        for link in links:
            url = link['href']
            tags = link['tags']
            try:
                Link(url = url, tags = tags).save()
            except Exception:
                logging.exception("can't add link %r with tags %r" % (url, tags))
Beispiel #2
0
from django.utils.translation import ugettext_lazy as _
from django.conf.urls.defaults import *
from django.contrib import admin
from django.conf import settings

from django_antichaos.utils import model_to_ctype
from antichaos_example.models import Link

admin.autodiscover()

urlpatterns = patterns(
    "",
    (r"^$", "django.views.generic.simple.redirect_to", {"url": "/antichaos/cloud/%d/" % model_to_ctype(Link).id}),
    (r"^admin/", include(admin.site.urls)),
    (r"^antichaos/", include("django_antichaos.urls")),
    (r"^media/(?P<path>.*)$", "django.views.static.serve", {"document_root": settings.MEDIA_ROOT}),
)