summaryrefslogtreecommitdiff
path: root/Caching.py
diff options
context:
space:
mode:
Diffstat (limited to 'Caching.py')
-rw-r--r--Caching.py41
1 files changed, 41 insertions, 0 deletions
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.')