diff options
Diffstat (limited to 'app/app.py')
-rw-r--r-- | app/app.py | 36 |
1 files changed, 23 insertions, 13 deletions
@@ -57,20 +57,30 @@ def index(): @app.route('/edit/') @app.route('/edit/<path:filename>') -def edit(filename): - try: - if len(session['edit_history'])==6: - session['edit_history'].pop(0) - if not filename in session['edit_history']: - session['edit_history'].append(filename) - except KeyError: - session['edit_history']=[filename,] +def edit(filename=None): session.modified = True - icon, mode, href = identify(filename) - content = open(filename).read().decode('utf-8') + if filename: + try: + if len(session['edit_history'])==6: + session['edit_history'].pop(0) + if not filename in session['edit_history']: + session['edit_history'].append(filename) + except KeyError: + session['edit_history']=[filename,] + icon, mode, href = identify(filename) + content = open(filename).read().decode('utf-8') + directory=os.path.dirname(filename) + basename=os.path.basename(filename) + else: + # New file + icon="document-generic.png" + mode="" + href="" + content="" + directory=session['pwd'] + basename="///" tmpl = 'editor.html' - directory=os.path.dirname(filename) - return render_response(tmpl, dict(content=content, icon=icon,basename=os.path.basename(filename), + return render_response(tmpl, dict(content=content, icon=icon,basename=basename, filename=filename, absdir=os.path.normpath(directory), mode=mode, directory=directory)) @app.route('/save', methods=['POST']) @@ -97,7 +107,7 @@ def chdir(): session['pwd']=session['project_home_dir']="." os.chdir(session['project_dir']) session['project_home']='/help' - #session['edit_history']=[] + session['edit_history']=[] if os.path.isdir('app'): session['pwd']=session['project_home_dir']='app' #session['project_home']='/edit/app/app.py' |