|
from flask import Flask, request |
|
from generators.title_to_abstract import title_to_abstract_generator |
|
from generators.topic_to_abstract import topic_to_abstract_generator |
|
app = Flask(__name__) |
|
max_length_char = 360 |
|
|
|
|
|
@app.route('/') |
|
def rewriter(): |
|
data = request.get_json(silent=True) |
|
if data is None: |
|
return 'No data received' |
|
else: |
|
if data.get('title') is None and data.get('topic') is not None: |
|
return generate(data, 'topic') |
|
elif data.get('title') is not None: |
|
return generate(data, 'title') |
|
else: |
|
return 'No data received' |
|
|
|
|
|
def generate(data, value): |
|
obj = abstract_generator_obj(value) |
|
result = obj(template_generator(value, data[value])) |
|
if len(result['result']) > 40: |
|
return {"result": result['result']} |
|
else: |
|
result_re = obj(template_generator(value, data[value])) |
|
while len(result_re['result']) < 50: |
|
print(f"getting results again, {result_re}") |
|
result_re = obj(template_generator(value, data[value])) |
|
if len(result_re['result']) > 40: |
|
return {"result": result_re['result']} |
|
|
|
|
|
def abstract_generator_obj(value): |
|
if value == 'title': |
|
return title_to_abstract_generator |
|
else: |
|
return topic_to_abstract_generator |
|
|
|
|
|
def template_generator(type, value): |
|
if type == 'title': |
|
return "title: " + value + "\n" + 'abstract: ' |
|
else: |
|
keyword_str = "\n" |
|
for k in value: |
|
keyword_str = keyword_str + k + "\n" |
|
return "topic: " + keyword_str + "\n" + 'abstract: ' |
|
|
|
|
|
if __name__ == '__main__': |
|
app.run() |
|
|