def filename_valid(self, text): error = '' # noinspection PyBroadException try: if text in forbidden_names: return ValidationError(description=f'Forbidden name {text}') validate_filename(text) except ValidationError as ve: if ve.description is not None: error = 'Could not change filename.\n\nReason: {}'.format( ve.description) elif len(ve.args): error = 'Could not change filename.\n\nReason: {}'.format( ve.args[0]) else: error = 'Could not change filename.\n\nReason: {}'.format( ve.reason) except Exception as ex: error = f'Unknown exception: {ex}' finally: if error: return False else: return True
def validate_arguments(): """ One time utility used to group argument validation. """ cmd_args.template = Path(cmd_args.template) if cmd_args.source: cmd_args.source = Path(cmd_args.source) if cmd_args.output_dir: cmd_args.output_dir = Path(cmd_args.output_dir) cmd_args.output_dir.mkdir(parents=True, exist_ok=True) if cmd_args.target: for t in cmd_args.target: if not t.is_file() and not t.is_dir(): # Check if targets are valid files or directories raise NotADirectoryError("Target not found: \'%s\'" % t) if cmd_args.exclude: for x in cmd_args.exclude: if not x.is_file() and not x.is_dir(): # Check if exclusions are valid files or directories raise NotADirectoryError("Target not found: \'%s\'" % x) try: validate_filename(cmd_args.prefix + 'test.css') # Check if the prefix is valid for a filename except ValidationError as e: raise ValidationError("Prefix is not a valid filename: %s" % cmd_args.prefix, e)
def test_upload_invalid_filename(self, validate_filename, async_task): validate_filename.side_effect = ValidationError() with open(os.path.join(os.path.dirname(__file__), "samples", "simple.pdf"), "rb") as f: response = self.client.post("/api/documents/post_document/", {"document": f}) self.assertEqual(response.status_code, 400) async_task.assert_not_called()
def check_drop_col(form, field): check_ncolumns(form) try: integers = str_to_ints(field.data) for integer in integers: if integer >= ncolumns_cur \ or integer < 0: raise Exception except Exception as e: raise ValidationError('Wrong drop columns')
def check_ncolumns(form): global ncolumns_cur global dataset_name_cur if form.__contains__('train_data'): dataset_name = data_sets[form.train_data.data[0]] elif form.__contains__('data'): dataset_name = data_sets[form.data.data[0]] else: raise ValidationError('Wrong name of the parametr of the form') if dataset_name != dataset_name_cur: dt = pd.read_csv(os.path.join(datasets_path, dataset_name)) ncolumns_cur = len(dt.columns) dataset_name_cur = dataset_name
def check_pred_y(form, field): check_ncolumns(form) if ncolumns_cur <= form.y.data \ or field.data < -1: raise ValidationError('Wrong y')
def check_feature_subsample_size(form, field): check_ncolumns(form) if ncolumns_cur < form.feature_subsample_size.data \ or field.data < -1 or field.data == 0: raise ValidationError('Wrong feature_subsample_size')
def check_filename(form, field): try: validate_filename(field.data) except ValidationError as e: raise ValidationError('Wrong filename')