示例#1
0
class StashBackend(Backend):
    def __init__(self, archive, algorithm='lru:///', serializer='none:///'):
        self.stash = Stash(archive, algorithm, serializer, key_transform=(self.key_encode, self.key_decode))

    @property
    def archive(self):
        return self.stash.archive

    @property
    def cache(self):
        return self.stash.cache

    def delete(self, keys):
        return self.stash.delete(keys)

    def flush(self):
        return self.stash.flush()

    def items(self):
        return self.stash.items()

    def iteritems(self):
        return self.stash.iteritems()

    def iterkeys(self):
        return self.stash.iterkeys()

    def itervalues(self):
        return self.stash.itervalues()

    def save(self):
        return self.stash.save()

    def __delitem__(self, key):
        return self.stash.__delitem__(key)

    def __getitem__(self, key):
        return self.stash.__getitem__(key)

    def __iter__(self):
        return self.stash.__iter__()

    def __len__(self):
        return self.stash.__len__()

    def __setitem__(self, key, value):
        return self.stash.__setitem__(key, value)

    def __getstate__(self):
        return {}

    def __setstate__(self, state):
        pass

    @staticmethod
    def key_encode(key):
        if type(key) is tuple:
            return '/'.join(key)

        return key

    @staticmethod
    def key_decode(key):
        key = str(key).split('/')

        if len(key) == 1:
            return key[0]

        return tuple(key)
示例#2
0
    # Calculate test statistics
    t_min = min(t_elapsed) * 1000
    t_max = max(t_elapsed) * 1000
    t_avg = (sum(t_elapsed) / len(t_elapsed)) * 1000

    print '] min: %2dms, max: %2dms, avg: %2dms' % (t_min, t_max, t_avg)


if __name__ == '__main__':
    repeat = int(raw_input('Repeat [10]: ') or 10)

    raw_input('[start (repeat: %r)]' % repeat)

    # Initialize library/matcher
    matcher = Matcher(matcher_cache, Plex.client)
    library = Library(matcher)

    # Fetch movies
    test(fetch_movies, repeat, library=library)

    print
    print "=========================================================="
    print

    # Fetch shows
    test(fetch_shows, repeat, library=library)

    # Flush caches
    matcher_cache.flush()
示例#3
0
    # Calculate test statistics
    t_min = min(t_elapsed) * 1000
    t_max = max(t_elapsed) * 1000
    t_avg = (sum(t_elapsed) / len(t_elapsed)) * 1000

    print '] min: %2dms, max: %2dms, avg: %2dms' % (t_min, t_max, t_avg)


if __name__ == '__main__':
    repeat = int(raw_input('Repeat [10]: ') or 10)

    raw_input('[start (repeat: %r)]' % repeat)

    # Initialize library/matcher
    matcher = Matcher(matcher_cache, Plex.client)
    library = Library(matcher)

    # Fetch movies
    test(fetch_movies, repeat, library=library)

    print
    print "=========================================================="
    print

    # Fetch shows
    test(fetch_shows, repeat, library=library)

    # Flush caches
    matcher_cache.flush()
示例#4
0
class StashBackend(Backend):
    def __init__(self, archive, algorithm='lru:///', serializer='none:///'):
        self.stash = Stash(archive,
                           algorithm,
                           serializer,
                           key_transform=(self.key_encode, self.key_decode))

    @property
    def archive(self):
        return self.stash.archive

    @property
    def cache(self):
        return self.stash.cache

    def delete(self, keys):
        return self.stash.delete(keys)

    def flush(self):
        return self.stash.flush()

    def items(self):
        return self.stash.items()

    def iteritems(self):
        return self.stash.iteritems()

    def iterkeys(self):
        return self.stash.iterkeys()

    def itervalues(self):
        return self.stash.itervalues()

    def save(self):
        return self.stash.save()

    def __delitem__(self, key):
        return self.stash.__delitem__(key)

    def __getitem__(self, key):
        return self.stash.__getitem__(key)

    def __iter__(self):
        return self.stash.__iter__()

    def __len__(self):
        return self.stash.__len__()

    def __setitem__(self, key, value):
        return self.stash.__setitem__(key, value)

    def __getstate__(self):
        return {}

    def __setstate__(self, state):
        pass

    @staticmethod
    def key_encode(key):
        if type(key) is tuple:
            return '/'.join(key)

        return key

    @staticmethod
    def key_decode(key):
        key = str(key).split('/')

        if len(key) == 1:
            return key[0]

        return tuple(key)