ddcUtils


NameddcUtils JSON
Version 1.0.32 PyPI version JSON
download
home_pagehttps://github.com/ddc/ddcUtils
SummaryFew File Utilities
upload_time2024-11-28 18:22:12
maintainerDaniel Costa
docs_urlNone
authorDaniel Costa
requires_python<4.0,>=3.10
licenseMIT
keywords python3 tools utility utilities utils utility-library utils-library utilities-library
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Few Utility Functions
Few personal utilities functions written in python3 and hosted on PyPI such as open and read conf/ini files and some OS functions.

[![License](https://img.shields.io/github/license/ddc/ddcUtils.svg?style=plastic)](https://github.com/ddc/ddcUtils/blob/master/LICENSE)
[![Python](https://img.shields.io/badge/Python-3.12+-blue.svg?style=plastic)](https://www.python.org)
[![PyPi](https://img.shields.io/pypi/v/ddcUtils.svg?style=plastic)](https://pypi.python.org/pypi/ddcUtils)
[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A//actions-badge.atrox.dev/ddc/ddcUtils/badge?ref=main&style=plastic&label=build&logo=none)](https://actions-badge.atrox.dev/ddc/ddcUtils/goto?ref=main)


# Install
```shell
pip install ddcUtils
```


# Conf File Utils
```python
from ddcUtils import ConfFileUtils
cfu = ConfFileUtils()
```

File example - file.ini:

    [main]
    files=5
    path="/tmp/test_dir"
    port=5432
    list=1,2,3,4,5,6


+ GET_ALL_VALUES
    + Get all values from an .ini config file structure and returns them as a dictionary
    + mixed_values will return all values as an object instead of dict
        ```
        get_all_values(file_path: str, mixed_values: bool = False) -> dict
        ```

+ GET_SECTION_VALUES
    + Get all section values from an .ini config file structure and returns them as a dictionary
        ```
        get_section_values(file_path: str, section: str) -> dict
        ```

+ GET_VALUE
    + Get value from an .ini config file structure and returns it
        ```
        get_value(file_path: str, section: str, config_name: str) -> str | int | None
        ```

+ SET_VALUE
    + Set value from an .ini config file structure and returns True or False
        ```
        set_value(file_path: str, section_name: str, config_name: str, new_value, commas: bool = False) -> bool
        ```


# File Utils
```python
from ddcUtils import FileUtils
fu = FileUtils()
```

+ SHOW
    + Open the given file or directory in explorer or notepad and returns True for success or False for failed access
        ```
        @staticmethod
        show(path: str) -> bool
        ```

+ LIST_FILES
    + List all files in the given directory and returns them in a tuple sorted by creation time in ascending order
        ```
        @staticmethod
        list_files(directory: str, starts_with: str | tuple[str, ...] | list[str] = None, ends_with: str | tuple[str, ...] | list[str] = None) -> tuple
        ```

+ GZIP
    + Compress the given file and returns the Path for success or None if failed
        ```
        @staticmethod
        gzip(input_file_path: str, output_dir: str = None) -> Path | None
        ```

+ UNZIP
    + Unzips the given file.zip and returns ZipFile for success or None if failed
        ```
        @staticmethod
        unzip(file_path: str, out_path: str = None) -> ZipFile | None
        ```

+ REMOVE
    + Remove the given file or dir and returns True if it was successfully removed
        ```
        @staticmethod
        remove(path: str) -> bool
        ```

+ RENAME
    + Rename the given file and returns True if the file was successfully
        ```
        @staticmethod
        rename(from_name: str, to_name: str) -> bool
        ```

+ COPY_DIR
    + Copy files from src to dst and returns True or False
        ```
        @staticmethod
        copy_dir(src, dst, symlinks=False, ignore=None) -> bool
        ```

+ DOWNLOAD_FILE
    + Download file from remote url to local and returns True or False
        ```
        @staticmethod
        download_file(remote_file_url, local_file_path) -> bool
        ```

+ GET_EXE_BINARY_TYPE
    + Returns the binary type of the given windows EXE file
        ```
        @staticmethod
        get_exe_binary_type(file_path: str) -> str | None
        ```

+ IS_OLDER_THAN_X_DAYS
    + Check if a file or directory is older than the specified number of days
        ```
        @staticmethod
        is_older_than_x_days(path: str, days: int) -> bool
        ```

+ COPY
    + Copy a file to another location
        ```
        @staticmethod
        copy(src_path, dst_path)
        ```


# Object
+ This class is used for creating a simple class object
 ```python
from ddcUtils import Object
obj = Object()
obj.test = "test"
```   


# Misc Utils
```python
from ddcUtils import MiscUtils
mu = MiscUtils()
```

+ CLEAR_SCREEN
    + Clears the terminal screen
        ```
        @staticmethod
        clear_screen() -> None
        ```

+ USER_CHOICE
    + This function will ask the user to select an option
        ```
        @staticmethod
        user_choice() -> input
        ```

+ GET_ACTIVE_BRANCH_NAME
    + Returns the name of the active branch if found, else returns None
        ```
        @staticmethod
        get_active_branch_name(git_dir: str = ".git") -> str | None:
        ```

+ GET_CURRENT_DATE_TIME
    + Returns the current date and time on UTC timezone
        ```
        @staticmethod
        get_current_date_time() -> datetime
        ```

+ CONVERT_DATETIME_TO_STR_LONG
    + Converts a datetime object to a long string
    + returns: "Mon Jan 01 2024 21:43:04"
        ```
        @staticmethod
        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"
        ```
        @staticmethod
        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"
        ```
        @staticmethod
        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
```python
from ddcUtils import OsUtils
ou = OsUtils()
```

+ GET_OS_NAME
    + Get OS name
        ```
        @staticmethod
        get_os_name() -> str
        ```

+ IS_WINDOWS
    + Check if OS is Windows
        ```
        @staticmethod
        is_windows() -> bool
        ```

+ GET_CURRENT_PATH
    + Returns the current working directory
        ```
        @staticmethod
        get_current_path() -> Path
        ```

+ GET_PICTURES_PATH
    + Returns the pictures directory inside the user's home directory
        ```
        get_pictures_path() -> Path
        ```

+ GET_DOWNLOADS_PATH
    + Returns the download directory inside the user's home directory
        ```
        get_downloads_path() -> Path
        ```


# Source Code
### Build
```shell
poetry build
```


### Run Tests
```shell
poetry run coverage run -m pytest -v
```


### Get Coverage Report
```shell
poetry run coverage report
```


# License
Released under the [MIT License](LICENSE)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ddc/ddcUtils",
    "name": "ddcUtils",
    "maintainer": "Daniel Costa",
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": "python3, tools, utility, utilities, utils, utility-library, utils-library, utilities-library",
    "author": "Daniel Costa",
    "author_email": "danieldcsta@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ff/51/0c4a1e33d0abc6642033fba8cd910b2603c93cf18cd5d3d63ccedb2515dc/ddcutils-1.0.32.tar.gz",
    "platform": null,
    "description": "# Few Utility Functions\nFew personal utilities functions written in python3 and hosted on PyPI such as open and read conf/ini files and some OS functions.\n\n[![License](https://img.shields.io/github/license/ddc/ddcUtils.svg?style=plastic)](https://github.com/ddc/ddcUtils/blob/master/LICENSE)\n[![Python](https://img.shields.io/badge/Python-3.12+-blue.svg?style=plastic)](https://www.python.org)\n[![PyPi](https://img.shields.io/pypi/v/ddcUtils.svg?style=plastic)](https://pypi.python.org/pypi/ddcUtils)\n[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A//actions-badge.atrox.dev/ddc/ddcUtils/badge?ref=main&style=plastic&label=build&logo=none)](https://actions-badge.atrox.dev/ddc/ddcUtils/goto?ref=main)\n\n\n# Install\n```shell\npip install ddcUtils\n```\n\n\n# Conf File Utils\n```python\nfrom ddcUtils import ConfFileUtils\ncfu = ConfFileUtils()\n```\n\nFile example - file.ini:\n\n    [main]\n    files=5\n    path=\"/tmp/test_dir\"\n    port=5432\n    list=1,2,3,4,5,6\n\n\n+ GET_ALL_VALUES\n    + Get all values from an .ini config file structure and returns them as a dictionary\n    + mixed_values will return all values as an object instead of dict\n        ```\n        get_all_values(file_path: str, mixed_values: bool = False) -> dict\n        ```\n\n+ GET_SECTION_VALUES\n    + Get all section values from an .ini config file structure and returns them as a dictionary\n        ```\n        get_section_values(file_path: str, section: str) -> dict\n        ```\n\n+ GET_VALUE\n    + Get value from an .ini config file structure and returns it\n        ```\n        get_value(file_path: str, section: str, config_name: str) -> str | int | None\n        ```\n\n+ SET_VALUE\n    + Set value from an .ini config file structure and returns True or False\n        ```\n        set_value(file_path: str, section_name: str, config_name: str, new_value, commas: bool = False) -> bool\n        ```\n\n\n# File Utils\n```python\nfrom ddcUtils import FileUtils\nfu = FileUtils()\n```\n\n+ SHOW\n    + Open the given file or directory in explorer or notepad and returns True for success or False for failed access\n        ```\n        @staticmethod\n        show(path: str) -> bool\n        ```\n\n+ LIST_FILES\n    + List all files in the given directory and returns them in a tuple sorted by creation time in ascending order\n        ```\n        @staticmethod\n        list_files(directory: str, starts_with: str | tuple[str, ...] | list[str] = None, ends_with: str | tuple[str, ...] | list[str] = None) -> tuple\n        ```\n\n+ GZIP\n    + Compress the given file and returns the Path for success or None if failed\n        ```\n        @staticmethod\n        gzip(input_file_path: str, output_dir: str = None) -> Path | None\n        ```\n\n+ UNZIP\n    + Unzips the given file.zip and returns ZipFile for success or None if failed\n        ```\n        @staticmethod\n        unzip(file_path: str, out_path: str = None) -> ZipFile | None\n        ```\n\n+ REMOVE\n    + Remove the given file or dir and returns True if it was successfully removed\n        ```\n        @staticmethod\n        remove(path: str) -> bool\n        ```\n\n+ RENAME\n    + Rename the given file and returns True if the file was successfully\n        ```\n        @staticmethod\n        rename(from_name: str, to_name: str) -> bool\n        ```\n\n+ COPY_DIR\n    + Copy files from src to dst and returns True or False\n        ```\n        @staticmethod\n        copy_dir(src, dst, symlinks=False, ignore=None) -> bool\n        ```\n\n+ DOWNLOAD_FILE\n    + Download file from remote url to local and returns True or False\n        ```\n        @staticmethod\n        download_file(remote_file_url, local_file_path) -> bool\n        ```\n\n+ GET_EXE_BINARY_TYPE\n    + Returns the binary type of the given windows EXE file\n        ```\n        @staticmethod\n        get_exe_binary_type(file_path: str) -> str | None\n        ```\n\n+ IS_OLDER_THAN_X_DAYS\n    + Check if a file or directory is older than the specified number of days\n        ```\n        @staticmethod\n        is_older_than_x_days(path: str, days: int) -> bool\n        ```\n\n+ COPY\n    + Copy a file to another location\n        ```\n        @staticmethod\n        copy(src_path, dst_path)\n        ```\n\n\n# Object\n+ This class is used for creating a simple class object\n ```python\nfrom ddcUtils import Object\nobj = Object()\nobj.test = \"test\"\n```   \n\n\n# Misc Utils\n```python\nfrom ddcUtils import MiscUtils\nmu = MiscUtils()\n```\n\n+ CLEAR_SCREEN\n    + Clears the terminal screen\n        ```\n        @staticmethod\n        clear_screen() -> None\n        ```\n\n+ USER_CHOICE\n    + This function will ask the user to select an option\n        ```\n        @staticmethod\n        user_choice() -> input\n        ```\n\n+ GET_ACTIVE_BRANCH_NAME\n    + Returns the name of the active branch if found, else returns None\n        ```\n        @staticmethod\n        get_active_branch_name(git_dir: str = \".git\") -> str | None:\n        ```\n\n+ GET_CURRENT_DATE_TIME\n    + Returns the current date and time on UTC timezone\n        ```\n        @staticmethod\n        get_current_date_time() -> datetime\n        ```\n\n+ CONVERT_DATETIME_TO_STR_LONG\n    + Converts a datetime object to a long string\n    + returns: \"Mon Jan 01 2024 21:43:04\"\n        ```\n        @staticmethod\n        convert_datetime_to_str_long(date: datetime) -> str\n        ```\n\n+ CONVERT_DATETIME_TO_STR_SHORT\n    + Converts a datetime object to a short string\n    + returns: \"2024-01-01 00:00:00.000000\"\n        ```\n        @staticmethod\n        convert_datetime_to_str_short(date: datetime) -> str\n        ```\n\n+ CONVERT_STR_TO_DATETIME_SHORT\n    + Converts a str to a datetime\n    + input: \"2024-01-01 00:00:00.000000\"\n        ```\n        @staticmethod\n        convert_str_to_datetime_short(datetime_str: str) -> datetime\n        ```\n\n+ GET_CURRENT_DATE_TIME_STR_LONG\n    + Returns the current date and time as string\n    + returns: \"Mon Jan 01 2024 21:47:00\"\n        ```\n        get_current_date_time_str_long() -> str\n        ```\n\n\n# OS Utils\n```python\nfrom ddcUtils import OsUtils\nou = OsUtils()\n```\n\n+ GET_OS_NAME\n    + Get OS name\n        ```\n        @staticmethod\n        get_os_name() -> str\n        ```\n\n+ IS_WINDOWS\n    + Check if OS is Windows\n        ```\n        @staticmethod\n        is_windows() -> bool\n        ```\n\n+ GET_CURRENT_PATH\n    + Returns the current working directory\n        ```\n        @staticmethod\n        get_current_path() -> Path\n        ```\n\n+ GET_PICTURES_PATH\n    + Returns the pictures directory inside the user's home directory\n        ```\n        get_pictures_path() -> Path\n        ```\n\n+ GET_DOWNLOADS_PATH\n    + Returns the download directory inside the user's home directory\n        ```\n        get_downloads_path() -> Path\n        ```\n\n\n# Source Code\n### Build\n```shell\npoetry build\n```\n\n\n### Run Tests\n```shell\npoetry run coverage run -m pytest -v\n```\n\n\n### Get Coverage Report\n```shell\npoetry run coverage report\n```\n\n\n# License\nReleased under the [MIT License](LICENSE)\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Few File Utilities",
    "version": "1.0.32",
    "project_urls": {
        "Homepage": "https://github.com/ddc/ddcUtils",
        "Repository": "https://github.com/ddc/ddcUtils"
    },
    "split_keywords": [
        "python3",
        " tools",
        " utility",
        " utilities",
        " utils",
        " utility-library",
        " utils-library",
        " utilities-library"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e03aef576199fef5613609d9464be36939f9c146a0d63d25058ab683237e9d84",
                "md5": "84954092d4785b335ba26314a9f4d848",
                "sha256": "3b5264d3f46800420d3c5f4259de960dcf30d6d9a567f3b1f37388849ac79430"
            },
            "downloads": -1,
            "filename": "ddcutils-1.0.32-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "84954092d4785b335ba26314a9f4d848",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 10783,
            "upload_time": "2024-11-28T18:22:10",
            "upload_time_iso_8601": "2024-11-28T18:22:10.998141Z",
            "url": "https://files.pythonhosted.org/packages/e0/3a/ef576199fef5613609d9464be36939f9c146a0d63d25058ab683237e9d84/ddcutils-1.0.32-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ff510c4a1e33d0abc6642033fba8cd910b2603c93cf18cd5d3d63ccedb2515dc",
                "md5": "f7269b64096fdf3bc2d76dbbfaff9979",
                "sha256": "86640e2106c16c05c116602a2c348386be465099e9af590ccf49502cf64f089d"
            },
            "downloads": -1,
            "filename": "ddcutils-1.0.32.tar.gz",
            "has_sig": false,
            "md5_digest": "f7269b64096fdf3bc2d76dbbfaff9979",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 9459,
            "upload_time": "2024-11-28T18:22:12",
            "upload_time_iso_8601": "2024-11-28T18:22:12.308426Z",
            "url": "https://files.pythonhosted.org/packages/ff/51/0c4a1e33d0abc6642033fba8cd910b2603c93cf18cd5d3d63ccedb2515dc/ddcutils-1.0.32.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-28 18:22:12",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ddc",
    "github_project": "ddcUtils",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "ddcutils"
}
        
Elapsed time: 1.32287s