mit neuen venv und exe-Files
This commit is contained in:
35
venv3_12/Lib/site-packages/auto_py_to_exe/validation.py
Normal file
35
venv3_12/Lib/site-packages/auto_py_to_exe/validation.py
Normal file
@@ -0,0 +1,35 @@
|
||||
import argparse
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
|
||||
|
||||
def argparse_file_exists(file_path):
|
||||
"""Validates whether a file exists."""
|
||||
if not os.path.isfile(file_path):
|
||||
raise argparse.ArgumentTypeError("File does not exist")
|
||||
|
||||
return os.path.abspath(file_path)
|
||||
|
||||
|
||||
def argparse_file_json(file_path):
|
||||
"""Validates whether a file contains JSON parsable by Python. Raises argparse.ArgumentTypeError if not."""
|
||||
if not os.path.isfile(file_path):
|
||||
raise argparse.ArgumentTypeError("Provided configuration file does not exist")
|
||||
|
||||
try:
|
||||
with open(file_path, "r") as file:
|
||||
data = json.load(file)
|
||||
except json.decoder.JSONDecodeError:
|
||||
raise argparse.ArgumentTypeError("Provided configuration file content is not json")
|
||||
except Exception as e:
|
||||
raise argparse.ArgumentTypeError("Cannot parse provided configuration file:\n" + str(e))
|
||||
|
||||
return data
|
||||
|
||||
|
||||
def argparse_logging_level(level):
|
||||
"""Validates that a string value is a valid logging level and returns the corresponding value."""
|
||||
if hasattr(logging, level.upper()):
|
||||
return level.upper()
|
||||
raise argparse.ArgumentTypeError("Invalid logging level: " + str(level))
|
||||
Reference in New Issue
Block a user