File size: 1,641 Bytes
4811a2d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f56ba56
4811a2d
 
 
f56ba56
4811a2d
 
f56ba56
4811a2d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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()