Пример #1
0
def recycle_visits(dry_run=False, verbose=False):
    since = (
        datetime.datetime.utcnow().replace(tzinfo=utc) -
        datetime.timedelta(hours=settings.RECYCLE_MINIMUM_HOURS)
    )

    if verbose:
        print "SINCE", repr(since)

    count = 0
    for visitor in Visitor.objects.filter(created__lt=since):
        if verbose:
            print "DELETE", repr(visitor.get_name())

        VisitorCount.create_from_visitor(visitor)
        if visitor.picture:
            if verbose:
                if os.path.isfile(visitor.picture.path):
                    print "DELETING", visitor.picture.path
            visitor.picture.delete()
        visitor.delete()
        count += 1

    if verbose:
        print "\nIN SUMMARY".ljust(70, '=')
        print count, "visitor records deleted"
        print "\n"

    default.kvstore.cleanup()
Пример #2
0
    def handle(self, dry_run=False, **options):
        verbosity = int(options['verbosity'])
        verbose = verbosity > 1
        since = (
            datetime.datetime.utcnow().replace(tzinfo=utc) -
            datetime.timedelta(hours=settings.RECYCLE_MINIMUM_HOURS)
        )

        if verbose:
            print "SINCE", repr(since)

        # start transaction
        transaction.enter_transaction_management()
        transaction.managed(True)

        count = 0
        for visitor in Visitor.objects.filter(created__lt=since):
            if verbose:
                print "DELETE", repr(visitor.get_name())

            VisitorCount.create_from_visitor(visitor)
            if visitor.picture:
                if verbose:
                    if os.path.isfile(visitor.picture.path):
                        print "DELETING", visitor.picture.path
                visitor.picture.delete()
            visitor.delete()
            count += 1

        if verbose:
            print "\nIN SUMMARY".ljust(70, '=')
            print count, "visitor records deleted"
            print "\n"
        if dry_run:
            transaction.rollback()
        else:
            transaction.commit()

        transaction.leave_transaction_management()

        default.kvstore.cleanup()