def page_editor(): if am_i_logged_in(request): filename = request.query.get('file') try: if os.path.exists(os.path.join(DATADIR, filename)): with open(os.path.join(DATADIR, filename), 'r', encoding='utf-8') as f: data = f.read() return render_template('editor', filename=filename, data=data.replace('<', '<').replace('>', '>'), docroot=PREFIX) else: return render_template('editor', filename=filename, data='', docroot=PREFIX) except: return render_template('5xx') else: return render_template('login', docroot=PREFIX)
def proc_upload(): if am_i_logged_in(request): uploads = request.files.getall('files') for f in uploads: f.save(os.path.join(DATADIR, f.raw_filename), overwrite=True) # return dumps({'code': 0, 'result': 'DONE'}) return redirect(PREFIX + '/') else: return render_template('login', docroot=PREFIX)
def proc_rename(): if am_i_logged_in(request): source = request.forms.get('source') target = request.forms.get('target') if os.path.exists(os.path.join(DATADIR, source)) and not os.path.exists(os.path.join(DATADIR, target)): os.rename(os.path.join(DATADIR, source), os.path.join(DATADIR, target)) redirect(PREFIX + '/') else: return render_template('login', docroot=PREFIX)
def proc_delete(): if am_i_logged_in(request): files = request.forms.getall('file') for f in files: if os.path.exists(os.path.join(DATADIR, f)): os.remove(os.path.join(DATADIR, f)) # return dumps({'code': 0, 'result': 'DONE'}) return redirect(PREFIX + '/') else: return render_template('login', docroot=PREFIX)
def proc_update(): if am_i_logged_in(request): filename = request.forms.get('filename') text = request.forms.get('text') #try: # if os.path.exists(os.path.join(DATADIR, filename)): with open(os.path.join(DATADIR, filename), 'w', encoding='utf-8') as f: f.write(text.decode('utf-8')) f.flush() return redirect(PREFIX + '/editor?file=' + filename) #except: # return str(sys.exc_info()[1]) # return render_template('5xx', errortrace=str(sys.exc_info()[1])) else: return render_template('login', docroot=PREFIX)
def trash(): t = walkTrash(trash_db, TRASH_PATH) return render_template('trash', trash=t)
def gallery(): photos = PhotoDBM().values() return render_template('templates/gallery', photos=photos)
def walk(): db.clear() p = walkPhotos(PhotoDBM(), PHOTOS_PATH) return render_template('walk', photos=p.values())
def index(): h = request.get_header('Referer') return render_template('templates/index')
def page_login(): return render_template('login', docroot=PREFIX)
def page_index(): if am_i_logged_in(request): return render_template('index', docroot=PREFIX) else: return render_template('login', docroot=PREFIX)
def proc_listing(): if am_i_logged_in(request): files = list(map(file_expander, os.listdir(DATADIR))) return dumps({'code': 0, 'result': files}) else: return render_template('login', docroot=PREFIX)