diff --git a/schilder.py b/schilder.py index 2c78e1cb19918298cfb4175ad21151a893a37eba..2184bcc5218531b8a04b97f6dc3fbb8b37850c47 100755 --- a/schilder.py +++ b/schilder.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # -*- encoding: utf8 -*- from flask import Flask, flash, session, redirect, url_for, escape, request, Response, Markup @@ -25,7 +25,7 @@ app = Flask(__name__) app.config.update( UPLOAD_FOLDER = config.uploaddir, PROPAGATE_EXCEPTIONS = True, - MAX_CONTENT_LENGTH = 8388608L + MAX_CONTENT_LENGTH = 8388608 ) app.secret_key = config.app_secret genshi = Genshi(app) @@ -82,7 +82,7 @@ def save_data(formdata, outfilename): json.dump(formdata, outfile) def run_pdflatex(context, outputfilename, overwrite=True): - if not context.has_key('textemplate'): + if 'textemplate' not in context: context['textemplate'] = "text-image-quer.tex" genshitex = TemplateLoader([config.textemplatedir]) template = genshitex.load( @@ -93,7 +93,7 @@ def run_pdflatex(context, outputfilename, overwrite=True): context['text'] = publish_parts(context['text'], writer_name='latex')['body'] #context['headline'] = publish_parts(context['headline'], writer_name='latex')['body'] tmpdir = tempfile.mkdtemp(dir=config.tmpdir) - if context.has_key('img') and context['img'] and context['img'] != '__none': + if 'img' in context and context['img'] and context['img'] != '__none': try: shutil.copy(os.path.join(config.imagedir, context['img']), os.path.join(tmpdir, context['img'])) @@ -117,7 +117,7 @@ def run_pdflatex(context, outputfilename, overwrite=True): try: flash(Markup("<p>PDFLaTeX Output:</p><pre>%s</pre>" % e.output), 'log') except: - print(e.output) + print((e.output)) raise SyntaxWarning("PDFLaTeX bailed out") finally: os.chdir(cwd) @@ -163,7 +163,7 @@ def index(**kwargs): data = defaultdict(str) data.update(**kwargs) filelist = glob.glob(config.datadir + '/*.schild') - data['files'] = [unicode(os.path.basename(f)) for f in sorted(filelist)] + data['files'] = [str(os.path.basename(f)) for f in sorted(filelist)] return render_response('index.html', data) @@ -174,7 +174,7 @@ def edit(**kwargs): imagelist = sorted(glob.glob(config.imagedir + '/*.png')) data['images'] = [os.path.basename(f) for f in imagelist] templatelist = glob.glob(config.textemplatedir + '/*.tex') - data['templates'] = [unicode(os.path.basename(f)) + data['templates'] = [str(os.path.basename(f)) for f in sorted(templatelist)] data['imageextensions'] = config.allowed_extensions return render_response('edit.html', data) @@ -190,7 +190,7 @@ def create(): if request.method == 'POST': formdata = defaultdict(str, request.form.to_dict(flat=True)) for a in ('headline', 'text'): - formdata[a] = unicode(formdata[a]) + formdata[a] = str(formdata[a]) try: imgpath = save_and_convert_image_upload('imgupload') if imgpath is not None: @@ -205,18 +205,18 @@ def create(): save_data(formdata, outfilename) run_pdflatex(formdata, os.path.join(config.pdfdir, outpdfname)) try: - flash(Markup(u"""PDF created and data saved. You might create another one. Here's a preview. Click to print.<br/> + flash(Markup("""PDF created and data saved. You might create another one. Here's a preview. Click to print.<br/> <a href="%s"><img src="%s"/></a>""" % (url_for('schild', filename=outfilename), url_for( 'pdfthumbnail', pdfname=outpdfname, maxgeometry=200)) )) except: - print("%s created" % outpdfname) + print(("%s created" % outpdfname)) except Exception as e: try: - flash(u"Could not create pdf or save data: %s" % str(e), 'error') + flash("Could not create pdf or save data: %s" % str(e), 'error') except: - print("Could not create pdf or save data: %s" % str(e)) + print(("Could not create pdf or save data: %s" % str(e))) data = {'form': formdata} imagelist = glob.glob(config.imagedir + '/*.png') @@ -236,7 +236,7 @@ def create(): @app.route('/schild/<filename>') def schild(filename): - return render_response('schild.html', {'filename': filename, 'printer': [unicode(f) for f in sorted(config.printers.keys())]}) + return render_response('schild.html', {'filename': filename, 'printer': [str(f) for f in sorted(config.printers.keys())]}) @app.route('/printout', methods=['POST']) @@ -249,11 +249,11 @@ def printout(): try: lprout = check_output(['lpr', '-H', str(config.printserver), '-P', str( printer), '-#', str(copies)] + config.lproptions + [filename], stderr=STDOUT) - flash(u'Schild wurde zum Drucker geschickt!') + flash('Schild wurde zum Drucker geschickt!') except CalledProcessError as e: flash(Markup("<p>Could not print:</p><pre>%s</pre>" % e.output), 'error') else: - flash(u'Ungültige Anzahl Kopien!') + flash('Ungültige Anzahl Kopien!') return redirect(url_for('index')) def delete_file(filename): @@ -261,10 +261,10 @@ def delete_file(filename): os.unlink(os.path.join(config.datadir, filename)) for f in glob.glob(os.path.join(config.pdfdir, filename + '.pdf*')): os.unlink(f) - flash(u"Schild %s wurde gelöscht" % filename) + flash("Schild %s wurde gelöscht" % filename) return redirect(url_for('index')) except: - flash(u"Schild %s konnte nicht gelöscht werden." % filename, 'error') + flash("Schild %s konnte nicht gelöscht werden." % filename, 'error') return redirect(url_for('schild', filename=filename)) @@ -312,8 +312,8 @@ def tplthumbnail(tplname, maxgeometry): run_pdflatex( {'textemplate': secure_filename(tplname), 'img': 'pictograms-nps-misc-camera.png', - 'headline': u'Überschrift', - 'text': u'Dies ist der Text, der in der UI als Text bezeichnet ist.', + 'headline': 'Überschrift', + 'text': 'Dies ist der Text, der in der UI als Text bezeichnet ist.', 'markup': 'latex', }, pdfpath, overwrite=False ) @@ -338,13 +338,13 @@ def recreate_cache(): glob.glob(os.path.join(config.imagedir, '*.png.*'))): try: os.unlink(filename) - print("Deleted %s" % filename) + print(("Deleted %s" % filename)) except Exception as e: - print("Could not delete %s: %s" % (filename, str(e))) + print(("Could not delete %s: %s" % (filename, str(e)))) for filename in glob.glob(os.path.join(config.datadir, '*.schild')): data = load_data(filename) pdfname = os.path.join(config.pdfdir, data['pdfname']) - print("Recreating %s" % pdfname) + print(("Recreating %s" % pdfname)) run_pdflatex(data, pdfname) if __name__ == '__main__':