# HG changeset patch # User Björn Ricks # Date 1411738486 -7200 # Node ID 15807d87930ce2e3e1f3f6c619cdca7e83bd7fea # Parent 745a53c8b4f272113d0e7910567afb724888abf1 Refactor ConvertView to be easier reusable diff -r 745a53c8b4f2 -r 15807d87930c odfcast/convert.py --- a/odfcast/convert.py Fri Sep 26 14:26:58 2014 +0200 +++ b/odfcast/convert.py Fri Sep 26 15:34:46 2014 +0200 @@ -28,26 +28,33 @@ return __import__(pyuno_driver_name, globals(), locals(), ["Convertor"]) - def post(self): - file = request.files['file'] - format = request.form['format'] + def is_format_supported(self, fformat): + return fformat and fformat.lower() in ALLOWED_FORMATS - if format not in ALLOWED_FORMATS: - return "Format %s not allowed" % format, 401 + def post(self): + ffile = request.files['file'] + fformat = request.form['format'] - outfile = self.convert(file, format) - mimetype = self.get_mimetype_for_format(format) + if not self.is_format_supported(fformat): + return "Format %s not allowed" % fformat, 401 + + infile = self.save_form_file(ffile) + outfile = self.convert(infile, fformat) + mimetype = self.get_mimetype_for_format(fformat) return Response(outfile, mimetype=mimetype) - def convert(self, file, format): - infile = tempfile.NamedTemporaryFile() - file.save(infile.name) + def save_form_file(self, infile): + outfile = tempfile.NamedTemporaryFile() + infile.save(outfile.name) + return outfile + + def convert(self, infile, fformat): outfile = tempfile.NamedTemporaryFile() - self.convertor.convert(infile.name, outfile.name, format) + self.convertor.convert(infile.name, outfile.name, fformat) infile.close() return outfile - def get_mimetype_for_format(self, format): - return MIMETYPES.get(format, DEFAULT_MIMETYPE) + def get_mimetype_for_format(self, fformat): + return MIMETYPES.get(fformat, DEFAULT_MIMETYPE)