Toollabs/video2commons

View on GitHub
utils/cleanuptasks.py

Summary

Maintainability
A
35 mins
Test Coverage
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
#
# Copyright (C) 2015 Zhuyifei1999
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>
#

"""Remove expired tasks (title forgotten) from user task list."""

import os
import sys
from redis import Redis

sys.path.append(os.path.dirname(os.path.realpath(__file__)) +
                "/../video2commons")
from config import redis_pw, redis_host  # NOQA

redisconnection = Redis(host=redis_host, db=3, password=redis_pw)

for userkey in redisconnection.keys('tasks:*') + ['alltasks']:
    for taskid in redisconnection.lrange(userkey, 0, -1):
        if not redisconnection.exists('titles:' + taskid):
            redisconnection.lrem(userkey, 0, taskid)
            print("delete %s from %s" % (taskid, userkey))

for pattern in ['params:*', 'restarted:*']:  # 'tasklock:*'
    for key in redisconnection.keys(pattern):
        taskid = key.split(':')[1]
        if not redisconnection.exists('titles:' + taskid):
            redisconnection.delete(key)
            print("delete %s" % (key))