From 1585395e7e530665c565b88fea15cbea68d3a88d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Gl=C3=BCpker?= Date: Sun, 1 Oct 2017 14:50:19 +0200 Subject: Initial public release --- Caching.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Caching.py (limited to 'Caching.py') diff --git a/Caching.py b/Caching.py new file mode 100644 index 0000000..a048af2 --- /dev/null +++ b/Caching.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 + +import os +import time +THIS_DIR = os.path.dirname(os.path.abspath(__file__)) +CACHE_DIR = os.path.join(THIS_DIR, 'cache') + +class Caching(): + + def readCache(profile, steamid, timetolife): + filepath = os.path.join(CACHE_DIR, profile) + filename = str(steamid)+'.tmp' + complete = os.path.join(filepath, filename) + try: + fileinfo = os.stat(complete) + except FileNotFoundError: + return False + if fileinfo.st_mtime < (time.time() - timetolife): + return False + + with open(complete, 'rt') as cachefile: + content = cachefile.read() + + return content + + def writeCache(profile, steamid, content): + filepath = os.path.join(CACHE_DIR, profile) + filename = str(steamid)+'.tmp' + complete = os.path.join(filepath, filename) + try: + os.makedirs(filepath, exist_ok=True) + with open(complete, 'wt') as cachefile: + cachefile.write(content) + except: + print('Could not create cache file/dir.') + return False + return True + +if __name__ == "__main__": + # TODO(andre): Maybe run tests here? + print('This is a module.') -- cgit v1.2.3