# psvutils
Under construction! Not ready for use yet! Currently experimenting and planning!
Developed by Pritam Sarkar 1995 from [pritamSarkar123](https://github.com/pritamSarkar123) (c) 2023
## Examples of How To Use (Alpha Version + Buggy)
Creating A Progressbar
```python
from psvutils import Progressbar
pb = ProgressBar(total=200)
for _ in range(200):
"""main code block"""
pb.update()
```
```
(venv) C:\***\***>python main.py
████████████████████████████████████████████████████████████████████████████████████████████████████|100.00%
```
```python
"""
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
```python
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
```
```python
"""
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
"""
```
```python
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!')
```
```python
"""
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!
"""
```
Raw data
{
"_id": null,
"home_page": "",
"name": "psvutils",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "python,psvutils,quartz,quartzcron,quartz cron,cron,cron triggers,quartzcron triggers,mssql_db_check",
"author": "Pritam Sarkar 1995",
"author_email": "<pritamsarkar84028220@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/89/1f/e6c50187da673dbf375e03f1dd58896f6d80f6516c8d78e79cdfc8e67d9a/psvutils-0.0.7.tar.gz",
"platform": null,
"description": "\r\n# psvutils\r\n\r\n\r\n\r\nUnder construction! Not ready for use yet! Currently experimenting and planning!\r\n\r\n\r\n\r\nDeveloped by Pritam Sarkar 1995 from [pritamSarkar123](https://github.com/pritamSarkar123) (c) 2023\r\n\r\n\r\n\r\n## Examples of How To Use (Alpha Version + Buggy)\r\n\r\n\r\n\r\nCreating A Progressbar\r\n\r\n\r\n\r\n```python\r\n\r\nfrom psvutils import Progressbar\r\n\r\n\r\n\r\npb = ProgressBar(total=200)\r\n\r\n\r\n\r\nfor _ in range(200):\r\n\r\n \"\"\"main code block\"\"\"\r\n\r\n pb.update()\r\n\r\n\r\n\r\n```\r\n\r\n\r\n\r\n```\r\n\r\n(venv) C:\\***\\***>python main.py\r\n\r\n\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588|100.00%\r\n\r\n```\r\n\r\n\r\n\r\n```python\r\n\r\n\"\"\"\r\n\r\n Args:\r\n\r\n total (int): The total number of items in the task.\r\n\r\n progress (int, optional): The current progress value (default is 0).\r\n\r\n counter (int, optional): The amount by which the progress increases in each update (default is 1).\r\n\r\n color (str, optional): The color to use for the progress bar (default is colorama.Fore.YELLOW).\r\n\r\n end_color (str, optional): The color to use for the progress bar when it reaches 100% (default is colorama.Fore.GREEN).\r\n\r\n Returns:\r\n\r\n A Progressbar instance\r\n\r\n\"\"\"\r\n\r\n```\r\n\r\n\r\n\r\nCreating a quartz cron based trigger\r\n\r\n\r\n\r\n```python\r\n\r\nfrom psvutils import Trigger\r\n\r\ntr = Trigger(\"0 * 0 ? * * *\", start_date=datetime.datetime.now())\r\n\r\n\r\n\r\nprint(Trigger.check_valid_cron_or_not(\"0 * 0 ? * * *\"))\r\n\r\n\r\n\r\nfor _ in range(20):\r\n\r\n \"\"\"next 20 triggers\"\"\"\r\n\r\n print(tr.get_next())\r\n\r\n```\r\n\r\n\r\n\r\n```\r\n\r\n(venv) C:\\***\\***>python main.py\r\n\r\nTrue\r\n\r\n2023-10-19 13:49:00\r\n\r\n2023-10-19 13:50:00\r\n\r\n2023-10-19 13:51:00\r\n\r\n2023-10-19 13:52:00\r\n\r\n2023-10-19 13:53:00\r\n\r\n2023-10-19 13:54:00\r\n\r\n2023-10-19 13:55:00\r\n\r\n2023-10-19 13:56:00\r\n\r\n2023-10-19 13:57:00\r\n\r\n2023-10-19 13:58:00\r\n\r\n2023-10-19 13:59:00\r\n\r\n2027-10-14 13:49:00\r\n\r\n2027-10-14 13:50:00\r\n\r\n2027-10-14 13:51:00\r\n\r\n2027-10-14 13:52:00\r\n\r\n2027-10-14 13:53:00\r\n\r\n2027-10-14 13:54:00\r\n\r\n2027-10-14 13:55:00\r\n\r\n2027-10-14 13:56:00\r\n\r\n2027-10-14 13:57:00\r\n\r\n```\r\n\r\n\r\n\r\n```python\r\n\r\n\"\"\"\r\n\r\n Args:\r\n\r\n quartz_expression (str): A Quartz Cron expression.\r\n\r\n infinite (bool): Whether the trigger should run infinitely.\r\n\r\n start_date (datetime.datetime, optional): The start date for the trigger.\r\n\r\n end_date (datetime.datetime, optional): The end date for a finite run.\r\n\r\n default_week_delta (int, optional): The default number of weeks to run.\r\n\r\n\r\n\r\n Returns:\r\n\r\n A Trigger instance\r\n\r\n\"\"\"\r\n\r\n```\r\n\r\n\r\n\r\n```python\r\n\r\nfrom psvutils import check_mssql_db_connection\r\n\r\ndatabaseConfigs = {'username': 'xxxx', 'password':'xxxx', 'windows_integrated_auth':False, 'domain': '', 'server_name': 'DESKTOP-G2UIUMK\\SQLEXPESS,1435', 'database':'xxx','driver_name':'SQL Server' }\r\n\r\nquery = \"SELECT * FROM sys.tables\"\r\n\r\n\r\n\r\n\r\n\r\nprint(check_mssql_db_connection(databaseConfigs, query)) # incorrect databaseConfigs or query\r\n\r\nprint(check_mssql_db_connection(databaseConfigs, query)) # correct databaseConfigs or query\r\n\r\nprint(check_mssql_db_connection(databaseConfigs)) # incorrect databaseConfigs or query\r\n\r\nprint(check_mssql_db_connection(databaseConfigs)) # correct databaseConfigs or query\r\n\r\n```\r\n\r\n\r\n\r\n```\r\n\r\nC:\\***\\***>python main.py\r\n\r\n(False, 'Database Connection Failed!')\r\n\r\n(True, 'Connection Established And Found Tables!')\r\n\r\n(False, 'Database Connection Failed!')\r\n\r\n(True, 'Connection Established And Found Tables!')\r\n\r\n(False, 'Database Connection Failed!')\r\n\r\n```\r\n\r\n\r\n\r\n```python\r\n\r\n\"\"\"\r\n\r\n Checks the database connection and executes a SELECT query.\r\n\r\n\r\n\r\n Parameters:\r\n\r\n - 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.\r\n\r\n - query (str): The SQL query to be executed, which is expected to be a SELECT query.\r\n\r\n\r\n\r\n Returns:\r\n\r\n - Tuple (bool, str):\r\n\r\n - A boolean value indicating the success of the operation.\r\n\r\n - True if the connection is established and the query returns results.\r\n\r\n - False if there are any failures during the operation.\r\n\r\n - A message describing the outcome of the operation.\r\n\r\n\r\n\r\n Note:\r\n\r\n - This function updates the 'query' key in the 'databaseConfigs' dictionary with the provided query.\r\n\r\n - It attempts to establish a database connection and execute the given SELECT query.\r\n\r\n - If the query is a SELECT query and the connection is successful, it checks if any tables are returned.\r\n\r\n - If tables are found, it returns True and a success message. Otherwise, it returns False and a relevant error message.\r\n\r\n - If there are any exceptions during the operation, it returns False and an error message.\r\n\r\n\r\n\r\n Example Usage:\r\n\r\n database_config = {\r\n\r\n 'host': 'localhost',\r\n\r\n 'port': '3306',\r\n\r\n 'user': 'username',\r\n\r\n 'password': 'password',\r\n\r\n 'database': 'my_database',\r\n\r\n }\r\n\r\n query = \"SELECT * FROM my_table\"\r\n\r\n success, message = check(database_config, query)\r\n\r\n if success:\r\n\r\n print(message) # Connection Established And Found Tables!\r\n\r\n else:\r\n\r\n print(message) # Database Connection Failed!\r\n\r\n \"\"\"\r\n\r\n```\r\n\r\n",
"bugtrack_url": null,
"license": "",
"summary": "Basic util library for progress bar and cron trigger and mssql db check related operation",
"version": "0.0.7",
"project_urls": null,
"split_keywords": [
"python",
"psvutils",
"quartz",
"quartzcron",
"quartz cron",
"cron",
"cron triggers",
"quartzcron triggers",
"mssql_db_check"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b84554fae6b01aa61c85499e65c2578e92e9d9e7e3ed569e03ad3a2eb5964d2e",
"md5": "8a23cafdb7987dcdd392174e5df950e7",
"sha256": "25fec1df73d5ab2479b17d1c083d071c318cfed741a732f1a7732387b9b7b483"
},
"downloads": -1,
"filename": "psvutils-0.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8a23cafdb7987dcdd392174e5df950e7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8170,
"upload_time": "2023-11-01T13:05:22",
"upload_time_iso_8601": "2023-11-01T13:05:22.830992Z",
"url": "https://files.pythonhosted.org/packages/b8/45/54fae6b01aa61c85499e65c2578e92e9d9e7e3ed569e03ad3a2eb5964d2e/psvutils-0.0.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "891fe6c50187da673dbf375e03f1dd58896f6d80f6516c8d78e79cdfc8e67d9a",
"md5": "1aba42ba2d72e08bcb9ceb5f20c05af4",
"sha256": "3d2c63f750f5e8f3ca0ecd6df0f40d149c94fc7ab70ef4c9b93965647d815481"
},
"downloads": -1,
"filename": "psvutils-0.0.7.tar.gz",
"has_sig": false,
"md5_digest": "1aba42ba2d72e08bcb9ceb5f20c05af4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7833,
"upload_time": "2023-11-01T13:05:25",
"upload_time_iso_8601": "2023-11-01T13:05:25.221111Z",
"url": "https://files.pythonhosted.org/packages/89/1f/e6c50187da673dbf375e03f1dd58896f6d80f6516c8d78e79cdfc8e67d9a/psvutils-0.0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-01 13:05:25",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "psvutils"
}