Add-on:Common plugin cache
| Common plugin cache | ||||||||||
| ||||||||||
Installing
This add-on is installed from the Add-on browser located in Kodi as follows:
Developers
Setup
To use the cacheing service add the following to your py file.
try: import StorageServer except: import storageserverdummy as StorageServer cache = StorageServer.StorageServer() cache.table_name = "PluginName" # Name of your plugni.
You can now access the caching service through the "cache" variable.
cacheFunction(self, funct = False, *args)
Caching function results for one hour.
The function being cached must return a tupple ( function_return, status), a status of 200 means the result is ok and should be cached. Any other value and the function result will be returned, but not cached.
def pi_count(self):
def arccot(x, unity):
sum = xpower = unity // x
n = 3
sign = -1
while 1:
xpower = xpower // (x*x)
term = xpower // n
if not term:
break
sum += sign * term
sign = -sign
n += 2
return sum
digits = 40
unity = 10**(digits + 10)
pi = 4 * (4*arccot(5, unity) - arccot(239, unity))
return (pi // 10**10, 200)
result = cache.cacheFunction(pi_count) # This will call the pi_count function, save the result in the cache, and return the result.
time.sleep(300)
result = cache.cacheFunction(pi_count) # This will return the cached result
time.sleep(3600)
result = cache.cacheFunction(pi_count) # This will again call pi_count since the result is now considered stale.