Skip to main content

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)

Uploaded Source

Built Distribution

psvutils-0.0.7-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

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

Hashes for psvutils-0.0.7.tar.gz
Algorithm Hash digest
SHA256 3d2c63f750f5e8f3ca0ecd6df0f40d149c94fc7ab70ef4c9b93965647d815481
MD5 1aba42ba2d72e08bcb9ceb5f20c05af4
BLAKE2b-256 891fe6c50187da673dbf375e03f1dd58896f6d80f6516c8d78e79cdfc8e67d9a

See more details on using hashes here.

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

Hashes for psvutils-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 25fec1df73d5ab2479b17d1c083d071c318cfed741a732f1a7732387b9b7b483
MD5 8a23cafdb7987dcdd392174e5df950e7
BLAKE2b-256 b84554fae6b01aa61c85499e65c2578e92e9d9e7e3ed569e03ad3a2eb5964d2e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page