def handle_noargs(self, **options):
        if site_too_old():
            return

        from localtv.tasks import update_sources, CELERY_USING

        update_sources.delay(using=CELERY_USING)
    def handle_noargs(self, **options):
        if site_too_old():
            return

        from localtv.tasks import update_sources

        update_sources.delay()
Esempio n. 3
0
    def handle_noargs(self, **options):
        if site_too_old():
            return

        from localtv import tasks

        tasks.update_sources.delay(using=tasks.CELERY_USING)
Esempio n. 4
0
    def handle_noargs(self, **options):
        if site_too_old():
            return

        from localtv.tasks import update_sources, CELERY_USING
        
        update_sources.delay(using=CELERY_USING)
 def handle_noargs(self, **options):
     if site_too_old():
         return
     for saved_search in models.SavedSearch.objects.all():
         try:
             saved_search.update_items()
         except:
             traceback.print_exc()
Esempio n. 6
0
 def handle_noargs(self, **options):
     if site_too_old():
         return
     for saved_search in models.SavedSearch.objects.all():
         try:
             saved_search.update_items()
         except:
             traceback.print_exc()
Esempio n. 7
0
    def handle_noargs(self, **options):
        if site_too_old():
            return

        from localtv import tasks
        
        tasks.update_sources.delay(
            using=tasks.CELERY_USING)
Esempio n. 8
0
 def handle_noargs(self, **options):
     if site_too_old():
         return
     for feed in models.Feed.objects.filter(
         status=models.FEED_STATUS_ACTIVE):
         try:
             feed.update_items()
         except:
             traceback.print_exc()
 def handle_noargs(self, **options):
     if site_too_old():
         return
     for original in OriginalVideo.objects.exclude(
         video__status=Video.REJECTED):
         try:
             original.update()
         except vidscraper.errors.CantIdentifyUrl:
             pass # It is okay if we cannot update a remote video. No need to be noisy.
         except Exception:
             traceback.print_exc()
Esempio n. 10
0
 def handle_noargs(self, **options):
     if site_too_old():
         return
     for original in OriginalVideo.objects.exclude(
             video__status=Video.REJECTED):
         try:
             original.update()
         except vidscraper.errors.CantIdentifyUrl, e:
             pass  # It is okay if we cannot update a remote video. No need to be noisy.
         except Exception:
             traceback.print_exc()
Esempio n. 11
0
    def handle(self, **options):
        if site_too_old():
            return

        since = options['since']
        from localtv.tasks import haystack_batch_update

        haystack_batch_update.delay(Video._meta.app_label,
                                    Video._meta.module_name,
                                    start=datetime.now() - timedelta(since),
                                    date_lookup='watch__timestamp')
Esempio n. 12
0
 def handle_noargs(self, **options):
     if site_too_old():
         return
     for v in models.Video.objects.filter(when_published__isnull=True):
         try:
             d = vidscraper.auto_scrape(v.website_url, fields=["publish_date"])
         except:
             pass
         else:
             if d:
                 v.when_published = d["publish_date"]
                 v.save()
Esempio n. 13
0
 def handle_noargs(self, verbosity=0, **options):
     if site_too_old():
         return
     for v in models.Video.objects.exclude(thumbnail_url=''):
         if (not v.thumbnail or
             not default_storage.exists(v.thumbnail.name)):
             if verbosity >= 1:
                 print >> sys.stderr, 'saving', repr(v), '(%i)' % v.pk
             try:
                 # resave the thumbnail
                 video_save_thumbnail.apply(args=(v.pk,))
             except Exception:
                 traceback.print_exc()
Esempio n. 14
0
 def handle_noargs(self, **options):
     if site_too_old():
         return
     for v in models.Video.objects.filter(when_published__isnull=True):
         try:
             d = vidscraper.auto_scrape(v.website_url,
                                        fields=['publish_date'])
         except:
             pass
         else:
             if d:
                 v.when_published = d['publish_date']
                 v.save()
 def handle_noargs(self, **options):
     if site_too_old():
         return
     for v in models.Video.objects.filter(when_published__isnull=True):
         try:
             video = vidscraper.auto_scrape(v.website_url, fields=[
                     'publish_datetime'], api_keys=API_KEYS)
         except:
             pass
         else:
             if video:
                 v.when_published = video.publish_datetime
                 v.save()
 def handle_noargs(self, **options):
     if site_too_old():
         return
     for v in models.Video.objects.filter(when_published__isnull=True):
         try:
             video = vidscraper.auto_scrape(v.website_url,
                                            fields=['publish_datetime'],
                                            api_keys=API_KEYS)
         except:
             pass
         else:
             if video:
                 v.when_published = video.publish_datetime
                 v.save()
Esempio n. 17
0
 def handle_noargs(self, verbosity=0, **options):
     if site_too_old():
         return
     has_thumbnail = Q(has_thumbnail=True)
     has_thumbnail_url = ~Q(thumbnail_url="")
     for v in models.Video.objects.filter(has_thumbnail | has_thumbnail_url):
         path = v.get_original_thumb_storage_path()
         if not default_storage.exists(path):
             if verbosity >= 1:
                 print "saving", v, "(%i)" % v.pk
             try:
                 # resave the thumbnail
                 v.save_thumbnail()
             except Exception:
                 traceback.print_exc()
Esempio n. 18
0
 def handle_noargs(self, verbosity=0, **options):
     if site_too_old():
         return
     has_thumbnail = Q(has_thumbnail=True)
     has_thumbnail_url = ~Q(thumbnail_url='')
     for v in models.Video.objects.filter(has_thumbnail
                                          | has_thumbnail_url):
         path = v.get_original_thumb_storage_path()
         if not default_storage.exists(path):
             if verbosity >= 1:
                 print 'saving', v, '(%i)' % v.pk
             try:
                 # resave the thumbnail
                 v.save_thumbnail()
             except Exception:
                 traceback.print_exc()
Esempio n. 19
0
    def handle_noargs(self, **options):
        if site_too_old():
            return
        for v in models.Video.objects.filter(when_published__isnull=True):
            try:
                d = vidscraper.auto_scrape(v.website_url,
                                           fields=['publish_date'])
            except:
                pass
            else:
                if d:
                    v.when_published = d['publish_date']
                    v.save()

        # Finally, at the end, if stamps are enabled, update them.
        if models.ENABLE_CHANGE_STAMPS:
            models.create_or_delete_video_needs_published_date_stamp()
Esempio n. 20
0
    def handle_noargs(self, **options):
        if site_too_old():
            return

        # all feeds submitted more than an hour ago should be shown
        hour = datetime.timedelta(hours=1)
        models.Feed.objects.filter(
            when_submitted__lte=datetime.datetime.now() - hour,
            status=models.FEED_STATUS_UNAPPROVED).update(
                status=models.FEED_STATUS_ACTIVE)

        for feed in models.Feed.objects.filter(
                status=models.FEED_STATUS_ACTIVE):
            try:
                feed.update_items()
            except:
                traceback.print_exc()
    def handle_noargs(self, **options):
        if site_too_old():
            return
        for v in models.Video.objects.filter(when_published__isnull=True):
            try:
                video = vidscraper.auto_scrape(v.website_url, fields=[
                        'publish_datetime'], api_keys=API_KEYS)
            except:
                pass
            else:
                if video:
                    v.when_published = video.publish_datetime
                    v.save()

        # Finally, at the end, if stamps are enabled, update them.
        if ENABLE_CHANGE_STAMPS:
            models.create_or_delete_video_needs_published_date_stamp()
Esempio n. 22
0
    def handle_noargs(self, **options):
        if site_too_old():
            return

        # all feeds submitted more than an hour ago should be shown
        hour = datetime.timedelta(hours=1)
        models.Feed.objects.filter(
            when_submitted__lte=datetime.datetime.now()-hour,
            status=models.FEED_STATUS_UNAPPROVED).update(
            status=models.FEED_STATUS_ACTIVE)

        for feed in models.Feed.objects.filter(
            status=models.FEED_STATUS_ACTIVE):
            try:
                feed.update_items()
            except:
                traceback.print_exc()
Esempio n. 23
0
    def handle_noargs(self, **options):
        if site_too_old():
            return

        # all feeds submitted more than an hour ago should be shown
        hour = datetime.timedelta(hours=1)
        models.Feed.objects.filter(
            when_submitted__lte=datetime.datetime.now()-hour,
            status=models.FEED_STATUS_UNAPPROVED).update(
            status=models.FEED_STATUS_ACTIVE)

        green_pile = eventlet.GreenPile()
        for feed in models.Feed.objects.filter(
            status=models.FEED_STATUS_ACTIVE):
            for url in feed._get_feed_urls():
                green_pile.spawn(fetch_feed, feed)
        for feed, etag, data in green_pile:
            if feed:
                feed_update_items(feed, etag, data)
Esempio n. 24
0
    def handle_noargs(self, **options):
        if site_too_old():
            return

        # all feeds submitted more than an hour ago should be shown
        hour = datetime.timedelta(hours=1)
        models.Feed.objects.filter(
            when_submitted__lte=datetime.datetime.now() - hour,
            status=models.FEED_STATUS_UNAPPROVED).update(
                status=models.FEED_STATUS_ACTIVE)

        green_pile = eventlet.GreenPile()
        for feed in models.Feed.objects.filter(
                status=models.FEED_STATUS_ACTIVE):
            for url in feed._get_feed_urls():
                green_pile.spawn(fetch_feed, feed)
        for feed, etag, data in green_pile:
            if feed:
                feed_update_items(feed, etag, data)
    def handle_noargs(self, **options):
        if site_too_old():
            return
        newsletter = models.NewsletterSettings.objects.get_current()
        if not newsletter.repeat:
            return
        if not newsletter.site_settings.get_tier().permit_newsletter():
            return

        now = datetime.datetime.now()
        if now > newsletter.next_send_time():
            logging.warning('Sending newsletter for %s',
                            newsletter.site_settings.site.domain)
            newsletter.send()
            # we increment by the repeat so that last_sent maintains the
            # weekday and hour that the user has assigned
            repeat = datetime.timedelta(hours=newsletter.repeat)
            while newsletter.next_send_time() < now:
                newsletter.last_sent += repeat
            newsletter.save()
            logging.warning('Next send scheduled for %s',
                            newsletter.next_send_time())
    def handle_noargs(self, **options):
        if site_too_old():
            return
        newsletter = models.NewsletterSettings.objects.get_current()
        if not newsletter.repeat:
            return
        if not newsletter.site_settings.get_tier().permit_newsletter():
            return

        now = datetime.datetime.now()
        if now > newsletter.next_send_time():
            logging.warning('Sending newsletter for %s',
                            newsletter.site_settings.site.domain)
            newsletter.send()
            # we increment by the repeat so that last_sent maintains the
            # weekday and hour that the user has assigned
            repeat = datetime.timedelta(hours=newsletter.repeat)
            while newsletter.next_send_time() < now:
                newsletter.last_sent += repeat
            newsletter.save()
            logging.warning('Next send scheduled for %s',
                            newsletter.next_send_time())