Exemplo n.º 1
0
def upload():
    dico = {}
    dico['metadata'] = {}
    output_dir = os.path.join(os.path.join(os.getcwd(), 'app'), 'output_dir/')
    if request.method == 'POST':
        file = request.files['file']
        f_name = request.files["file"].filename
        doc = Document(file, f_name)
        _data = doc.refersTo()

        if 'error' not in list(_data.keys()):
            content = ""
            for key, value in _data.items():
                if key != "content":
                    dico['metadata'][key] = value
                else:
                    dico[key] = value
            dico['metadata']['mime_type'] = request.files["file"].content_type
        else:
            resp = jsonify({'message': _data['error']})
            resp.status_code = 400
            return resp
        try:
            with open(
                    os.path.join(output_dir,
                                 f_name.split('.')[0]) + '.json',
                    'w+') as outfile:
                json.dump(dico, outfile)
        except:
            print("Can't write json")

        return jsonify(dico)
    else:
        resp = jsonify(
            {'message': 'Cette méthode ne peut être exécuté que par un POST'})
        resp.status_code = 405
        return resp