new changes
This commit is contained in:
parent
763b8f4e9d
commit
19570140a1
@ -1,18 +0,0 @@
|
|||||||
import sys
|
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
BASE_DIR = Path(__file__).resolve().parent
|
|
||||||
|
|
||||||
|
|
||||||
def boolean_to_emooji(bool_val, primary_emooji: bool):
|
|
||||||
if primary_emooji:
|
|
||||||
return "✅" if bool_val else "❌"
|
|
||||||
return "☑️" if bool_val else "✖️"
|
|
||||||
|
|
||||||
|
|
||||||
def confirm_exit_terminal():
|
|
||||||
user_input = input('\n\nType "q" to exit.\n')
|
|
||||||
if user_input != "q":
|
|
||||||
return confirm_exit_terminal()
|
|
||||||
else:
|
|
||||||
sys.exit()
|
|
||||||
@ -6,4 +6,5 @@ readme = "README.md"
|
|||||||
requires-python = ">=3.11"
|
requires-python = ">=3.11"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"openpyxl>=3.1.5",
|
"openpyxl>=3.1.5",
|
||||||
|
"python-dotenv>=1.1.1",
|
||||||
]
|
]
|
||||||
|
|||||||
7
utils/base_main.py
Normal file
7
utils/base_main.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
|
BASE_DIR = Path(__file__).resolve().parent
|
||||||
9
utils/common_utils.py
Normal file
9
utils/common_utils.py
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
def confirm_exit_terminal():
|
||||||
|
user_input = input('\n\nType "q" to exit.\n')
|
||||||
|
if user_input != "q":
|
||||||
|
return confirm_exit_terminal()
|
||||||
|
else:
|
||||||
|
sys.exit()
|
||||||
50
utils/csv_utils.py
Normal file
50
utils/csv_utils.py
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
import csv
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
|
def read_csv_file(file_path, parse_to_dict: bool = False):
|
||||||
|
with open(file_path, "r", newline="") as csvfile:
|
||||||
|
if parse_to_dict:
|
||||||
|
return list(csv.DictReader(csvfile))
|
||||||
|
else:
|
||||||
|
return list(csv.reader(csvfile))
|
||||||
|
|
||||||
|
|
||||||
|
def write_to_csv_file(rows, file_path: Path, rows_type, fieldnames=None):
|
||||||
|
file_path.parent.mkdir(parents=True, exist_ok=True)
|
||||||
|
with open(file_path, mode="w", newline="") as csvfile:
|
||||||
|
if rows_type is list:
|
||||||
|
csv_writer = csv.writer(csvfile)
|
||||||
|
return csv_writer.writerows(rows)
|
||||||
|
elif rows_type is dict:
|
||||||
|
csv_writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
|
||||||
|
csv_writer.writeheader()
|
||||||
|
csv_writer.writerows(rows)
|
||||||
|
else:
|
||||||
|
raise Exception("rows_type value is invalid!")
|
||||||
|
|
||||||
|
|
||||||
|
def append_to_csv_file(rows, file_path: Path):
|
||||||
|
file_path.parent.mkdir(parents=True, exist_ok=True)
|
||||||
|
with open(file_path, mode="a", newline="") as csvfile:
|
||||||
|
csv_writer = csv.writer(csvfile)
|
||||||
|
return csv_writer.writerows(rows)
|
||||||
|
|
||||||
|
|
||||||
|
def convert_config_to_key_val_dict(config: list):
|
||||||
|
res = dict()
|
||||||
|
for row in config:
|
||||||
|
match row["value_type"]:
|
||||||
|
case "int":
|
||||||
|
value = int(row["value"])
|
||||||
|
case _:
|
||||||
|
raise Exception("Invalid value_type.")
|
||||||
|
res[row["key"]] = value
|
||||||
|
return res
|
||||||
|
|
||||||
|
|
||||||
|
def convert_config_dict_to_list_of_key_values(config: dict):
|
||||||
|
result = list()
|
||||||
|
for k, v in config.items():
|
||||||
|
result.append({"key": k, "value": v, "value_type": type(v).__name__})
|
||||||
|
return result
|
||||||
6
utils/sequence_utils.py
Normal file
6
utils/sequence_utils.py
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
import functools
|
||||||
|
import operator
|
||||||
|
|
||||||
|
|
||||||
|
def flatten_list(list_var):
|
||||||
|
return functools.reduce(operator.iconcat, list_var, [])
|
||||||
4
utils/string_utils.py
Normal file
4
utils/string_utils.py
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
def boolean_to_emooji(bool_val, primary_emooji: bool):
|
||||||
|
if primary_emooji:
|
||||||
|
return "✅" if bool_val else "❌"
|
||||||
|
return "☑️" if bool_val else "✖️"
|
||||||
15
uv.lock
generated
15
uv.lock
generated
@ -23,13 +23,26 @@ wheels = [
|
|||||||
{ url = "https://files.pythonhosted.org/packages/c0/da/977ded879c29cbd04de313843e76868e6e13408a94ed6b987245dc7c8506/openpyxl-3.1.5-py2.py3-none-any.whl", hash = "sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2", size = 250910, upload-time = "2024-06-28T14:03:41.161Z" },
|
{ url = "https://files.pythonhosted.org/packages/c0/da/977ded879c29cbd04de313843e76868e6e13408a94ed6b987245dc7c8506/openpyxl-3.1.5-py2.py3-none-any.whl", hash = "sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2", size = 250910, upload-time = "2024-06-28T14:03:41.161Z" },
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "python-dotenv"
|
||||||
|
version = "1.1.1"
|
||||||
|
source = { registry = "https://pypi.org/simple" }
|
||||||
|
sdist = { url = "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz", hash = "sha256:a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab", size = 41978, upload-time = "2025-06-24T04:21:07.341Z" }
|
||||||
|
wheels = [
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl", hash = "sha256:31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc", size = 20556, upload-time = "2025-06-24T04:21:06.073Z" },
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "python-utils"
|
name = "python-utils"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = { virtual = "." }
|
source = { virtual = "." }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "openpyxl" },
|
{ name = "openpyxl" },
|
||||||
|
{ name = "python-dotenv" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.metadata]
|
[package.metadata]
|
||||||
requires-dist = [{ name = "openpyxl", specifier = ">=3.1.5" }]
|
requires-dist = [
|
||||||
|
{ name = "openpyxl", specifier = ">=3.1.5" },
|
||||||
|
{ name = "python-dotenv", specifier = ">=1.1.1" },
|
||||||
|
]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user