Added option to search over incomplete trees. Also added some validations.

This commit is contained in:
2025-04-10 07:32:56 +02:00
parent 31b2da01cb
commit 81761c5e88
8 changed files with 351 additions and 158 deletions
+14 -1
View File
@@ -311,6 +311,8 @@ def create_app():
@app.route('/stark/', methods=['GET', 'POST'])
# @headers({'Cache-Control': 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0'})
def index():
# TODO - SIZE REGEX:
# TODO - MAX IF COMPLETE = 4/5
translations = _translations[get_locale()]
if request.method == 'POST':
form = request.form
@@ -319,7 +321,6 @@ def create_app():
'input_path': '',
'tree_size': '1-1000000',
'display_size': '1-1000000',
'complete_tree_type': True,
'ignored_labels': []
}
# mandatory parameters
@@ -352,7 +353,19 @@ def create_app():
validation['file'] = gettext('Please insert either input url or provide a file.')
validation['input_url'] = gettext('Please insert either input url or provide a file.')
configs['complete_tree_type'] = 'complete_trees' in form and form['complete_trees'] == 'on'
if 'display_size' in form and form['display_size']:
if re.match(r'(^\d+$)|(^\d+-\d+$)', form['display_size']) is None:
validation['display_size'] = gettext('Please insert an integer number or a range separated with `-`, without spaces. Example: 3 or 2-4.')
else:
if not configs['complete_tree_type']:
max_display_size = int(form['display_size'].split('-')[-1])
if max_display_size >= 5:
validation['display_size'] = gettext(
'Please set a maximum display size to a number equal or lower to 4, when extracting Incomplete trees. Or search through complete trees (Complete trees parameter).')
configs['tree_size'] = "1-6"
configs['display_size'] = form['display_size']
def validate_node_type(node_type):