Update TMDB api

This commit is contained in:
Ruud
2014-02-16 10:48:48 +01:00
parent f22778aacb
commit a1c0b000a4
12 changed files with 797 additions and 450 deletions
+21 -9
View File
@@ -10,35 +10,46 @@
import time
from weakref import ref
class Engines( object ):
class Engines(object):
"""
Static collector for engines to register against.
"""
def __init__(self):
self._engines = {}
def register(self, engine):
self._engines[engine.__name__] = engine
self._engines[engine.name] = engine
def __getitem__(self, key):
return self._engines[key]
def __contains__(self, key):
return self._engines.__contains__(key)
Engines = Engines()
class CacheEngineType( type ):
class CacheEngineType(type):
"""
Cache Engine Metaclass that registers new engines against the cache
for named selection and use.
"""
def __init__(mcs, name, bases, attrs):
super(CacheEngineType, mcs).__init__(name, bases, attrs)
def __init__(cls, name, bases, attrs):
super(CacheEngineType, cls).__init__(name, bases, attrs)
if name != 'CacheEngine':
# skip base class
Engines.register(mcs)
Engines.register(cls)
class CacheEngine( object ):
class CacheEngine(object):
__metaclass__ = CacheEngineType
name = 'unspecified'
def __init__(self, parent):
self.parent = ref(parent)
def configure(self):
raise RuntimeError
def get(self, date):
@@ -48,7 +59,8 @@ class CacheEngine( object ):
def expire(self, key):
raise RuntimeError
class CacheObject( object ):
class CacheObject(object):
"""
Cache object class, containing one stored record.
"""
@@ -64,7 +76,7 @@ class CacheObject( object ):
@property
def expired(self):
return (self.remaining == 0)
return self.remaining == 0
@property
def remaining(self):