Source code for dfttopif.web

import sys
import json
import logging
import requests
from pypif import pif
from flask import Flask, request
from flask_cors import CORS
from dfttopif import *


# Configure flask
app = Flask(__name__)
CORS(app)

# Configure logging
logging.basicConfig(stream=sys.stdout, level=logging.INFO)


@app.route('/convert/from/tarfile', methods=['POST'])
[docs]def convert_from_tarfile(): # Create a temporary directory to save the files and cleanup when # finished with it temp_dir_name = '/tmp/' + str(uuid.uuid4()) os.makedirs(temp_dir_name) try: data = json.loads(request.get_data(as_text=True)) response = requests.get(data['url'], stream=True) filename = temp_dir_name + '/file_to_process' with open(filename, 'wb') as output: shutil.copyfileobj(response.raw, output) return pif.dumps({'system': tarfile_to_pif(filename, '/tmp/')}) finally: shutil.rmtree(temp_dir_name)