diff options
Diffstat (limited to 'expo/fileAbstraction.py')
-rw-r--r-- | expo/fileAbstraction.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/expo/fileAbstraction.py b/expo/fileAbstraction.py new file mode 100644 index 0000000..deb1a4a --- /dev/null +++ b/expo/fileAbstraction.py @@ -0,0 +1,25 @@ +import troggle.settings as settings
+import os
+
+def urljoin(x, y): return x + "/" + y
+
+def listdir(*path):
+ try:
+ l = ""
+ root = os.path.join(settings.FILES, *path)
+ for p in os.listdir(root):
+ if os.path.isdir(os.path.join(root, p)):
+ l += p + "/\n"
+ elif os.path.isfile(os.path.join(root, p)):
+ l += p + "\n"
+ #Ignore non-files and non-directories
+ return l
+ except:
+ return urllib.urlopen(settings.FILES + "listdir/" + reduce(urljoin, path))
+
+def readFile(*path):
+ try:
+ f = open(os.path.join(settings.FILES, *path))
+ except:
+ f = urllib.urlopen(settings.FILES + "download/" + reduce(urljoin, path))
+ return f.read()
\ No newline at end of file |