summaryrefslogtreecommitdiff
path: root/nemesis/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'nemesis/utils.py')
-rw-r--r--nemesis/utils.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/nemesis/utils.py b/nemesis/utils.py
new file mode 100644
index 0000000..0cee784
--- /dev/null
+++ b/nemesis/utils.py
@@ -0,0 +1,34 @@
+'''
+Copyright:
+
+ Copyright © 2025 bdunahu <bdunahu@operationnull.com>
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+Commentary:
+Code:
+'''
+from pathlib import Path
+
+def validate_dir(path_str: str) -> Path:
+ p = Path(path_str).expanduser().resolve()
+ if not p.exists():
+ raise ValueError(f"Profile path does not exist: {p}")
+ if not p.is_dir():
+ raise ValueError(f"Can't profile a non-dir: {p}")
+ return p
+
+def validate_html(filename: str) -> str:
+ if not filename.lower().endswith('.html'):
+ raise argparse.ArgumentTypeError(f"Did not name an HTML file: '{filename}'")
+ return filename