Few Utilities
Project description
Few Utility Functions
Install
pip install ddcUtils
pip install git+https://github.com/ddc/ddcUtils
File Utils
from ddcUtils import FileUtils
fu = FileUtils()
-
OPEN_FILE
- Opens the given file and returns 0 for success and 1 for failed access to the file
open_file(file_path: str) -> int
- Opens the given file and returns 0 for success and 1 for failed access to the file
-
LIST_FILES
- Lists all files in the given directory and returns them in a list
list_files(directory: str, file_extension: str = None) -> list
- Lists all files in the given directory and returns them in a list
-
GZIP_FILE
- Opens the given file and returns the path for success or None if failed
gzip_file(file_path: str) -> Path | None
- Opens the given file and returns the path for success or None if failed
-
UNZIP_FILE
- Opens the given file and returns the zipfile for success or None for failed
unzip_file(file_path: str, out_path: str = None) -> zipfile.ZipFile | None
- Opens the given file and returns the zipfile for success or None for failed
-
COPYDIR
- Copy files from src to dst and returns True or False
copydir(src, dst, symlinks=False, ignore=None) -> bool
- Copy files from src to dst and returns True or False
-
DOWNLOAD_FILE
- Download file from remote url to local and returns True or False
download_file(remote_file_url, local_file_path) -> bool
- Download file from remote url to local and returns True or False
-
GET_EXE_BINARY_TYPE
- Returns the binary type of the given windows EXE file
get_exe_binary_type(file_path: str) -> str | None
- Returns the binary type of the given windows EXE file
Functions for .ini/.conf config file structure
Example of file.ini:
[main]
files=5
path="/tmp/test_dir"
port=5432
list=1,2,3,4,5,6
-
GET_ALL_FILE_VALUES
- Get all values from an .ini config file structure and returns them as a dictionary
get_all_file_values(file_path: str, mixed_values: bool = False) -> dict
- Get all values from an .ini config file structure and returns them as a dictionary
-
GET_ALL_FILE_SECTION_VALUES
- Get all section values from an .ini config file structure and returns them as a dictionary
get_all_file_section_values(file_path: str, section: str) -> dict
- Get all section values from an .ini config file structure and returns them as a dictionary
-
GET_FILE_VALUE
- Get value from an .ini config file structure and returns it
get_file_value(file_path: str, section: str, config_name: str) -> str | int | None:
- Get value from an .ini config file structure and returns it
-
SET_FILE_VALUE
- Set value from an .ini config file structure and returns True or False
set_file_value(file_path: str, section_name: str, config_name: str, new_value) -> bool:
- Set value from an .ini config file structure and returns True or False
Object
- This class is used for creating a simple class object
from ddcUtils import Object
obj = Object()
obj.test = "test"
Misc Utils
from ddcUtils import MiscUtils
mu = MiscUtils()
-
CLEAR_SCREEN
- Clears the terminal screen
clear_screen() -> None
- Clears the terminal screen
-
USER_CHOICE
- This function will ask the user to select an option
user_choice() -> input
- This function will ask the user to select an option
-
GET_ACTIVE_BRANCH_NAME
- This function will return the name of the active branch
get_active_branch_name(default_master_branch_name: str = "master") -> str
- This function will return the name of the active branch
-
GET_CURRENT_DATE_TIME
- Returns the current date and time on UTC timezone
get_current_date_time() -> datetime
- Returns the current date and time on UTC timezone
-
CONVERT_DATETIME_TO_STR_LONG
- Converts a datetime object to a long string
- returns: "Mon Jan 01 2024 21:43:04"
convert_datetime_to_str_long(date: datetime) -> str
-
CONVERT_DATETIME_TO_STR_SHORT
- Converts a datetime object to a short string
- returns: "2024-01-01 00:00:00.000000"
convert_datetime_to_str_short(date: datetime) -> str
-
CONVERT_STR_TO_DATETIME_SHORT
- Converts a str to a datetime
- input: "2024-01-01 00:00:00.000000"
convert_str_to_datetime_short(datetime_str: str) -> datetime
-
GET_CURRENT_DATE_TIME_STR_LONG
- Returns the current date and time as string
- returns: "Mon Jan 01 2024 21:47:00"
get_current_date_time_str_long() -> str
OS Utils
from ddcUtils import OsUtils
ou = OsUtils()
-
GET_CURRENT_PATH
- Returns the current working directory
get_current_path() -> Path
- Returns the current working directory
-
GET_PICTURES_PATH
- Returns the pictures directory inside the user's home directory
get_pictures_path() -> Path
- Returns the pictures directory inside the user's home directory
-
GET_DOWNLOADS_PATH
- Returns the download directory inside the user's home directory
get_downloads_path() -> Path
- Returns the download directory inside the user's home directory
Logs
- SETUP_LOGGING
- Logs will rotate based on
whenvariable to a.tar.gzfile, defaults tomidnight - Logs will be deleted based on the
days_to_keepvariable, defaults to 7 - Current 'when' events supported:
- S - Seconds
- M - Minutes
- H - Hours
- D - Days
- midnight - roll over at midnight
- W{0-6} - roll over on a certain day; 0 - Monday
- Logs will rotate based on
from ddcUtils import Log
log = Log(
dir_logs: str = "logs",
filename: str = "app",
days_to_keep: int = 7,
when: str = "midnight",
utc: bool = True,
level: str = "info"
)
log.setup_logging()
Databases
- DBSQLITE
from ddcUtils.databases import DBSqlite
dbsqlite = DBSqlite(db_file_path: str, batch_size=100, echo=False)
- DBPOSTGRES
from ddcUtils.databases import DBPostgres
dbpostgres = DBPostgres(**kwargs)
username = kwargs["username"]
password = kwargs["password"]
host = kwargs["host"]
port = kwargs["port"]
db = kwargs["database"]
- DBUTILS
- Uses SQLAlchemy statements
from ddcUtils import DBUtils
db_utils = DBUtils(session)
db_utils.add(stmt)
db_utils.execute(stmt)
db_utils.fetchall(stmt)
db_utils.fetchone(stmt)
db_utils.fetch_value(stmt)
Source Code
Build
poetry build
Run Tests
poe test
Get Coverage Report
poe coverage
License
Released under the MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ddcutils-1.0.10.tar.gz.
File metadata
- Download URL: ddcutils-1.0.10.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0f81a9267d67111df5d2c029c2b17cfcecc19547248c7b5a18da1f3e3ac8ce5
|
|
| MD5 |
3d6578036a5bc2a41eb5a8966c2ff5de
|
|
| BLAKE2b-256 |
b318a57ebf2eccb6f618576cf9589ee365239d4d314a5f973006ac4f7917e630
|
File details
Details for the file ddcutils-1.0.10-py3-none-any.whl.
File metadata
- Download URL: ddcutils-1.0.10-py3-none-any.whl
- Upload date:
- Size: 13.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a06b22e774dc23af1f0109c37835fc90af43828a2c6eb610f89395cc854db8a
|
|
| MD5 |
c137602103609bb6d68d512d466b3cdb
|
|
| BLAKE2b-256 |
f0f301c39d2d65ae55ff5da160d0fc173db142350993ccbec3be8a6d8bfebc45
|