|
1 | 1 | """ |
2 | | -Defines the routes of a Flask webserver for namer. |
| 2 | +Defines the web routes of a Flask webserver for namer. |
3 | 3 | """ |
4 | | -from pathlib import Path |
5 | 4 | from queue import Queue |
6 | 5 |
|
7 | | -from flask import Blueprint, jsonify, redirect, render_template, request |
| 6 | +from flask import Blueprint, redirect, render_template |
8 | 7 | from flask.wrappers import Response |
9 | | -from loguru import logger |
10 | 8 |
|
11 | | -from namer.fileutils import make_command_relative_to, move_command_files |
12 | 9 | from namer.types import NamerConfig |
13 | | -from namer.web.actions import delete_file, get_failed_files, get_queue_size, get_queued_files, get_search_results, read_failed_log_file |
| 10 | +from namer.web.actions import get_failed_files, get_queued_files |
14 | 11 |
|
15 | 12 |
|
16 | 13 | def get_web_routes(config: NamerConfig, command_queue: Queue) -> Blueprint: |
17 | 14 | """ |
18 | 15 | Builds a blueprint for flask with passed in context, the NamerConfig. |
19 | 16 | """ |
20 | | - blueprint = Blueprint('/', __name__, static_url_path='/', static_folder='public', template_folder='templates') |
| 17 | + blueprint = Blueprint('web', __name__, static_url_path='/', static_folder='public', template_folder='templates') |
21 | 18 | command_queue = command_queue |
22 | 19 |
|
23 | 20 | """ |
@@ -52,87 +49,4 @@ def queue() -> str: |
52 | 49 | data = get_queued_files(command_queue) |
53 | 50 | return render_template('pages/queue.html', data=data, config=config) |
54 | 51 |
|
55 | | - @blueprint.route('/api/v1/render', methods=['POST']) |
56 | | - def render() -> Response: |
57 | | - data = request.json |
58 | | - |
59 | | - res = False |
60 | | - if data is not None: |
61 | | - template: str = data.get('template') |
62 | | - client_data = data.get('data') |
63 | | - active_page: str = data.get('url') |
64 | | - active_page = active_page.lstrip('/') if active_page else active_page |
65 | | - |
66 | | - template_file = f'render/{template}.html' |
67 | | - response = render_template(template_file, data=client_data, config=config, active_page=active_page) |
68 | | - |
69 | | - res = { |
70 | | - 'response': response, |
71 | | - } |
72 | | - |
73 | | - return jsonify(res) |
74 | | - |
75 | | - @blueprint.route('/api/v1/get_files', methods=['POST']) |
76 | | - def get_files() -> Response: |
77 | | - data = get_failed_files(config) |
78 | | - return jsonify(data) |
79 | | - |
80 | | - @blueprint.route('/api/v1/get_queued', methods=['POST']) |
81 | | - def get_queued() -> Response: |
82 | | - data = get_queued_files(command_queue) |
83 | | - return jsonify(data) |
84 | | - |
85 | | - @blueprint.route('/api/v1/get_search', methods=['POST']) |
86 | | - def get_search() -> Response: |
87 | | - data = request.json |
88 | | - |
89 | | - res = False |
90 | | - if data is not None: |
91 | | - res = get_search_results(data['query'], data['file'], config) |
92 | | - |
93 | | - return jsonify(res) |
94 | | - |
95 | | - @blueprint.route('/api/v1/get_queue', methods=['POST']) |
96 | | - def get_queue() -> Response: |
97 | | - res = get_queue_size(command_queue) |
98 | | - |
99 | | - return jsonify(res) |
100 | | - |
101 | | - @blueprint.route('/api/v1/rename', methods=['POST']) |
102 | | - def rename() -> Response: |
103 | | - data = request.json |
104 | | - |
105 | | - res = False |
106 | | - if data is not None: |
107 | | - res = False |
108 | | - movie = config.failed_dir / Path(data['file']) |
109 | | - logger.error(f"moving movie {movie}") |
110 | | - command = make_command_relative_to(movie, config.failed_dir, config=config) |
111 | | - moved_command = move_command_files(command, config.work_dir) |
112 | | - if moved_command is not None: |
113 | | - moved_command.tpdb_id = data['scene_id'] |
114 | | - command_queue.put(moved_command) # Todo pass selection |
115 | | - |
116 | | - return jsonify(res) |
117 | | - |
118 | | - @blueprint.route('/api/v1/delete', methods=['POST']) |
119 | | - def delete() -> Response: |
120 | | - data = request.json |
121 | | - |
122 | | - res = False |
123 | | - if data is not None: |
124 | | - res = delete_file(data['file'], config) |
125 | | - |
126 | | - return jsonify(res) |
127 | | - |
128 | | - @blueprint.route('/api/v1/read_failed_log', methods=['POST']) |
129 | | - def read_failed_log() -> Response: |
130 | | - data = request.json |
131 | | - |
132 | | - res = False |
133 | | - if data is not None: |
134 | | - res = read_failed_log_file(data['file'], config) |
135 | | - |
136 | | - return jsonify(res) |
137 | | - |
138 | 52 | return blueprint |
0 commit comments