diff --git a/kuku/app.py b/kuku/app.py index ef9ff79..447b46c 100644 --- a/kuku/app.py +++ b/kuku/app.py @@ -11,7 +11,7 @@ from kuku import settings -re_safe_name_with_slash = ur'[ \w\u2e80-\u9fff\-_\.,/]' +re_safe_name_with_slash = ur'[ \w\u2e80-\u9fff\-_\.,%/]' class MainHandler(tornado.web.RequestHandler): @@ -20,8 +20,8 @@ def get(self): route = [ - (r'/_admin/login', MainHandler), # TODO - (r'/_admin/logout', MainHandler), # TODO + #(r'/_admin/login', MainHandler), # TODO + #(r'/_admin/logout', MainHandler), # TODO (r'/_api/upload', MainHandler), # TODO (r'/_api/mkdir', MainHandler), # TODO (r'/_api/delete', MainHandler), # TODO diff --git a/kuku/handlers/dir.py b/kuku/handlers/dir.py index f7e7cf8..bb0f085 100644 --- a/kuku/handlers/dir.py +++ b/kuku/handlers/dir.py @@ -4,6 +4,7 @@ import tornado.ioloop import tornado.web +import magic from kuku import settings from kuku.handlers import decorators @@ -28,15 +29,18 @@ def get(self, path): abs_path = os.path.abspath(os.path.join(settings.UPLOAD_PATH, path)) dirs = [] files = [] + file_types = {} l = os.listdir(abs_path) for f in l: if os.path.isdir(os.path.join(abs_path, f)): dirs.append(f) else: files.append(f) + + file_types = dict([(x, magic.from_file(os.path.join(abs_path, x), mime=True)) for x in files]) + parent_dir = os.path.dirname(path) if not is_security_path(parent_dir): parent_dir = None - self.render('dir.html', dirs=dirs, files=files, parent_dir=parent_dir) - + self.render('dir.html', dirs=dirs, files=files, file_types=file_types, parent_dir=parent_dir) diff --git a/kuku/settings.py.sample b/kuku/settings.py.sample index 3283152..71f0d1a 100644 --- a/kuku/settings.py.sample +++ b/kuku/settings.py.sample @@ -13,6 +13,8 @@ UPLOAD_PATH = os.path.abspath(os.path.join(ROOT_PATH, '..', 'upload')) MAX_FILE_SIZE = 5 * 1024 * 1024 # 3 * 1024 * 1024 bytes ALLOWED_EXTENSIONS = ['jpg', 'png', 'gif', 'zip', 'rar', 'gz'] + + #DEFAULT_DIR_MODE = '755' #DEFAULT_FILE_MODE = '644' diff --git a/kuku/templates/dir.html b/kuku/templates/dir.html index 910792f..c44c9e0 100644 --- a/kuku/templates/dir.html +++ b/kuku/templates/dir.html @@ -1,27 +1,71 @@ - - - + + Kuku + - +
- + +
+ + +
+ +
+ +
+ Preview +
+ + + + + + + + \ No newline at end of file