def conv(id): settings = {} for key, value in request.values.items(): settings[key] = value if value.isdigit(): settings[key] = int(value) if value == 'true': settings[key] = True if value == 'false': settings[key] = False extension = settings['extension'] file = File.query.get(id) path = file.path basename = Tools.get_basename(file.name) new_name = (basename + '.' + extension).encode('utf-8') document = Document(path) properties = document.get_export_options(extension) properties['FilterData'] = settings document.set_properties(properties) # return jsonify({ # 'id': id, # 'settings': settings, # 'options': options, # 'export_options': document.get_export_options(extension), # 'arguments': dir(document.arguments), # 'statistics': document.get_statistics(), # 'get_settings': file.get_settings() # }) new = path + '.' + extension save = document.save(new) if save is False: return jsonify({ 'error': 'File not saved' }) type = mimetypes.guess_type(urllib.pathname2url(new_name)) model = File.query.filter_by(path=new).first() if model is None: model = File() model.user_id = g.user.id model.name = new_name.decode('utf-8') model.path = new model.size = os.path.getsize(new) model.type = type[0] model.extension = extension db.session.add(model) db.session.commit() return jsonify({ 'save': save, 'name': new_name, 'url': '/download/' + str(model.id), 'type': type[0], 'path': new, 'properties': properties })
def convert(): upload = Tools.upload() path = upload['path'] basename = Tools.get_basename(upload['name']) new_name = (basename + '.pdf').encode('utf-8') document = Document(upload['path']) new = path + '.pdf' save = document.save(new) user_id = 1 type = mimetypes.guess_type(urllib.pathname2url(new_name)) model = File(user_id=user_id, name=new_name.decode('utf-8'), path=new, type=type[0]) db.session.add(model) db.session.commit() return jsonify({ 'save': save, 'name': new_name, 'url': '/download/' + str(model.id), 'type': type[0], 'path': new })
def upload(): return jsonify(Tools.upload())
def authorized_with_facebook(response): result = {'auth': False} if response is not None: access_token = response['access_token'] # expires = response['expires'] session['facebook_token'] = ( access_token, OAUTH_CREDENTIALS['facebook']['secret'] ) get = facebook.get('me?fields=id,name,picture,email') status = get.status result['get_status'] = status if status == 200: data = get.data user = User.query.filter_by(email=data['email']).first() if user is None: result['user_status'] = 'new' user = User( name=data['name'], email=data['email'], key=Tools.generate_hash(data), token=access_token, photo=data['picture']['data']['url'], auth=AUTH['facebook'], last_seen=str(datetime.utcnow()), info=json.dumps(data) ) db.session.add(user) db.session.commit() else: result['user_status'] = 'old' equal = True new = { 'name': data['name'], 'token': access_token, 'photo': data['picture']['data']['url'] } for key, value in new.iteritems(): attr = getattr(user, key) if attr != value: setattr(user, key, value) equal = False if not equal: result['user_status'] = 'updated' db.session.add(user) db.session.commit() result['user'] = { 'name': user.name, 'email': user.email, 'key': user.key, 'photo': user.photo, 'info': user.info } remember_me = False if 'remember_me' in session: remember_me = session['remember_me'] session.pop('remember_me', None) session['authorized'] = True session['active'] = True session['anonymous'] = False result['auth'] = login_user(user, remember=remember_me) return redirect(url_for('index'))