예제 #1
0
 def list(self):
     for key in self.key_set.smembers():
         obj = {}
         key_parts = key.split(':')
         obj['cls'], obj['method'] = key_parts[3], key_parts[4]
         obj['value'] = RedisKey(key).val
         yield obj
예제 #2
0
def update_subtitles_fetch_counter(video, sub_lang=None, date=None):
    if sub_lang:
        lang = sub_lang.language
    else:
        lang = None
    key = get_fetch_subtitles_key(video, lang, date)
    sub_fetch_keys_set.sadd(key)
    RedisKey(key).incr()
    sub_fetch_total_counter.incr()
예제 #3
0
# 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 Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see
# http://www.gnu.org/licenses/agpl-3.0.html.
from datetime import datetime
from utils.redis_utils import default_connection, RedisKey

SUBTITLES_FETCH_PREFIX = 'StSubFetch'

video_view_counter = RedisKey('StVideoView')
sub_fetch_total_counter = RedisKey('StSubFetchTotal')
widget_views_total_counter = RedisKey('StWidgetViewsTotal')
sub_fetch_keys_set = RedisKey('StSubFetchKeys')

changed_video_set = RedisKey('StChangedVideos')


def get_fetch_subtitles_key(video, lang=None, date=None):
    if not date:
        date = datetime.today()

    key = '%s:%s' % (SUBTITLES_FETCH_PREFIX, video.video_id)

    if lang:
        key += ':%s' % lang
예제 #4
0
    def _get_key(self, key):
        if not key in self.keys:
            self.keys[key] = RedisKey(
                '%s:%s:%s' % (self.site_name, self.prefix, key), self.conn)

        return self.keys[key]
예제 #5
0
 def __init__(self, connection, prefix, name):
     self.conn = connection
     self.prefix = prefix
     self.name = name
     self.id_key = RedisKey('%s:id' % self.prefix, self.conn)
     self.set_key = RedisKey('%s:set' % self.prefix, self.conn)
예제 #6
0
 def _create_total_key(self):
     return RedisKey('%s:total' % self.prefix, self.connection)
예제 #7
0
 def _create_set_key(self):
     return RedisKey('%s:set' % self.prefix, self.connection)