diff options
Diffstat (limited to 'expo')
-rw-r--r-- | expo/fileAbstraction.py | 25 | ||||
-rw-r--r-- | expo/view_surveys.py | 38 |
2 files changed, 36 insertions, 27 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 diff --git a/expo/view_surveys.py b/expo/view_surveys.py index cd3210b..2c5b5a1 100644 --- a/expo/view_surveys.py +++ b/expo/view_surveys.py @@ -1,38 +1,22 @@ -import troggle.settings as settings
+import fileAbstraction
from django.http import HttpResponse, Http404
-import os
+
def listdir(request, path):
- try:
- l = []
- print settings.FILES, "t", path, "t"
- root = os.path.join(settings.FILES, path)
- print root
- for p in os.listdir(root):
- if os.path.isdir(os.path.join(root, p)):
- l.append(p + "/")
- elif os.path.isfile(os.path.join(root, p)):
- l.append(p)
- #Ignore non-files and non-directories
- return HttpResponse(str(l), mimetype = "text/plain")
- except:
- try:
- return HttpResponse(urllib.urlopen(settings.FILES + "listdir/" + name), mimetype = "text/plain")
- except:
- raise Http404
+ #try:
+ return HttpResponse(fileAbstraction.listdir(path), mimetype = "text/plain")
+ #except:
+ # raise Http404
def upload(request, path):
pass
def download(request, path):
- try:
- f = open(os.path.join(settings.FILES, path))
- except:
- try:
- f = urllib.urlopen(settings.FILES + "download/" + path)
- except:
- raise Http404
- return HttpResponse(f.read(), mimetype=getMimeType(path.split(".")[-1]))
+ #try:
+ return HttpResponse(fileAbstraction.readFile(path), mimetype=getMimeType(path.split(".")[-1]))
+ #except:
+ # raise Http404
+
def getMimeType(extension):
try:
|