Basic util library for progress bar and cron trigger and mssql db check related operation
Project description
psvutils
Under construction! Not ready for use yet! Currently experimenting and planning!
Developed by Pritam Sarkar 1995 from pritamSarkar123 (c) 2023
Examples of How To Use (Alpha Version + Buggy)
Creating A Progressbar
from psvutils import Progressbar
pb = ProgressBar(total=200)
for _ in range(200):
"""main code block"""
pb.update()
(venv) C:\***\***>python main.py
████████████████████████████████████████████████████████████████████████████████████████████████████|100.00%
"""
Args:
total (int): The total number of items in the task.
progress (int, optional): The current progress value (default is 0).
counter (int, optional): The amount by which the progress increases in each update (default is 1).
color (str, optional): The color to use for the progress bar (default is colorama.Fore.YELLOW).
end_color (str, optional): The color to use for the progress bar when it reaches 100% (default is colorama.Fore.GREEN).
Returns:
A Progressbar instance
"""
Creating a quartz cron based trigger
from psvutils import Trigger
tr = Trigger("0 * 0 ? * * *", start_date=datetime.datetime.now())
print(Trigger.check_valid_cron_or_not("0 * 0 ? * * *"))
for _ in range(20):
"""next 20 triggers"""
print(tr.get_next())
(venv) C:\***\***>python main.py
True
2023-10-19 13:49:00
2023-10-19 13:50:00
2023-10-19 13:51:00
2023-10-19 13:52:00
2023-10-19 13:53:00
2023-10-19 13:54:00
2023-10-19 13:55:00
2023-10-19 13:56:00
2023-10-19 13:57:00
2023-10-19 13:58:00
2023-10-19 13:59:00
2027-10-14 13:49:00
2027-10-14 13:50:00
2027-10-14 13:51:00
2027-10-14 13:52:00
2027-10-14 13:53:00
2027-10-14 13:54:00
2027-10-14 13:55:00
2027-10-14 13:56:00
2027-10-14 13:57:00
"""
Args:
quartz_expression (str): A Quartz Cron expression.
infinite (bool): Whether the trigger should run infinitely.
start_date (datetime.datetime, optional): The start date for the trigger.
end_date (datetime.datetime, optional): The end date for a finite run.
default_week_delta (int, optional): The default number of weeks to run.
Returns:
A Trigger instance
"""
from psvutils import check_mssql_db_connection
databaseConfigs = {'username': 'xxxx', 'password':'xxxx', 'windows_integrated_auth':False, 'domain': '', 'server_name': 'DESKTOP-G2UIUMK\SQLEXPESS,1435', 'database':'xxx','driver_name':'SQL Server' }
query = "SELECT * FROM sys.tables"
print(check_mssql_db_connection(databaseConfigs, query)) # incorrect databaseConfigs or query
print(check_mssql_db_connection(databaseConfigs, query)) # correct databaseConfigs or query
print(check_mssql_db_connection(databaseConfigs)) # incorrect databaseConfigs or query
print(check_mssql_db_connection(databaseConfigs)) # correct databaseConfigs or query
C:\***\***>python main.py
(False, 'Database Connection Failed!')
(True, 'Connection Established And Found Tables!')
(False, 'Database Connection Failed!')
(True, 'Connection Established And Found Tables!')
(False, 'Database Connection Failed!')
"""
Checks the database connection and executes a SELECT query.
Parameters:
- databaseConfigs (Dict[str, str]): A dictionary containing the configuration settings for the database connection. It should include keys such as 'host', 'port', 'user', 'password', 'database', and any other required parameters, all of type str.
- query (str): The SQL query to be executed, which is expected to be a SELECT query.
Returns:
- Tuple (bool, str):
- A boolean value indicating the success of the operation.
- True if the connection is established and the query returns results.
- False if there are any failures during the operation.
- A message describing the outcome of the operation.
Note:
- This function updates the 'query' key in the 'databaseConfigs' dictionary with the provided query.
- It attempts to establish a database connection and execute the given SELECT query.
- If the query is a SELECT query and the connection is successful, it checks if any tables are returned.
- If tables are found, it returns True and a success message. Otherwise, it returns False and a relevant error message.
- If there are any exceptions during the operation, it returns False and an error message.
Example Usage:
database_config = {
'host': 'localhost',
'port': '3306',
'user': 'username',
'password': 'password',
'database': 'my_database',
}
query = "SELECT * FROM my_table"
success, message = check(database_config, query)
if success:
print(message) # Connection Established And Found Tables!
else:
print(message) # Database Connection Failed!
"""
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
psvutils-0.0.7.tar.gz
(7.8 kB
view details)
Built Distribution
File details
Details for the file psvutils-0.0.7.tar.gz
.
File metadata
- Download URL: psvutils-0.0.7.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d2c63f750f5e8f3ca0ecd6df0f40d149c94fc7ab70ef4c9b93965647d815481 |
|
MD5 | 1aba42ba2d72e08bcb9ceb5f20c05af4 |
|
BLAKE2b-256 | 891fe6c50187da673dbf375e03f1dd58896f6d80f6516c8d78e79cdfc8e67d9a |
File details
Details for the file psvutils-0.0.7-py3-none-any.whl
.
File metadata
- Download URL: psvutils-0.0.7-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25fec1df73d5ab2479b17d1c083d071c318cfed741a732f1a7732387b9b7b483 |
|
MD5 | 8a23cafdb7987dcdd392174e5df950e7 |
|
BLAKE2b-256 | b84554fae6b01aa61c85499e65c2578e92e9d9e7e3ed569e03ad3a2eb5964d2e |