File size: 3,972 Bytes
a143120
e413cf7
7fcf52f
48722f6
7fcf52f
a143120
 
06ce162
fa3b631
be73bfc
95c9859
8018de6
95c9859
 
 
 
be73bfc
 
95c9859
 
 
 
be73bfc
5cc9742
a61eaba
5cc9742
 
 
 
be73bfc
5cc9742
 
be73bfc
5cc9742
 
 
7fcf52f
a143120
 
 
324ca83
a143120
324ca83
a143120
 
324ca83
a143120
be73bfc
324ca83
 
 
 
 
 
 
 
 
 
 
 
a143120
 
324ca83
a143120
 
324ca83
a143120
be73bfc
324ca83
 
 
 
 
 
 
 
 
 
 
 
 
a143120
 
324ca83
a143120
 
324ca83
a143120
be73bfc
324ca83
 
 
 
 
f1d8af1
324ca83
 
 
 
a143120
 
324ca83
a143120
 
324ca83
a143120
 
be73bfc
324ca83
 
7fcf52f
ea718cf
06ce162
a143120
324ca83
 
06ce162
 
 
a143120
324ca83
06ce162
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
from flask import Flask, jsonify, request
from webscout import AsyncWEBS, WEBS
from webscout.LLM import LLM
import AI

app = Flask(__name__)

# Initialize the OPENGPT instance
opengpt = AI.OPENGPT(is_conversation=False, max_tokens=8000, timeout=30)

@app.route('/search', methods=['POST'])
def WEBScout2_search_search():
    data = request.get_json()
    if 'query' not in data:
        return jsonify({'error': 'Query parameter missing'})
    query = data['query']
    limit = data.get('limit', 10)  # Default limit to 10 if not provided
    WEBS_instance = WEBS()  # Instantiate WEBS without context manager
    responses = []
    for i, r in enumerate(WEBS_instance.text(query, region='wt-wt', safesearch='off', timelimit='y')):
        responses.append(r)
    return jsonify(responses)

@app.route('/mws', methods=['POST'])
def WEBScout_search():
    data = request.get_json()
    if 'query' not in data:
        return jsonify({'error': 'Query parameter missing'})
    query = data['query']
    WEBS_instance = WEBS()  # Instantiate WEBS without context manager
    responses = []
    for i, r in enumerate(WEBS_instance.text(query, region='wt-wt', safesearch='off', timelimit='y')):
        if i == 2:  # Limiting the results to 2
            break
        responses.append(r)
    return jsonify(responses)

@app.route('/health', methods=['GET'])
def health_check():
    return jsonify({'status': 'ok'})

@app.route('/video', methods=['GET'])
def WEBScout_videos():
    params = request.args
    if 'keywords' not in params:
        return jsonify({'error': 'Keywords parameter missing'})
    keywords = params['keywords']
    WEBS_instance = WEBS()  # Instantiate WEBS without context manager
    responses = []
    for r in WEBS_instance.videos(
        keywords,
        region="wt-wt",
        safesearch="off",
        timelimit="w",
        resolution="high",
        duration="medium",
        max_results=10,
    ):
        responses.append(r)
    return jsonify(responses)

@app.route('/img', methods=['GET'])
def WEBScout2_images():
    params = request.args
    if 'keywords' not in params:
        return jsonify({'error': 'Keywords parameter missing'})
    keywords = params['keywords']
    WEBS_instance = WEBS()  # Instantiate WEBS without context manager
    responses = []
    for r in WEBS_instance.images(
        keywords,
        region="wt-wt",
        safesearch="off",
        size=None,
        type_image=None,
        layout=None,
        license_image=None,
        max_results=10,
    ):
        responses.append(r)
    return jsonify(responses)

@app.route('/news', methods=['GET'])
def WEBScout_news():
    params = request.args
    if 'keywords' not in params:
        return jsonify({'error': 'Keywords parameter missing'})
    keywords = params['keywords']
    WEBS_instance = WEBS()  # Instantiate WEBS without context manager
    responses = []
    for r in WEBS_instance.news(
        keywords,
        region="wt-wt",
        safesearch="off",
        timelimit="d",
        max_results=10
    ):
        responses.append(r)
    return jsonify(responses)

@app.route('/translate', methods=['GET'])
def WEBScout_translate():
    params = request.args
    if 'keywords' not in params or 'to' not in params:
        return jsonify({'error': 'Keywords or target language parameter missing'})
    keywords = params['keywords']
    target_language = params['to']
    WEBS_instance = WEBS()  # Instantiate WEBS without context manager
    translation = WEBS_instance.translate(keywords, to=target_language)
    return jsonify(translation)

@app.route('/chat', methods=['POST'])
def chat_opengpt():
    user_input = request.json.get('message')
    if user_input is None:
        return jsonify({'error': 'Message parameter missing'})
    # Use the opengpt instance to process the chat message
    response_str = opengpt.chat(user_input)
    return jsonify({"response": response_str})

if __name__ == '__main__':
    app.run(debug=True)