Compare commits
94 Commits
beta_0.0.1
...
de6f0ac17e
| Author | SHA1 | Date | |
|---|---|---|---|
| de6f0ac17e | |||
| f148beedf5 | |||
| 82e6856439 | |||
| 6cbb352efb | |||
| ecd460d3ad | |||
| 1c47c68c11 | |||
| d5dcd35696 | |||
| 9e954d0790 | |||
| 171370ecac | |||
| fb78fe459f | |||
| 16aba4c60f | |||
| 2ad1d32fcc | |||
| 2b324fe2ef | |||
| 99d90d607d | |||
| 8c81064743 | |||
| 9c39b773da | |||
| 46ea1db65d | |||
| f7ab347316 | |||
| 2b1167b3ce | |||
| fe3f32c2af | |||
| e9b491e81d | |||
| e243f5f379 | |||
| c1e76b660a | |||
| 1c557913f9 | |||
| 67e68da880 | |||
| 8df12ec6f4 | |||
| 9d2d6931e3 | |||
| acd3f5fe39 | |||
| 0e84c959ce | |||
| aa5041a46c | |||
| fb4e8a3be6 | |||
| 36333b3b99 | |||
| 91e474c3b8 | |||
| e8ef3c6e53 | |||
| f4f5f9bc6b | |||
| 3c1d881de7 | |||
| b4e5694b7b | |||
| 691b68cb4c | |||
| 461533b717 | |||
| caff94ab41 | |||
| efcec653cb | |||
| a0f2f83a8a | |||
| af80345ff6 | |||
| f96d9b3257 | |||
| b0e3594b49 | |||
| cf828c7f97 | |||
| 49e16a522c | |||
| 927d5358f5 | |||
| 0bbfb9b9bf | |||
| a012f8f1e2 | |||
| 394b940841 | |||
| b615f52313 | |||
| 799e0239a1 | |||
| 5270fab084 | |||
| 5469a01c09 | |||
| 9b86007e34 | |||
| 40bf210067 | |||
| ae19816da1 | |||
| d2041c5355 | |||
| c8bf85cb6a | |||
| 9dcaacf64a | |||
| b82a04e3bb | |||
| 29924ffb36 | |||
| b09ea6a8c5 | |||
| 209fae5575 | |||
| 37fe1f5203 | |||
| c48e16fdb9 | |||
| 67b61a3d5f | |||
| 2425e0a215 | |||
| 6738f73db7 | |||
| e99ee7925f | |||
| d910027bc0 | |||
| 2dc233eef0 | |||
| 09563a997c | |||
| a26367c0aa | |||
| 8bc7bf5584 | |||
| b3834f4798 | |||
| f0a7ea1874 | |||
| c41ff7e0f5 | |||
| 78f8c991bd | |||
| a54d8bdced | |||
| 518ca3d815 | |||
| 9c4135cb3c | |||
| 75a8158b9f | |||
| 88c0e4df43 | |||
| f45f549da3 | |||
| 3b554047e9 | |||
| 5ee40c7c51 | |||
| 6faf60d5f1 | |||
| 20770f5f04 | |||
| 400bc3091a | |||
| 9a6826fac0 | |||
| d7845413d6 | |||
| 37dee4569f |
180
.gitignore
vendored
180
.gitignore
vendored
@@ -1 +1,179 @@
|
||||
__pycache__
|
||||
releases
|
||||
version.py
|
||||
tester
|
||||
|
||||
# ---> Python
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
share/python-wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
MANIFEST
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.nox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*.cover
|
||||
*.py,cover
|
||||
.hypothesis/
|
||||
.pytest_cache/
|
||||
cover/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
local_settings.py
|
||||
db.sqlite3
|
||||
db.sqlite3-journal
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
.pybuilder/
|
||||
target/
|
||||
|
||||
# Jupyter Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# IPython
|
||||
profile_default/
|
||||
ipython_config.py
|
||||
|
||||
# pyenv
|
||||
# For a library or package, you might want to ignore these files since the code is
|
||||
# intended to run in multiple environments; otherwise, check them in:
|
||||
# .python-version
|
||||
|
||||
# pipenv
|
||||
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
||||
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
||||
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
||||
# install all needed dependencies.
|
||||
#Pipfile.lock
|
||||
|
||||
# UV
|
||||
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
|
||||
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
||||
# commonly ignored for libraries.
|
||||
#uv.lock
|
||||
|
||||
# poetry
|
||||
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
||||
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
||||
# commonly ignored for libraries.
|
||||
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
||||
#poetry.lock
|
||||
|
||||
# pdm
|
||||
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
||||
#pdm.lock
|
||||
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
||||
# in version control.
|
||||
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
|
||||
.pdm.toml
|
||||
.pdm-python
|
||||
.pdm-build/
|
||||
|
||||
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
||||
__pypackages__/
|
||||
|
||||
# Celery stuff
|
||||
celerybeat-schedule
|
||||
celerybeat.pid
|
||||
|
||||
# SageMath parsed files
|
||||
*.sage.py
|
||||
|
||||
# Environments
|
||||
.env
|
||||
.venv
|
||||
env/
|
||||
venv/
|
||||
ENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
.spyproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
|
||||
# mkdocs documentation
|
||||
/site
|
||||
|
||||
# mypy
|
||||
.mypy_cache/
|
||||
.dmypy.json
|
||||
dmypy.json
|
||||
|
||||
# Pyre type checker
|
||||
.pyre/
|
||||
|
||||
# pytype static type analyzer
|
||||
.pytype/
|
||||
|
||||
# Cython debug symbols
|
||||
cython_debug/
|
||||
|
||||
# PyCharm
|
||||
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
||||
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
||||
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
||||
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
||||
#.idea/
|
||||
|
||||
# Ruff stuff:
|
||||
.ruff_cache/
|
||||
|
||||
# PyPI configuration file
|
||||
.pypirc
|
||||
|
||||
26
README.md
26
README.md
@@ -1,3 +1,25 @@
|
||||
# Python
|
||||
# Python Programs and Scripts Repository
|
||||
|
||||

|
||||
Collection of my python scripts and programs. Containing tools to
|
||||
manipulate the behavior of the system.
|
||||
|
||||
## Wanna Do´s
|
||||
|
||||
- Program which creates an file containing a version and
|
||||
- Creating a Module which loads configuration files
|
||||
- GUI auto-clicker which accepts command line activation
|
||||
|
||||
## tempbox
|
||||
|
||||
A script which allows the user to execute commands in a temporary
|
||||
directory.
|
||||
|
||||
After execution, all contents within the folder get removed.
|
||||
|
||||
## refit
|
||||
|
||||
A file and folder manipulation tool. The aim is to unify various steps
|
||||
from moving to creating and deleting directories and folder with one
|
||||
tool.
|
||||
|
||||
Collection of my python scripts.
|
||||
|
||||
211
pyvers/src/pyvers.py
Normal file
211
pyvers/src/pyvers.py
Normal file
@@ -0,0 +1,211 @@
|
||||
import json
|
||||
import os
|
||||
import argparse
|
||||
import sys
|
||||
|
||||
# ======================================================================
|
||||
# Constantes
|
||||
FILE_NAME = "version.json"
|
||||
# ======================================================================
|
||||
|
||||
# ======================================================================
|
||||
# Parser
|
||||
parser = argparse.ArgumentParser(
|
||||
prog="pyvers",
|
||||
description="xD",
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"config",
|
||||
help="The location of the config file to edit.",
|
||||
type=str,
|
||||
)
|
||||
parser.add_argument(
|
||||
"--patch",
|
||||
help="Bumps the patch version by one.",
|
||||
action="store_true",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--minor",
|
||||
help="Bumps the minor version by one.",
|
||||
action="store_true",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--major",
|
||||
help="Bumps the major version by one.",
|
||||
action="store_true",
|
||||
)
|
||||
|
||||
args = parser.parse_args()
|
||||
# ======================================================================
|
||||
|
||||
|
||||
# ======================================================================
|
||||
# Functions
|
||||
def create_version_file(file_path) -> None:
|
||||
"""Creates a version.json file with all versions set to 0 at the
|
||||
input location.
|
||||
|
||||
Args:
|
||||
file_path: (str): Path with file name.
|
||||
|
||||
Example:
|
||||
>>>create_version_file(/path/to/file)
|
||||
file:
|
||||
{
|
||||
"minor": 0,
|
||||
"major": 0,
|
||||
"patch": 0
|
||||
}"""
|
||||
|
||||
# Defining the dictionary with the initial version numbers.
|
||||
initial_version = {"minor": 0, "major": 0, "patch": 0}
|
||||
|
||||
# Opening/creating the file to write the dictionary as json to it.
|
||||
file = open(file_path, "x")
|
||||
file.write(json.dumps(initial_version, indent=4))
|
||||
print("File written successfully.")
|
||||
return
|
||||
|
||||
|
||||
def load_version(input_path) -> dict[str, int]:
|
||||
"""Opens the given file and returns its contents."""
|
||||
# Open given path and loading the files contents into a variable
|
||||
file_path = open(input_path)
|
||||
prog_version = json.load(file_path)
|
||||
return prog_version
|
||||
|
||||
|
||||
def pretty_version(input_path) -> None:
|
||||
"""Prints the version in a prettifyed format."""
|
||||
prog_version = load_version(input_path)
|
||||
pretty_version = (
|
||||
f"{prog_version['major']}.{prog_version['minor']}.{prog_version['patch']}"
|
||||
)
|
||||
print(pretty_version)
|
||||
|
||||
|
||||
def bump_patch(version_file) -> None:
|
||||
"""Bumps the patch number of the given file by one."""
|
||||
# Get the version as dictionary
|
||||
version = load_version(version_file)
|
||||
|
||||
# Adding one to the version from the file and updating
|
||||
# the dictionary
|
||||
new_version = version["patch"] + 1
|
||||
version.update({"patch": new_version})
|
||||
|
||||
# Opening the file and overwriting its contents.
|
||||
with open(version_file, "w") as f:
|
||||
f.write(json.dumps(version, indent=4))
|
||||
|
||||
|
||||
def bump_minor(version_file) -> None:
|
||||
"""Bumps the minor version number of the given file by one."""
|
||||
# Get the version as dictionary
|
||||
version = load_version(version_file)
|
||||
|
||||
# Adding one to the version from the file and updating
|
||||
# the dictionary
|
||||
new_version = version["minor"] + 1
|
||||
version.update({"minor": new_version})
|
||||
|
||||
# Opening the file and overwriting its contents.
|
||||
with open(version_file, "w") as f:
|
||||
f.write(json.dumps(version, indent=4))
|
||||
|
||||
|
||||
def bump_major(version_file) -> None:
|
||||
"""Bumps the major version number of the given file by one."""
|
||||
# Get the version as dictionary
|
||||
version = load_version(version_file)
|
||||
|
||||
# Adding one to the version from the file and updating
|
||||
# the dictionary
|
||||
new_version = version["major"] + 1
|
||||
version.update({"major": new_version})
|
||||
|
||||
# Opening the file and overwriting its contents.
|
||||
with open(version_file, "w") as f:
|
||||
f.write(json.dumps(version, indent=4))
|
||||
|
||||
|
||||
def version_bumper(version_file, major_version, minor_version, patch) -> None:
|
||||
"""Decides what version to bump, based on the users passed flags"""
|
||||
if patch:
|
||||
bump_patch(version_file)
|
||||
if minor_version:
|
||||
bump_minor(version_file)
|
||||
if major_version:
|
||||
bump_major(version_file)
|
||||
|
||||
|
||||
def check_for_file(input_path: str) -> bool:
|
||||
"""Checks if the file 'version.json' exists at the given path.
|
||||
|
||||
Args:
|
||||
input_path ( str ): Path to check for the file.
|
||||
|
||||
Example:
|
||||
>>>check_for_file(".")
|
||||
'False'
|
||||
>>>check_for_file("version.json")
|
||||
'True'
|
||||
>>>check_for_file("./version.json")
|
||||
'True'
|
||||
"""
|
||||
if FILE_NAME in input_path:
|
||||
file_path = os.path.expanduser(input_path)
|
||||
if os.path.exists(file_path):
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
elif os.path.exists(os.path.join(input_path, FILE_NAME)):
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def request_to_create():
|
||||
"""Prompts the user if he wants to create the file and exits if the
|
||||
user declines or presses any other character instead of 'y/Y'"""
|
||||
|
||||
PROMPT = "The file does not exist, do you want to create it? [y/n]"
|
||||
PROMPT += "\n>>>"
|
||||
|
||||
response = input(PROMPT)
|
||||
if "y" in response or "Y" in response:
|
||||
file_path = os.path.join(
|
||||
os.path.expanduser(args.config),
|
||||
FILE_NAME,
|
||||
)
|
||||
create_version_file(file_path)
|
||||
return
|
||||
else:
|
||||
parser.print_help()
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
# ======================================================================
|
||||
# Dispatching
|
||||
if check_for_file(args.config):
|
||||
file_path = os.path.join(os.path.expanduser(args.config), FILE_NAME)
|
||||
if args.patch or args.minor or args.major:
|
||||
version_bumper(
|
||||
version_file=file_path,
|
||||
major_version=args.major,
|
||||
minor_version=args.minor,
|
||||
patch=args.patch,
|
||||
)
|
||||
else:
|
||||
pretty_version(file_path)
|
||||
|
||||
if check_for_file(args.config) is False:
|
||||
request_to_create()
|
||||
file_path = os.path.join(os.path.expanduser(args.config), FILE_NAME)
|
||||
version_bumper(
|
||||
version_file=file_path,
|
||||
major_version=args.major,
|
||||
minor_version=args.minor,
|
||||
patch=args.patch,
|
||||
)
|
||||
46
refit/README.md
Normal file
46
refit/README.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# refit
|
||||
|
||||
`refit` is a file and directory manipulation tool. Currently it can
|
||||
create a flat folder and file structure
|
||||
as well as an linear directory structure.
|
||||
|
||||
## ToDos
|
||||
|
||||
1. folder and file creation
|
||||
1.1 simple file and folder creation
|
||||
1.2 recursive file and folder creation
|
||||
2. file movement
|
||||
2.1 file deletion
|
||||
|
||||
- implement config file containing version, default names and other
|
||||
configurations
|
||||
- make file and directory creation start counting at 1 instead of 0
|
||||
- Add security check which benchmarks the creation of folders and files
|
||||
before the first execution in order to prevent either python, the file
|
||||
system or the system in general to crash.
|
||||
|
||||
## Changelog
|
||||
|
||||
<2025-10-16> V0.3.9 - Changed how the version is read
|
||||
<2025-10-05> V0.3.8 - Added file extension to file creation mode
|
||||
<2025-10-05> V0.3.7 - Added custom naming for level and branch in
|
||||
recursive mode
|
||||
<2025-10-05> V0.3.6 - Recursive mode no longer requires the -n flag
|
||||
<2025-10-04> V0.3.5 - Added a function which returns the length of a
|
||||
number
|
||||
<2025-10-04> V0.3.5 - Changed the recursive mode into an linear x*y
|
||||
pattern
|
||||
<2025-10-04> V0.3.4 - Added recursive directory creation and fixed
|
||||
numbered naming
|
||||
<2025-10-03> V0.3.3 - Added the beginning of recursive mode
|
||||
<2025-09-30> V0.3.2 - Refactoring librefit and added proper docstrings;
|
||||
begun to remove the check for the valid input and put it in the decider
|
||||
<2025-09-29> V0.3.1 - Removed the requirement for an input
|
||||
<2025-09-29> V0.3.0 - Added file creation in the pattern like
|
||||
directories
|
||||
<2025-09-29> V0.2.4 - Improved logging and log readability
|
||||
<2025-09-28> V0.2.3 - Added logging for version file and --filemode
|
||||
path to the decider
|
||||
<2025-09-28> V0.2.0 - Added librefit for standard functions
|
||||
<2025-09-28> V0.1.0 - Added the creation of multiple numbered
|
||||
directories in a given directory with the pattern default directory_n
|
||||
10
refit/pyproject.toml
Normal file
10
refit/pyproject.toml
Normal file
@@ -0,0 +1,10 @@
|
||||
[build-system]
|
||||
requires = ["setuptools>=61.0.0"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "refit"
|
||||
version = "0.0.1"
|
||||
|
||||
[tool.setuptools.packages]
|
||||
find = { where = ["src"] }
|
||||
0
refit/src/__init__.py
Normal file
0
refit/src/__init__.py
Normal file
277
refit/src/modules/librefit.py
Normal file
277
refit/src/modules/librefit.py
Normal file
@@ -0,0 +1,277 @@
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
|
||||
from .refit_logger import logger
|
||||
|
||||
# TODO: Make a standard function for reading config files, so it is
|
||||
# reusable
|
||||
|
||||
|
||||
def get_int_length(number: int) -> int:
|
||||
"""Takes an number as its input and returns the numbers diget amount.
|
||||
|
||||
This function takes an integer number, converts it into a string and
|
||||
converts its digets. It returns the length of the number as an integer.
|
||||
|
||||
Args:
|
||||
number (int): The number you need the length of
|
||||
|
||||
Examples:
|
||||
>>> get_int_length(100)
|
||||
'3'
|
||||
>>> get_int_length(10)
|
||||
'2'
|
||||
>>> get_int_length(4000)
|
||||
'4'
|
||||
"""
|
||||
number_string = str(number)
|
||||
amount_didgets = len(number_string)
|
||||
return amount_didgets
|
||||
|
||||
|
||||
def get_standard_name_number(current_number: int, number_str_length: int) -> str:
|
||||
"""Returns a number string filled to the length of the input number
|
||||
|
||||
This function returns the number in a standartized way as a string.
|
||||
As input it takes the current number of the string to build and a
|
||||
number which determines the length of the string.
|
||||
|
||||
Args:
|
||||
current_number (str): The current number of the item.
|
||||
number_str_length (int): The length of the string which gets returned.
|
||||
|
||||
Examples:
|
||||
>>> get_standard_name_number(1, 2)
|
||||
'01'
|
||||
>>> get_standard_name_number(23, 4)
|
||||
'0023'
|
||||
"""
|
||||
# logger.debug(
|
||||
# f"FUNC: get_standard_name_number() index={current_number} string_length={number_str_length}"
|
||||
# )
|
||||
temp_current_number = str(current_number)
|
||||
standard_name_number = str.zfill(temp_current_number, number_str_length)
|
||||
# logger.debug(
|
||||
# f"FUNC: get_standard_name_number() return value= '{standard_name_number}'"
|
||||
# )
|
||||
return standard_name_number
|
||||
|
||||
|
||||
def get_standard_folder_name(name: str) -> str:
|
||||
"""Returnes a standard name either from a list or the default value.
|
||||
|
||||
This function sanitizes the input, which gets passed as a list or None from
|
||||
argparse. The function either chooses the first entry of the list, given to
|
||||
the --name argument or returns the default value 'directory'
|
||||
|
||||
Args:
|
||||
name (list[str] | None): A list of names if passed to the --name argument
|
||||
or None if no name is passed.
|
||||
|
||||
Returns:
|
||||
str: The file name. Returns 'file' as default value if name argument is 'None'
|
||||
otherwise the first element of the list.
|
||||
|
||||
Examples:
|
||||
>>> get_standard_file_name(None)
|
||||
'file'
|
||||
>>> get_standard_file_name(["example"])
|
||||
'example'
|
||||
>>> get_standard_file_name(["directory_name", "example"])
|
||||
'directory_name'
|
||||
"""
|
||||
|
||||
standard_folder_name = name[0] if name is not None else "directory"
|
||||
|
||||
return standard_folder_name
|
||||
|
||||
|
||||
def get_standard_file_name(name) -> str:
|
||||
"""Returnes a name either from a list or the default value.
|
||||
|
||||
This function sanitizes the input, which gets passed as a list or None from
|
||||
argparse. The function either chooses the first entry of the list, given to
|
||||
the --name argument or returns the default value 'file'
|
||||
|
||||
Args:
|
||||
name (list[str] | None): A list of names if passed to the --name argument
|
||||
or None if no name is passed.
|
||||
|
||||
Returns:
|
||||
str: The file name. Returns 'file' as default value if name argument is 'None'
|
||||
otherwise the first element of the list.
|
||||
|
||||
Examples:
|
||||
>>> get_standard_file_name(None)
|
||||
'file'
|
||||
>>> get_standard_file_name(["example"])
|
||||
'example'
|
||||
>>> get_standard_file_name(["file_name", "example"])
|
||||
'file_name'
|
||||
"""
|
||||
|
||||
standard_file_name = name[0] if name is not None else "file"
|
||||
|
||||
return standard_file_name
|
||||
|
||||
|
||||
def get_current_path(path) -> str:
|
||||
"""Checks if the path argument is emty and applies the current directory as working path.
|
||||
|
||||
This function takes an list with strings as an input. If the input is `None` the current
|
||||
directory is taken as the working directory.
|
||||
If the path is passed, a check for its existence takes place.
|
||||
|
||||
Args:
|
||||
path (str): _The current working directory._
|
||||
|
||||
Returns:
|
||||
str: _Returns the path of the current directory after check for existence_
|
||||
"""
|
||||
|
||||
logger.debug(f"FUNC: get_current_path() MSG: entered function with path = '{path}'")
|
||||
if path is None:
|
||||
# Set the current directory if none is passed with the command.
|
||||
path = "."
|
||||
# logger.warning(
|
||||
# f"FUNC: {get_current_path.__name__}() MSG: Path now has the value: '{path}'"
|
||||
# )
|
||||
return path
|
||||
else:
|
||||
# Checks if the path, entered by the user, exists.
|
||||
if os.path.exists(path) is True:
|
||||
# logger.debug(
|
||||
# f"FUNC: {get_current_path.__name__} MSG: Path '{path}' exists, continue...."
|
||||
# )
|
||||
return path
|
||||
else:
|
||||
ERROR_MESSAGE = (
|
||||
f"FUNC: {get_current_path.__name__} MSG: '{path}' does not exist"
|
||||
)
|
||||
logger.warning(ERROR_MESSAGE)
|
||||
print(ERROR_MESSAGE)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def create_linear_directories(
|
||||
input_path: str, target_depth: int, current_depth: int, name
|
||||
):
|
||||
"""Creates the linear directories for the x*y pattern
|
||||
|
||||
If no name is given the name of the level is defaulted to 'level'.
|
||||
Otherwise it takes the second input of the --name argument. In the
|
||||
end it appends the number of the folder.
|
||||
|
||||
Args:
|
||||
input_path ( str ): _The current working directory.
|
||||
target_depth ( int ): _The depth on how deepo directories are created._
|
||||
current_depth ( int ): _The current depth of the folder creation._
|
||||
name ( list[str] | None ): _The name of the level directories._
|
||||
"""
|
||||
|
||||
# logger.debug(
|
||||
# f"FUNC: create_linear_directories(entered) VALUES: path='{input_path}', target_depth='{target_depth}', current_depth='{current_depth}'"
|
||||
# )
|
||||
|
||||
# TODO: Find a way on how to specify the type in the function call
|
||||
# and let the if statement pass.
|
||||
|
||||
# Get base directory name
|
||||
if name is None:
|
||||
base_name = "level"
|
||||
else:
|
||||
base_name = name[1]
|
||||
|
||||
if current_depth > target_depth:
|
||||
return
|
||||
# Create directory name
|
||||
directory_name = (
|
||||
base_name
|
||||
+ "_"
|
||||
+ get_standard_name_number(current_depth, get_int_length(target_depth))
|
||||
)
|
||||
|
||||
# Create the path where to create directory
|
||||
path = os.path.join(input_path, directory_name)
|
||||
|
||||
os.mkdir(path)
|
||||
|
||||
# Recursive call of itself
|
||||
create_linear_directories(path, target_depth, current_depth + 1, name)
|
||||
|
||||
|
||||
def create_parallel_directories(input_path: str, target_depth: int, width: int, name):
|
||||
"""Creates the branches which house the levels.
|
||||
|
||||
As input it takes the input_path and the width from which it creates
|
||||
the branches of the structure. Afterwards it passes the target_depth
|
||||
to another function to create the levels of each branch.
|
||||
If 'None' is passed to the '--name' argument, the default name 'branch'
|
||||
gets used as base directory name.
|
||||
|
||||
Args:
|
||||
input_path ( str ): _The current working directory.
|
||||
target_depth ( int ): _The depth on how deepo directories are created._
|
||||
width ( int ): _The ammount of branches to create._
|
||||
name ( list[str] | None ): _The name of the level directories._
|
||||
|
||||
"""
|
||||
|
||||
# logger.debug(
|
||||
# f"FUNC: create_parallel_directories(entered) VALUES: path='{input_path}', target_depth='{target_depth}', width='{width}', name={name}"
|
||||
# )
|
||||
|
||||
# TODO: Find a way on how to specify the type in the function call
|
||||
# and let the if statement pass.
|
||||
|
||||
# Get base directory name
|
||||
if name is None:
|
||||
base_name = "branch"
|
||||
else:
|
||||
base_name = name[0]
|
||||
|
||||
for i in range(width):
|
||||
# Create directory name
|
||||
directory_name = (
|
||||
base_name + "_" + get_standard_name_number(i, get_int_length(width))
|
||||
)
|
||||
|
||||
# Create the path where to create directory
|
||||
path = os.path.join(input_path, directory_name)
|
||||
os.mkdir(path)
|
||||
|
||||
# Recursive call of itself
|
||||
create_linear_directories(
|
||||
input_path=path,
|
||||
target_depth=target_depth,
|
||||
current_depth=0,
|
||||
name=name,
|
||||
)
|
||||
|
||||
|
||||
def get_version_from_file(input_path) -> str:
|
||||
"""Returns the version of the program.
|
||||
|
||||
The function accepts an path to a version file as a string and it
|
||||
returns it version number formatted.
|
||||
|
||||
Arg:
|
||||
input_path (str): The absolute or relative path to the
|
||||
version file.
|
||||
|
||||
Example:
|
||||
>>>get_version_from_file("/path/to/file.json")
|
||||
'0.2.1'"""
|
||||
# Expands the input path
|
||||
expanded_path = os.path.expanduser(input_path)
|
||||
|
||||
# Opening the file and reading its contents, saving as as an dict.
|
||||
file_path = open(expanded_path)
|
||||
prog_version = json.load(file_path)
|
||||
|
||||
# Formatting the output before returning the string again
|
||||
pretty_version = (
|
||||
f"{prog_version['major']}.{prog_version['minor']}.{prog_version['patch']}"
|
||||
)
|
||||
return pretty_version
|
||||
168
refit/src/modules/refit_create.py
Normal file
168
refit/src/modules/refit_create.py
Normal file
@@ -0,0 +1,168 @@
|
||||
import os
|
||||
from pathlib import Path
|
||||
import sys
|
||||
|
||||
from .refit_logger import logger
|
||||
from . import librefit
|
||||
|
||||
|
||||
class Refit_Create:
|
||||
"""A class to create folders and files.
|
||||
|
||||
It first calls the decider which lets the create_input_valid() function
|
||||
check if the input argument exists. If create_input_valid() returns
|
||||
'True' it continues to execute the command as per the given arguments."""
|
||||
|
||||
def __init__(self, args):
|
||||
"""Initiating variables for creation"""
|
||||
self.args = args
|
||||
|
||||
self.name = args.name
|
||||
self.input = args.input
|
||||
self.n = args.n
|
||||
self.filemode = args.filemode
|
||||
self.recursive = args.recursive
|
||||
self.e = args.e
|
||||
|
||||
def create_n_folders(self, n, input, name):
|
||||
"""Creates an set ammount of folders. Using the default directory
|
||||
name if no other is provided."""
|
||||
|
||||
logger.debug(f"FUNC: create_n_folders() ARGS: n={n} input={input} name={name}")
|
||||
|
||||
# Creating the length of the suffix number_string.
|
||||
length_n = librefit.get_int_length(n)
|
||||
|
||||
# Get either the default folder name or the input name as string.
|
||||
folder_name = librefit.get_standard_folder_name(name)
|
||||
|
||||
while n > 0:
|
||||
# iterating down for the files number.
|
||||
folder_number = n - 1
|
||||
|
||||
# Passing the number and the length of the string to get the string back.
|
||||
number_string = librefit.get_standard_name_number(folder_number, length_n)
|
||||
|
||||
# Creating path for the folder
|
||||
temp_name = f"{folder_name}_{number_string}"
|
||||
folder_creation_path = os.path.join(input, temp_name)
|
||||
|
||||
# Creating folder and subtracting n by one for the number_string
|
||||
os.mkdir(folder_creation_path)
|
||||
n -= 1
|
||||
|
||||
def create_n_files(self, n, input, name, file_extension):
|
||||
"""Creates an set ammount of files, using the default file name
|
||||
if none is provided."""
|
||||
|
||||
logger.debug(
|
||||
f"FUNC: create_n_files() MSG: Entered function VALUES: n={self.n} name={self.name} input={self.input}"
|
||||
)
|
||||
|
||||
# Creating the length of the suffix number_string.
|
||||
length_n = librefit.get_int_length(n)
|
||||
|
||||
# Get the name from the input argument.
|
||||
file_name = librefit.get_standard_file_name(name)
|
||||
|
||||
while n > 0:
|
||||
# Get number of the file(s) to create
|
||||
|
||||
file_number = n - 1
|
||||
number_string = librefit.get_standard_name_number(file_number, length_n)
|
||||
|
||||
# Get the name of the file, either applying default or using first list item.
|
||||
if file_extension is not None:
|
||||
temp_name = f"{file_name}_{number_string}.{file_extension}"
|
||||
else:
|
||||
temp_name = f"{file_name}_{number_string}"
|
||||
|
||||
file_path = Path(os.path.join(input, temp_name)) # Build file path
|
||||
file_path.touch(exist_ok=True) # creating file
|
||||
|
||||
# Counting down n for the next ieration of the while-loop
|
||||
n -= 1
|
||||
|
||||
def create_recursive(self, recursive, name, input):
|
||||
"""Creating directories recursively"""
|
||||
logger.debug(
|
||||
f"FUNC: create_recursive(beginning) MSG: entered function with following arguments: recursive='{recursive}' name='{name}' input='{input}'"
|
||||
)
|
||||
librefit.create_parallel_directories(
|
||||
input_path=input,
|
||||
target_depth=recursive[0],
|
||||
width=recursive[1],
|
||||
name=name,
|
||||
)
|
||||
|
||||
def input_validator(self):
|
||||
"""Function, which checks if the user input is valid"""
|
||||
|
||||
# Check working directory
|
||||
if self.input is None:
|
||||
self.input = librefit.get_current_path(self.input)
|
||||
logger.info(f"FUNC: input_validator(input check) VALUE: input={self.input}")
|
||||
|
||||
# Check for conflicting flags
|
||||
if self.recursive is not None and self.filemode:
|
||||
logger.error(
|
||||
f"FUNC: input_validator(recursive&filemode?) VALUES: recursive='{self.recursive}', filemode={self.filemode}"
|
||||
)
|
||||
print("Filemode and recursive do not work together.")
|
||||
sys.exit(1)
|
||||
|
||||
# Check if recursive input is an empty list
|
||||
if self.recursive is not None:
|
||||
if len(self.recursive) < 2:
|
||||
logger.error(
|
||||
"FUNC:input_validator(recursive) MSG: Invalid input, enter 2 numbers!"
|
||||
)
|
||||
sys.exit(1)
|
||||
|
||||
# Exit the program if the -n argument is not passed
|
||||
if self.n is None and self.recursive is None:
|
||||
logger.error(
|
||||
f"FUNC create_dispatcher(n=None ?) MSG: the number value cannot be '{self.n}'"
|
||||
)
|
||||
print("Use the '-n' flag for the create command.")
|
||||
sys.exit(1)
|
||||
else:
|
||||
return True
|
||||
|
||||
def create_dispatcher(self):
|
||||
"""Coordination of the 'create' sub command"""
|
||||
logger.debug(
|
||||
f"FUNC: create_dispatcher() MSG: Entered decider function {self.args}"
|
||||
)
|
||||
|
||||
if self.input_validator():
|
||||
if self.filemode:
|
||||
logger.debug(
|
||||
f"FUNC: create_dispatcher(filemode) MSG: given arguments: n={self.n} input={self.input} name={self.name} file_extension={self.e}"
|
||||
)
|
||||
self.create_n_files(self.n, self.input, self.name, self.e)
|
||||
|
||||
elif self.recursive is not None:
|
||||
logger.debug(
|
||||
f"FUNC: create_dispatcher(recursive) MSG: given arguments: n={self.n} input={self.input} name={self.name} recursive={self.recursive}"
|
||||
)
|
||||
self.create_recursive(self.recursive, self.name, self.input)
|
||||
|
||||
elif not self.recursive and not self.filemode:
|
||||
logger.debug(
|
||||
f"FUNC: create_dispatcher(n_folder) MSG: given arguments: n={self.n} input={self.input} name={self.name}"
|
||||
)
|
||||
self.create_n_folders(self.n, self.input, self.name)
|
||||
|
||||
else:
|
||||
logger.debug(
|
||||
f"FUNC: create_dispatcher(exit no input) MSG: given arguments: n={self.n} input={self.input} name={self.name} recursive={self.recursive}"
|
||||
)
|
||||
print(
|
||||
"Use '-n' argument to create directories.\nPlease use 'refit create -h' for help"
|
||||
)
|
||||
sys.exit(1)
|
||||
|
||||
def __call__(self):
|
||||
"""Gets called when the 'create' subcommand is used."""
|
||||
self.create_dispatcher()
|
||||
29
refit/src/modules/refit_logger.py
Normal file
29
refit/src/modules/refit_logger.py
Normal file
@@ -0,0 +1,29 @@
|
||||
import logging
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
log_dir = Path.home() / ".local" / "share" / "refit"
|
||||
log_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
log_file = log_dir / "refit.log"
|
||||
|
||||
|
||||
logging.basicConfig(
|
||||
level=logging.DEBUG,
|
||||
format="%(asctime)s - %(levelname)s - %(message)s",
|
||||
filename=log_file,
|
||||
)
|
||||
logger = logging.getLogger()
|
||||
|
||||
|
||||
def handle_exception(exec_type, exec_value, exec_traceback):
|
||||
if issubclass(exec_type, KeyboardInterrupt):
|
||||
sys.__excepthook__(exec_type, exec_value, exec_traceback)
|
||||
return
|
||||
logger.error(
|
||||
"External error accured",
|
||||
exc_info=(exec_type, exec_value, exec_traceback),
|
||||
)
|
||||
|
||||
|
||||
sys.excepthook = handle_exception
|
||||
89
refit/src/refit.py
Normal file
89
refit/src/refit.py
Normal file
@@ -0,0 +1,89 @@
|
||||
import argparse
|
||||
import sys
|
||||
|
||||
from modules.refit_logger import logger
|
||||
from modules.refit_create import Refit_Create
|
||||
from modules.librefit import get_version_from_file
|
||||
|
||||
# NOTE: The final version file needs a dedicated place to live in
|
||||
# so the version number is always readable, independent from where it
|
||||
# is executed
|
||||
REFIT_VERSION = get_version_from_file("~/Documents/git/python/refit/src/version.json")
|
||||
|
||||
# ---------------------------ARGPARSE START---------------------------
|
||||
|
||||
# Main Parser
|
||||
parser = argparse.ArgumentParser(
|
||||
prog="refit",
|
||||
description="""This is a file and directory manipulation tool. It can create, move and delete files and directories as well as renaming them""",
|
||||
epilog=REFIT_VERSION,
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
)
|
||||
|
||||
# Main Parser Arguments
|
||||
|
||||
# Create Parser
|
||||
subparser = parser.add_subparsers(
|
||||
title="Commands",
|
||||
required=False,
|
||||
)
|
||||
|
||||
# Create Parser Arguments
|
||||
create_parser = subparser.add_parser(
|
||||
name="create",
|
||||
description="The create sub command lets you create files, folders and directory structures.",
|
||||
help="The create sub command lets you create files, folders and directory structures.",
|
||||
)
|
||||
create_parser.add_argument(
|
||||
"-n",
|
||||
metavar="COUNT",
|
||||
type=int,
|
||||
help="Number of items",
|
||||
)
|
||||
create_parser.add_argument(
|
||||
"-i",
|
||||
"--input",
|
||||
metavar="PATH",
|
||||
help="Input path. If not specified the current directory is used.",
|
||||
)
|
||||
create_parser.add_argument(
|
||||
"--name",
|
||||
nargs="*",
|
||||
help="the name of the folder you want to create\n Default: directory",
|
||||
)
|
||||
create_parser.add_argument(
|
||||
"--filemode",
|
||||
action="store_true",
|
||||
help="creates files instead of directories",
|
||||
)
|
||||
create_parser.add_argument(
|
||||
"-r",
|
||||
"--recursive",
|
||||
metavar="INT",
|
||||
type=int,
|
||||
nargs=2,
|
||||
help="""Sets the recursive mode for folders to true. First argumet
|
||||
is for the depth and the second for the width.""",
|
||||
)
|
||||
create_parser.add_argument(
|
||||
"-e",
|
||||
type=str,
|
||||
help="File extension which gets appended to the end of the file name.",
|
||||
)
|
||||
create_parser.set_defaults(command_class=Refit_Create)
|
||||
|
||||
args = parser.parse_args()
|
||||
# ---------------------------ARGPARSE END-----------------------------
|
||||
|
||||
|
||||
# Dispatcher
|
||||
# determines what code gets addressed based of the users chosen flags.
|
||||
if hasattr(args, "command_class"):
|
||||
# logger.debug(f"In dispatcher with args: {args}")
|
||||
Refit_Create = args.command_class
|
||||
create_command_instance = Refit_Create(args)
|
||||
create_command_instance()
|
||||
else:
|
||||
parser.print_help()
|
||||
logger.info("No input, exiting with exit code: 1")
|
||||
sys.exit(1)
|
||||
5
refit/src/version.json
Normal file
5
refit/src/version.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"minor": 3,
|
||||
"major": 0,
|
||||
"patch": 8
|
||||
}
|
||||
60
refit/test_librefit.py
Normal file
60
refit/test_librefit.py
Normal file
@@ -0,0 +1,60 @@
|
||||
from src.modules.librefit import (
|
||||
get_current_path,
|
||||
get_standard_folder_name,
|
||||
get_standard_name_number,
|
||||
get_standard_file_name,
|
||||
)
|
||||
|
||||
|
||||
def test_get_default_file_name():
|
||||
"""Tests if the function returns the correct value"""
|
||||
default_name = get_standard_file_name(None)
|
||||
assert "file" in default_name
|
||||
|
||||
|
||||
def test_get_default_folder_name():
|
||||
"""Test if the default directory name gets returned"""
|
||||
default_name = get_standard_folder_name(None)
|
||||
assert "directory" in default_name
|
||||
|
||||
|
||||
def test_get_standard_name_number():
|
||||
"""Tests if the number function returns the correctly formatted string."""
|
||||
name_number = get_standard_name_number(20, 3)
|
||||
assert "020" in name_number
|
||||
|
||||
|
||||
def test_get_filename():
|
||||
"""Tests if a passed filename is returned properly"""
|
||||
filename = get_standard_file_name(["testname"])
|
||||
assert "testname" in filename
|
||||
|
||||
|
||||
def test_get_folder_name():
|
||||
"""Tests if the function returns the passed folder name correctly"""
|
||||
folder_name = ["folder"]
|
||||
return_folder_name = get_standard_folder_name(folder_name)
|
||||
assert "folder" in return_folder_name
|
||||
|
||||
|
||||
def test_folder_name_list():
|
||||
"""The function is supposed to only return the first name of the
|
||||
passed list"""
|
||||
folder_names = ["folder1", "folder2", "folder3"]
|
||||
return_folder_name = get_standard_folder_name(folder_names)
|
||||
assert "folder1" in return_folder_name
|
||||
|
||||
|
||||
def test_get_current_directory():
|
||||
"""Tests if the directory is set to the current directory, if None
|
||||
is passed with the argument"""
|
||||
path = None
|
||||
directory = get_current_path(path)
|
||||
assert "." in directory
|
||||
|
||||
|
||||
def test_for_existing_path():
|
||||
"""Tests if the function returns the correct path."""
|
||||
path = "/home/cerberus/Documents/books/"
|
||||
directory = get_current_path(path)
|
||||
assert "/home/cerberus/Documents/books/" in directory
|
||||
@@ -6,3 +6,10 @@ e.g. folder manipulation.
|
||||
The tempbox command followed by another command executes it in an
|
||||
temporary folder in /tmp. Afterwards it removes the temporary folder
|
||||
again.
|
||||
|
||||
## Changelog
|
||||
|
||||
<2025-09-27> - Beta b0.2.1 - added logging in $USER/.local/share/tempbox<br>
|
||||
<2025-09-27> - Beta b0.1.1 - added the version output<br>
|
||||
<2025-09-27> - Beta b0.1.1 - fixed verbosity switch for subprocess<br>
|
||||
<2025-09-27> - *Beta b0.0.1* - first release of tempbox
|
||||
|
||||
Binary file not shown.
@@ -1,570 +0,0 @@
|
||||
(['/home/cerberus/Documents/git/python/tempbox/tempbox.py'],
|
||||
['/home/cerberus/Documents/git/python/tempbox'],
|
||||
[],
|
||||
[('/usr/lib/python3.13/site-packages/_pyinstaller_hooks_contrib/stdhooks',
|
||||
-1000),
|
||||
('/usr/lib/python3.13/site-packages/_pyinstaller_hooks_contrib', -1000)],
|
||||
{},
|
||||
[],
|
||||
[],
|
||||
False,
|
||||
{},
|
||||
0,
|
||||
[],
|
||||
[],
|
||||
'3.13.7 (main, Aug 15 2025, 12:34:02) [GCC 15.2.1 20250813]',
|
||||
[('pyi_rth_inspect',
|
||||
'/usr/lib/python3.13/site-packages/PyInstaller/hooks/rthooks/pyi_rth_inspect.py',
|
||||
'PYSOURCE'),
|
||||
('tempbox',
|
||||
'/home/cerberus/Documents/git/python/tempbox/tempbox.py',
|
||||
'PYSOURCE')],
|
||||
[('zipfile', '/usr/lib/python3.13/zipfile/__init__.py', 'PYMODULE'),
|
||||
('zipfile._path',
|
||||
'/usr/lib/python3.13/zipfile/_path/__init__.py',
|
||||
'PYMODULE'),
|
||||
('zipfile._path.glob',
|
||||
'/usr/lib/python3.13/zipfile/_path/glob.py',
|
||||
'PYMODULE'),
|
||||
('pathlib', '/usr/lib/python3.13/pathlib/__init__.py', 'PYMODULE'),
|
||||
('pathlib._local', '/usr/lib/python3.13/pathlib/_local.py', 'PYMODULE'),
|
||||
('urllib.parse', '/usr/lib/python3.13/urllib/parse.py', 'PYMODULE'),
|
||||
('urllib', '/usr/lib/python3.13/urllib/__init__.py', 'PYMODULE'),
|
||||
('ipaddress', '/usr/lib/python3.13/ipaddress.py', 'PYMODULE'),
|
||||
('glob', '/usr/lib/python3.13/glob.py', 'PYMODULE'),
|
||||
('fnmatch', '/usr/lib/python3.13/fnmatch.py', 'PYMODULE'),
|
||||
('pathlib._abc', '/usr/lib/python3.13/pathlib/_abc.py', 'PYMODULE'),
|
||||
('contextlib', '/usr/lib/python3.13/contextlib.py', 'PYMODULE'),
|
||||
('py_compile', '/usr/lib/python3.13/py_compile.py', 'PYMODULE'),
|
||||
('importlib.machinery',
|
||||
'/usr/lib/python3.13/importlib/machinery.py',
|
||||
'PYMODULE'),
|
||||
('importlib', '/usr/lib/python3.13/importlib/__init__.py', 'PYMODULE'),
|
||||
('importlib._bootstrap',
|
||||
'/usr/lib/python3.13/importlib/_bootstrap.py',
|
||||
'PYMODULE'),
|
||||
('importlib._bootstrap_external',
|
||||
'/usr/lib/python3.13/importlib/_bootstrap_external.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata',
|
||||
'/usr/lib/python3.13/importlib/metadata/__init__.py',
|
||||
'PYMODULE'),
|
||||
('csv', '/usr/lib/python3.13/csv.py', 'PYMODULE'),
|
||||
('importlib.metadata._adapters',
|
||||
'/usr/lib/python3.13/importlib/metadata/_adapters.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._text',
|
||||
'/usr/lib/python3.13/importlib/metadata/_text.py',
|
||||
'PYMODULE'),
|
||||
('email.message', '/usr/lib/python3.13/email/message.py', 'PYMODULE'),
|
||||
('email.policy', '/usr/lib/python3.13/email/policy.py', 'PYMODULE'),
|
||||
('email.contentmanager',
|
||||
'/usr/lib/python3.13/email/contentmanager.py',
|
||||
'PYMODULE'),
|
||||
('email.quoprimime', '/usr/lib/python3.13/email/quoprimime.py', 'PYMODULE'),
|
||||
('string', '/usr/lib/python3.13/string.py', 'PYMODULE'),
|
||||
('email.headerregistry',
|
||||
'/usr/lib/python3.13/email/headerregistry.py',
|
||||
'PYMODULE'),
|
||||
('email._header_value_parser',
|
||||
'/usr/lib/python3.13/email/_header_value_parser.py',
|
||||
'PYMODULE'),
|
||||
('email.iterators', '/usr/lib/python3.13/email/iterators.py', 'PYMODULE'),
|
||||
('email.generator', '/usr/lib/python3.13/email/generator.py', 'PYMODULE'),
|
||||
('copy', '/usr/lib/python3.13/copy.py', 'PYMODULE'),
|
||||
('random', '/usr/lib/python3.13/random.py', 'PYMODULE'),
|
||||
('statistics', '/usr/lib/python3.13/statistics.py', 'PYMODULE'),
|
||||
('decimal', '/usr/lib/python3.13/decimal.py', 'PYMODULE'),
|
||||
('_pydecimal', '/usr/lib/python3.13/_pydecimal.py', 'PYMODULE'),
|
||||
('contextvars', '/usr/lib/python3.13/contextvars.py', 'PYMODULE'),
|
||||
('fractions', '/usr/lib/python3.13/fractions.py', 'PYMODULE'),
|
||||
('numbers', '/usr/lib/python3.13/numbers.py', 'PYMODULE'),
|
||||
('hashlib', '/usr/lib/python3.13/hashlib.py', 'PYMODULE'),
|
||||
('logging', '/usr/lib/python3.13/logging/__init__.py', 'PYMODULE'),
|
||||
('pickle', '/usr/lib/python3.13/pickle.py', 'PYMODULE'),
|
||||
('pprint', '/usr/lib/python3.13/pprint.py', 'PYMODULE'),
|
||||
('dataclasses', '/usr/lib/python3.13/dataclasses.py', 'PYMODULE'),
|
||||
('_compat_pickle', '/usr/lib/python3.13/_compat_pickle.py', 'PYMODULE'),
|
||||
('bisect', '/usr/lib/python3.13/bisect.py', 'PYMODULE'),
|
||||
('email._encoded_words',
|
||||
'/usr/lib/python3.13/email/_encoded_words.py',
|
||||
'PYMODULE'),
|
||||
('base64', '/usr/lib/python3.13/base64.py', 'PYMODULE'),
|
||||
('getopt', '/usr/lib/python3.13/getopt.py', 'PYMODULE'),
|
||||
('gettext', '/usr/lib/python3.13/gettext.py', 'PYMODULE'),
|
||||
('email.charset', '/usr/lib/python3.13/email/charset.py', 'PYMODULE'),
|
||||
('email.encoders', '/usr/lib/python3.13/email/encoders.py', 'PYMODULE'),
|
||||
('email.base64mime', '/usr/lib/python3.13/email/base64mime.py', 'PYMODULE'),
|
||||
('email._policybase', '/usr/lib/python3.13/email/_policybase.py', 'PYMODULE'),
|
||||
('email.header', '/usr/lib/python3.13/email/header.py', 'PYMODULE'),
|
||||
('email.errors', '/usr/lib/python3.13/email/errors.py', 'PYMODULE'),
|
||||
('email.utils', '/usr/lib/python3.13/email/utils.py', 'PYMODULE'),
|
||||
('socket', '/usr/lib/python3.13/socket.py', 'PYMODULE'),
|
||||
('selectors', '/usr/lib/python3.13/selectors.py', 'PYMODULE'),
|
||||
('email._parseaddr', '/usr/lib/python3.13/email/_parseaddr.py', 'PYMODULE'),
|
||||
('calendar', '/usr/lib/python3.13/calendar.py', 'PYMODULE'),
|
||||
('datetime', '/usr/lib/python3.13/datetime.py', 'PYMODULE'),
|
||||
('_pydatetime', '/usr/lib/python3.13/_pydatetime.py', 'PYMODULE'),
|
||||
('_strptime', '/usr/lib/python3.13/_strptime.py', 'PYMODULE'),
|
||||
('quopri', '/usr/lib/python3.13/quopri.py', 'PYMODULE'),
|
||||
('typing', '/usr/lib/python3.13/typing.py', 'PYMODULE'),
|
||||
('importlib.abc', '/usr/lib/python3.13/importlib/abc.py', 'PYMODULE'),
|
||||
('importlib.resources.abc',
|
||||
'/usr/lib/python3.13/importlib/resources/abc.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources',
|
||||
'/usr/lib/python3.13/importlib/resources/__init__.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources._functional',
|
||||
'/usr/lib/python3.13/importlib/resources/_functional.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources._common',
|
||||
'/usr/lib/python3.13/importlib/resources/_common.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources._adapters',
|
||||
'/usr/lib/python3.13/importlib/resources/_adapters.py',
|
||||
'PYMODULE'),
|
||||
('importlib._abc', '/usr/lib/python3.13/importlib/_abc.py', 'PYMODULE'),
|
||||
('importlib.metadata._itertools',
|
||||
'/usr/lib/python3.13/importlib/metadata/_itertools.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._functools',
|
||||
'/usr/lib/python3.13/importlib/metadata/_functools.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._collections',
|
||||
'/usr/lib/python3.13/importlib/metadata/_collections.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._meta',
|
||||
'/usr/lib/python3.13/importlib/metadata/_meta.py',
|
||||
'PYMODULE'),
|
||||
('textwrap', '/usr/lib/python3.13/textwrap.py', 'PYMODULE'),
|
||||
('email', '/usr/lib/python3.13/email/__init__.py', 'PYMODULE'),
|
||||
('email.parser', '/usr/lib/python3.13/email/parser.py', 'PYMODULE'),
|
||||
('email.feedparser', '/usr/lib/python3.13/email/feedparser.py', 'PYMODULE'),
|
||||
('json', '/usr/lib/python3.13/json/__init__.py', 'PYMODULE'),
|
||||
('json.encoder', '/usr/lib/python3.13/json/encoder.py', 'PYMODULE'),
|
||||
('json.decoder', '/usr/lib/python3.13/json/decoder.py', 'PYMODULE'),
|
||||
('json.scanner', '/usr/lib/python3.13/json/scanner.py', 'PYMODULE'),
|
||||
('__future__', '/usr/lib/python3.13/__future__.py', 'PYMODULE'),
|
||||
('importlib.readers', '/usr/lib/python3.13/importlib/readers.py', 'PYMODULE'),
|
||||
('importlib.resources.readers',
|
||||
'/usr/lib/python3.13/importlib/resources/readers.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources._itertools',
|
||||
'/usr/lib/python3.13/importlib/resources/_itertools.py',
|
||||
'PYMODULE'),
|
||||
('tokenize', '/usr/lib/python3.13/tokenize.py', 'PYMODULE'),
|
||||
('token', '/usr/lib/python3.13/token.py', 'PYMODULE'),
|
||||
('lzma', '/usr/lib/python3.13/lzma.py', 'PYMODULE'),
|
||||
('_compression', '/usr/lib/python3.13/_compression.py', 'PYMODULE'),
|
||||
('bz2', '/usr/lib/python3.13/bz2.py', 'PYMODULE'),
|
||||
('threading', '/usr/lib/python3.13/threading.py', 'PYMODULE'),
|
||||
('_threading_local', '/usr/lib/python3.13/_threading_local.py', 'PYMODULE'),
|
||||
('struct', '/usr/lib/python3.13/struct.py', 'PYMODULE'),
|
||||
('shutil', '/usr/lib/python3.13/shutil.py', 'PYMODULE'),
|
||||
('tarfile', '/usr/lib/python3.13/tarfile.py', 'PYMODULE'),
|
||||
('gzip', '/usr/lib/python3.13/gzip.py', 'PYMODULE'),
|
||||
('importlib.util', '/usr/lib/python3.13/importlib/util.py', 'PYMODULE'),
|
||||
('inspect', '/usr/lib/python3.13/inspect.py', 'PYMODULE'),
|
||||
('dis', '/usr/lib/python3.13/dis.py', 'PYMODULE'),
|
||||
('opcode', '/usr/lib/python3.13/opcode.py', 'PYMODULE'),
|
||||
('_opcode_metadata', '/usr/lib/python3.13/_opcode_metadata.py', 'PYMODULE'),
|
||||
('ast', '/usr/lib/python3.13/ast.py', 'PYMODULE'),
|
||||
('stringprep', '/usr/lib/python3.13/stringprep.py', 'PYMODULE'),
|
||||
('tracemalloc', '/usr/lib/python3.13/tracemalloc.py', 'PYMODULE'),
|
||||
('_py_abc', '/usr/lib/python3.13/_py_abc.py', 'PYMODULE'),
|
||||
('subprocess', '/usr/lib/python3.13/subprocess.py', 'PYMODULE'),
|
||||
('signal', '/usr/lib/python3.13/signal.py', 'PYMODULE'),
|
||||
('_colorize', '/usr/lib/python3.13/_colorize.py', 'PYMODULE'),
|
||||
('tempbox_functions',
|
||||
'/home/cerberus/Documents/git/python/tempbox/tempbox_functions.py',
|
||||
'PYMODULE'),
|
||||
('argparse', '/usr/lib/python3.13/argparse.py', 'PYMODULE'),
|
||||
('tempfile', '/usr/lib/python3.13/tempfile.py', 'PYMODULE')],
|
||||
[('libpython3.13.so.1.0', '/usr/lib/libpython3.13.so.1.0', 'BINARY'),
|
||||
('python3.13/lib-dynload/unicodedata.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/unicodedata.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/math.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/math.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/grp.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/grp.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_csv.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_csv.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_statistics.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_statistics.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_contextvars.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_contextvars.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_decimal.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_decimal.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_pickle.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_pickle.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_hashlib.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_hashlib.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_sha3.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_sha3.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_blake2.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_blake2.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_md5.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_md5.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_sha1.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_sha1.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_sha2.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_sha2.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_random.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_random.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_bisect.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_bisect.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/array.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/array.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/select.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/select.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_socket.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_socket.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_datetime.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_datetime.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_json.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_json.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/resource.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/resource.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_lzma.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_lzma.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_bz2.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_bz2.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/zlib.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/zlib.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_struct.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_struct.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/binascii.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/binascii.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_opcode.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_opcode.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_multibytecodec.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_multibytecodec.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_codecs_jp.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_codecs_jp.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_codecs_kr.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_codecs_kr.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_codecs_iso2022.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_codecs_iso2022.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_codecs_cn.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_codecs_cn.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_codecs_tw.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_codecs_tw.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_codecs_hk.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_codecs_hk.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_posixsubprocess.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_posixsubprocess.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/fcntl.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/fcntl.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_heapq.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_heapq.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('libmpdec.so.4', '/usr/lib/libmpdec.so.4', 'BINARY'),
|
||||
('libcrypto.so.3', '/usr/lib/libcrypto.so.3', 'BINARY'),
|
||||
('liblzma.so.5', '/usr/lib/liblzma.so.5', 'BINARY'),
|
||||
('libbz2.so.1.0', '/usr/lib/libbz2.so.1.0', 'BINARY'),
|
||||
('libz.so.1', '/usr/lib/libz.so.1', 'BINARY')],
|
||||
[],
|
||||
[],
|
||||
[('base_library.zip',
|
||||
'/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/base_library.zip',
|
||||
'DATA')],
|
||||
[('encodings.zlib_codec',
|
||||
'/usr/lib/python3.13/encodings/zlib_codec.py',
|
||||
'PYMODULE'),
|
||||
('encodings.uu_codec',
|
||||
'/usr/lib/python3.13/encodings/uu_codec.py',
|
||||
'PYMODULE'),
|
||||
('encodings.utf_8_sig',
|
||||
'/usr/lib/python3.13/encodings/utf_8_sig.py',
|
||||
'PYMODULE'),
|
||||
('encodings.utf_8', '/usr/lib/python3.13/encodings/utf_8.py', 'PYMODULE'),
|
||||
('encodings.utf_7', '/usr/lib/python3.13/encodings/utf_7.py', 'PYMODULE'),
|
||||
('encodings.utf_32_le',
|
||||
'/usr/lib/python3.13/encodings/utf_32_le.py',
|
||||
'PYMODULE'),
|
||||
('encodings.utf_32_be',
|
||||
'/usr/lib/python3.13/encodings/utf_32_be.py',
|
||||
'PYMODULE'),
|
||||
('encodings.utf_32', '/usr/lib/python3.13/encodings/utf_32.py', 'PYMODULE'),
|
||||
('encodings.utf_16_le',
|
||||
'/usr/lib/python3.13/encodings/utf_16_le.py',
|
||||
'PYMODULE'),
|
||||
('encodings.utf_16_be',
|
||||
'/usr/lib/python3.13/encodings/utf_16_be.py',
|
||||
'PYMODULE'),
|
||||
('encodings.utf_16', '/usr/lib/python3.13/encodings/utf_16.py', 'PYMODULE'),
|
||||
('encodings.unicode_escape',
|
||||
'/usr/lib/python3.13/encodings/unicode_escape.py',
|
||||
'PYMODULE'),
|
||||
('encodings.undefined',
|
||||
'/usr/lib/python3.13/encodings/undefined.py',
|
||||
'PYMODULE'),
|
||||
('encodings.tis_620', '/usr/lib/python3.13/encodings/tis_620.py', 'PYMODULE'),
|
||||
('encodings.shift_jisx0213',
|
||||
'/usr/lib/python3.13/encodings/shift_jisx0213.py',
|
||||
'PYMODULE'),
|
||||
('encodings.shift_jis_2004',
|
||||
'/usr/lib/python3.13/encodings/shift_jis_2004.py',
|
||||
'PYMODULE'),
|
||||
('encodings.shift_jis',
|
||||
'/usr/lib/python3.13/encodings/shift_jis.py',
|
||||
'PYMODULE'),
|
||||
('encodings.rot_13', '/usr/lib/python3.13/encodings/rot_13.py', 'PYMODULE'),
|
||||
('encodings.raw_unicode_escape',
|
||||
'/usr/lib/python3.13/encodings/raw_unicode_escape.py',
|
||||
'PYMODULE'),
|
||||
('encodings.quopri_codec',
|
||||
'/usr/lib/python3.13/encodings/quopri_codec.py',
|
||||
'PYMODULE'),
|
||||
('encodings.punycode',
|
||||
'/usr/lib/python3.13/encodings/punycode.py',
|
||||
'PYMODULE'),
|
||||
('encodings.ptcp154', '/usr/lib/python3.13/encodings/ptcp154.py', 'PYMODULE'),
|
||||
('encodings.palmos', '/usr/lib/python3.13/encodings/palmos.py', 'PYMODULE'),
|
||||
('encodings.oem', '/usr/lib/python3.13/encodings/oem.py', 'PYMODULE'),
|
||||
('encodings.mbcs', '/usr/lib/python3.13/encodings/mbcs.py', 'PYMODULE'),
|
||||
('encodings.mac_turkish',
|
||||
'/usr/lib/python3.13/encodings/mac_turkish.py',
|
||||
'PYMODULE'),
|
||||
('encodings.mac_romanian',
|
||||
'/usr/lib/python3.13/encodings/mac_romanian.py',
|
||||
'PYMODULE'),
|
||||
('encodings.mac_roman',
|
||||
'/usr/lib/python3.13/encodings/mac_roman.py',
|
||||
'PYMODULE'),
|
||||
('encodings.mac_latin2',
|
||||
'/usr/lib/python3.13/encodings/mac_latin2.py',
|
||||
'PYMODULE'),
|
||||
('encodings.mac_iceland',
|
||||
'/usr/lib/python3.13/encodings/mac_iceland.py',
|
||||
'PYMODULE'),
|
||||
('encodings.mac_greek',
|
||||
'/usr/lib/python3.13/encodings/mac_greek.py',
|
||||
'PYMODULE'),
|
||||
('encodings.mac_farsi',
|
||||
'/usr/lib/python3.13/encodings/mac_farsi.py',
|
||||
'PYMODULE'),
|
||||
('encodings.mac_cyrillic',
|
||||
'/usr/lib/python3.13/encodings/mac_cyrillic.py',
|
||||
'PYMODULE'),
|
||||
('encodings.mac_croatian',
|
||||
'/usr/lib/python3.13/encodings/mac_croatian.py',
|
||||
'PYMODULE'),
|
||||
('encodings.mac_arabic',
|
||||
'/usr/lib/python3.13/encodings/mac_arabic.py',
|
||||
'PYMODULE'),
|
||||
('encodings.latin_1', '/usr/lib/python3.13/encodings/latin_1.py', 'PYMODULE'),
|
||||
('encodings.kz1048', '/usr/lib/python3.13/encodings/kz1048.py', 'PYMODULE'),
|
||||
('encodings.koi8_u', '/usr/lib/python3.13/encodings/koi8_u.py', 'PYMODULE'),
|
||||
('encodings.koi8_t', '/usr/lib/python3.13/encodings/koi8_t.py', 'PYMODULE'),
|
||||
('encodings.koi8_r', '/usr/lib/python3.13/encodings/koi8_r.py', 'PYMODULE'),
|
||||
('encodings.johab', '/usr/lib/python3.13/encodings/johab.py', 'PYMODULE'),
|
||||
('encodings.iso8859_9',
|
||||
'/usr/lib/python3.13/encodings/iso8859_9.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso8859_8',
|
||||
'/usr/lib/python3.13/encodings/iso8859_8.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso8859_7',
|
||||
'/usr/lib/python3.13/encodings/iso8859_7.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso8859_6',
|
||||
'/usr/lib/python3.13/encodings/iso8859_6.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso8859_5',
|
||||
'/usr/lib/python3.13/encodings/iso8859_5.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso8859_4',
|
||||
'/usr/lib/python3.13/encodings/iso8859_4.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso8859_3',
|
||||
'/usr/lib/python3.13/encodings/iso8859_3.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso8859_2',
|
||||
'/usr/lib/python3.13/encodings/iso8859_2.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso8859_16',
|
||||
'/usr/lib/python3.13/encodings/iso8859_16.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso8859_15',
|
||||
'/usr/lib/python3.13/encodings/iso8859_15.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso8859_14',
|
||||
'/usr/lib/python3.13/encodings/iso8859_14.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso8859_13',
|
||||
'/usr/lib/python3.13/encodings/iso8859_13.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso8859_11',
|
||||
'/usr/lib/python3.13/encodings/iso8859_11.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso8859_10',
|
||||
'/usr/lib/python3.13/encodings/iso8859_10.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso8859_1',
|
||||
'/usr/lib/python3.13/encodings/iso8859_1.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso2022_kr',
|
||||
'/usr/lib/python3.13/encodings/iso2022_kr.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso2022_jp_ext',
|
||||
'/usr/lib/python3.13/encodings/iso2022_jp_ext.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso2022_jp_3',
|
||||
'/usr/lib/python3.13/encodings/iso2022_jp_3.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso2022_jp_2004',
|
||||
'/usr/lib/python3.13/encodings/iso2022_jp_2004.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso2022_jp_2',
|
||||
'/usr/lib/python3.13/encodings/iso2022_jp_2.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso2022_jp_1',
|
||||
'/usr/lib/python3.13/encodings/iso2022_jp_1.py',
|
||||
'PYMODULE'),
|
||||
('encodings.iso2022_jp',
|
||||
'/usr/lib/python3.13/encodings/iso2022_jp.py',
|
||||
'PYMODULE'),
|
||||
('encodings.idna', '/usr/lib/python3.13/encodings/idna.py', 'PYMODULE'),
|
||||
('encodings.hz', '/usr/lib/python3.13/encodings/hz.py', 'PYMODULE'),
|
||||
('encodings.hp_roman8',
|
||||
'/usr/lib/python3.13/encodings/hp_roman8.py',
|
||||
'PYMODULE'),
|
||||
('encodings.hex_codec',
|
||||
'/usr/lib/python3.13/encodings/hex_codec.py',
|
||||
'PYMODULE'),
|
||||
('encodings.gbk', '/usr/lib/python3.13/encodings/gbk.py', 'PYMODULE'),
|
||||
('encodings.gb2312', '/usr/lib/python3.13/encodings/gb2312.py', 'PYMODULE'),
|
||||
('encodings.gb18030', '/usr/lib/python3.13/encodings/gb18030.py', 'PYMODULE'),
|
||||
('encodings.euc_kr', '/usr/lib/python3.13/encodings/euc_kr.py', 'PYMODULE'),
|
||||
('encodings.euc_jp', '/usr/lib/python3.13/encodings/euc_jp.py', 'PYMODULE'),
|
||||
('encodings.euc_jisx0213',
|
||||
'/usr/lib/python3.13/encodings/euc_jisx0213.py',
|
||||
'PYMODULE'),
|
||||
('encodings.euc_jis_2004',
|
||||
'/usr/lib/python3.13/encodings/euc_jis_2004.py',
|
||||
'PYMODULE'),
|
||||
('encodings.cp950', '/usr/lib/python3.13/encodings/cp950.py', 'PYMODULE'),
|
||||
('encodings.cp949', '/usr/lib/python3.13/encodings/cp949.py', 'PYMODULE'),
|
||||
('encodings.cp932', '/usr/lib/python3.13/encodings/cp932.py', 'PYMODULE'),
|
||||
('encodings.cp875', '/usr/lib/python3.13/encodings/cp875.py', 'PYMODULE'),
|
||||
('encodings.cp874', '/usr/lib/python3.13/encodings/cp874.py', 'PYMODULE'),
|
||||
('encodings.cp869', '/usr/lib/python3.13/encodings/cp869.py', 'PYMODULE'),
|
||||
('encodings.cp866', '/usr/lib/python3.13/encodings/cp866.py', 'PYMODULE'),
|
||||
('encodings.cp865', '/usr/lib/python3.13/encodings/cp865.py', 'PYMODULE'),
|
||||
('encodings.cp864', '/usr/lib/python3.13/encodings/cp864.py', 'PYMODULE'),
|
||||
('encodings.cp863', '/usr/lib/python3.13/encodings/cp863.py', 'PYMODULE'),
|
||||
('encodings.cp862', '/usr/lib/python3.13/encodings/cp862.py', 'PYMODULE'),
|
||||
('encodings.cp861', '/usr/lib/python3.13/encodings/cp861.py', 'PYMODULE'),
|
||||
('encodings.cp860', '/usr/lib/python3.13/encodings/cp860.py', 'PYMODULE'),
|
||||
('encodings.cp858', '/usr/lib/python3.13/encodings/cp858.py', 'PYMODULE'),
|
||||
('encodings.cp857', '/usr/lib/python3.13/encodings/cp857.py', 'PYMODULE'),
|
||||
('encodings.cp856', '/usr/lib/python3.13/encodings/cp856.py', 'PYMODULE'),
|
||||
('encodings.cp855', '/usr/lib/python3.13/encodings/cp855.py', 'PYMODULE'),
|
||||
('encodings.cp852', '/usr/lib/python3.13/encodings/cp852.py', 'PYMODULE'),
|
||||
('encodings.cp850', '/usr/lib/python3.13/encodings/cp850.py', 'PYMODULE'),
|
||||
('encodings.cp775', '/usr/lib/python3.13/encodings/cp775.py', 'PYMODULE'),
|
||||
('encodings.cp737', '/usr/lib/python3.13/encodings/cp737.py', 'PYMODULE'),
|
||||
('encodings.cp720', '/usr/lib/python3.13/encodings/cp720.py', 'PYMODULE'),
|
||||
('encodings.cp500', '/usr/lib/python3.13/encodings/cp500.py', 'PYMODULE'),
|
||||
('encodings.cp437', '/usr/lib/python3.13/encodings/cp437.py', 'PYMODULE'),
|
||||
('encodings.cp424', '/usr/lib/python3.13/encodings/cp424.py', 'PYMODULE'),
|
||||
('encodings.cp273', '/usr/lib/python3.13/encodings/cp273.py', 'PYMODULE'),
|
||||
('encodings.cp1258', '/usr/lib/python3.13/encodings/cp1258.py', 'PYMODULE'),
|
||||
('encodings.cp1257', '/usr/lib/python3.13/encodings/cp1257.py', 'PYMODULE'),
|
||||
('encodings.cp1256', '/usr/lib/python3.13/encodings/cp1256.py', 'PYMODULE'),
|
||||
('encodings.cp1255', '/usr/lib/python3.13/encodings/cp1255.py', 'PYMODULE'),
|
||||
('encodings.cp1254', '/usr/lib/python3.13/encodings/cp1254.py', 'PYMODULE'),
|
||||
('encodings.cp1253', '/usr/lib/python3.13/encodings/cp1253.py', 'PYMODULE'),
|
||||
('encodings.cp1252', '/usr/lib/python3.13/encodings/cp1252.py', 'PYMODULE'),
|
||||
('encodings.cp1251', '/usr/lib/python3.13/encodings/cp1251.py', 'PYMODULE'),
|
||||
('encodings.cp1250', '/usr/lib/python3.13/encodings/cp1250.py', 'PYMODULE'),
|
||||
('encodings.cp1140', '/usr/lib/python3.13/encodings/cp1140.py', 'PYMODULE'),
|
||||
('encodings.cp1125', '/usr/lib/python3.13/encodings/cp1125.py', 'PYMODULE'),
|
||||
('encodings.cp1026', '/usr/lib/python3.13/encodings/cp1026.py', 'PYMODULE'),
|
||||
('encodings.cp1006', '/usr/lib/python3.13/encodings/cp1006.py', 'PYMODULE'),
|
||||
('encodings.cp037', '/usr/lib/python3.13/encodings/cp037.py', 'PYMODULE'),
|
||||
('encodings.charmap', '/usr/lib/python3.13/encodings/charmap.py', 'PYMODULE'),
|
||||
('encodings.bz2_codec',
|
||||
'/usr/lib/python3.13/encodings/bz2_codec.py',
|
||||
'PYMODULE'),
|
||||
('encodings.big5hkscs',
|
||||
'/usr/lib/python3.13/encodings/big5hkscs.py',
|
||||
'PYMODULE'),
|
||||
('encodings.big5', '/usr/lib/python3.13/encodings/big5.py', 'PYMODULE'),
|
||||
('encodings.base64_codec',
|
||||
'/usr/lib/python3.13/encodings/base64_codec.py',
|
||||
'PYMODULE'),
|
||||
('encodings.ascii', '/usr/lib/python3.13/encodings/ascii.py', 'PYMODULE'),
|
||||
('encodings.aliases', '/usr/lib/python3.13/encodings/aliases.py', 'PYMODULE'),
|
||||
('encodings', '/usr/lib/python3.13/encodings/__init__.py', 'PYMODULE'),
|
||||
('re._parser', '/usr/lib/python3.13/re/_parser.py', 'PYMODULE'),
|
||||
('re._constants', '/usr/lib/python3.13/re/_constants.py', 'PYMODULE'),
|
||||
('re._compiler', '/usr/lib/python3.13/re/_compiler.py', 'PYMODULE'),
|
||||
('re._casefix', '/usr/lib/python3.13/re/_casefix.py', 'PYMODULE'),
|
||||
('re', '/usr/lib/python3.13/re/__init__.py', 'PYMODULE'),
|
||||
('types', '/usr/lib/python3.13/types.py', 'PYMODULE'),
|
||||
('codecs', '/usr/lib/python3.13/codecs.py', 'PYMODULE'),
|
||||
('copyreg', '/usr/lib/python3.13/copyreg.py', 'PYMODULE'),
|
||||
('ntpath', '/usr/lib/python3.13/ntpath.py', 'PYMODULE'),
|
||||
('keyword', '/usr/lib/python3.13/keyword.py', 'PYMODULE'),
|
||||
('genericpath', '/usr/lib/python3.13/genericpath.py', 'PYMODULE'),
|
||||
('warnings', '/usr/lib/python3.13/warnings.py', 'PYMODULE'),
|
||||
('locale', '/usr/lib/python3.13/locale.py', 'PYMODULE'),
|
||||
('linecache', '/usr/lib/python3.13/linecache.py', 'PYMODULE'),
|
||||
('_weakrefset', '/usr/lib/python3.13/_weakrefset.py', 'PYMODULE'),
|
||||
('stat', '/usr/lib/python3.13/stat.py', 'PYMODULE'),
|
||||
('posixpath', '/usr/lib/python3.13/posixpath.py', 'PYMODULE'),
|
||||
('abc', '/usr/lib/python3.13/abc.py', 'PYMODULE'),
|
||||
('_collections_abc', '/usr/lib/python3.13/_collections_abc.py', 'PYMODULE'),
|
||||
('reprlib', '/usr/lib/python3.13/reprlib.py', 'PYMODULE'),
|
||||
('os', '/usr/lib/python3.13/os.py', 'PYMODULE'),
|
||||
('sre_compile', '/usr/lib/python3.13/sre_compile.py', 'PYMODULE'),
|
||||
('io', '/usr/lib/python3.13/io.py', 'PYMODULE'),
|
||||
('functools', '/usr/lib/python3.13/functools.py', 'PYMODULE'),
|
||||
('heapq', '/usr/lib/python3.13/heapq.py', 'PYMODULE'),
|
||||
('traceback', '/usr/lib/python3.13/traceback.py', 'PYMODULE'),
|
||||
('collections', '/usr/lib/python3.13/collections/__init__.py', 'PYMODULE'),
|
||||
('weakref', '/usr/lib/python3.13/weakref.py', 'PYMODULE'),
|
||||
('operator', '/usr/lib/python3.13/operator.py', 'PYMODULE'),
|
||||
('sre_parse', '/usr/lib/python3.13/sre_parse.py', 'PYMODULE'),
|
||||
('sre_constants', '/usr/lib/python3.13/sre_constants.py', 'PYMODULE'),
|
||||
('enum', '/usr/lib/python3.13/enum.py', 'PYMODULE')])
|
||||
@@ -1,126 +0,0 @@
|
||||
([('tempbox',
|
||||
'/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/tempbox',
|
||||
'EXECUTABLE'),
|
||||
('python3.13/lib-dynload/_struct.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_struct.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/zlib.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/zlib.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('libpython3.13.so.1.0', '/usr/lib/libpython3.13.so.1.0', 'BINARY'),
|
||||
('python3.13/lib-dynload/unicodedata.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/unicodedata.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/math.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/math.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/grp.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/grp.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_csv.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_csv.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_statistics.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_statistics.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_contextvars.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_contextvars.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_decimal.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_decimal.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_pickle.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_pickle.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_hashlib.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_hashlib.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_sha3.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_sha3.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_blake2.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_blake2.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_md5.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_md5.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_sha1.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_sha1.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_sha2.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_sha2.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_random.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_random.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_bisect.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_bisect.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/array.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/array.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/select.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/select.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_socket.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_socket.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_datetime.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_datetime.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_json.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_json.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/resource.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/resource.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_lzma.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_lzma.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_bz2.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_bz2.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/binascii.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/binascii.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_opcode.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_opcode.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_multibytecodec.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_multibytecodec.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_codecs_jp.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_codecs_jp.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_codecs_kr.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_codecs_kr.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_codecs_iso2022.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_codecs_iso2022.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_codecs_cn.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_codecs_cn.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_codecs_tw.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_codecs_tw.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_codecs_hk.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_codecs_hk.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_posixsubprocess.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_posixsubprocess.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/fcntl.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/fcntl.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/_heapq.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_heapq.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('libmpdec.so.4', '/usr/lib/libmpdec.so.4', 'BINARY'),
|
||||
('libcrypto.so.3', '/usr/lib/libcrypto.so.3', 'BINARY'),
|
||||
('liblzma.so.5', '/usr/lib/liblzma.so.5', 'BINARY'),
|
||||
('libbz2.so.1.0', '/usr/lib/libbz2.so.1.0', 'BINARY'),
|
||||
('libz.so.1', '/usr/lib/libz.so.1', 'BINARY'),
|
||||
('base_library.zip',
|
||||
'/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/base_library.zip',
|
||||
'DATA')],)
|
||||
@@ -1,54 +0,0 @@
|
||||
('/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/tempbox',
|
||||
True,
|
||||
False,
|
||||
True,
|
||||
None,
|
||||
None,
|
||||
False,
|
||||
False,
|
||||
None,
|
||||
True,
|
||||
False,
|
||||
None,
|
||||
None,
|
||||
None,
|
||||
'/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/tempbox.pkg',
|
||||
[('pyi-contents-directory _internal', '', 'OPTION'),
|
||||
('PYZ-00.pyz',
|
||||
'/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/PYZ-00.pyz',
|
||||
'PYZ'),
|
||||
('python3.13/lib-dynload/_struct.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_struct.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/zlib.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/zlib.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('struct',
|
||||
'/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/localpycs/struct.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod01_archive',
|
||||
'/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/localpycs/pyimod01_archive.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod02_importers',
|
||||
'/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/localpycs/pyimod02_importers.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod03_ctypes',
|
||||
'/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/localpycs/pyimod03_ctypes.pyc',
|
||||
'PYMODULE'),
|
||||
('pyiboot01_bootstrap',
|
||||
'/usr/lib/python3.13/site-packages/PyInstaller/loader/pyiboot01_bootstrap.py',
|
||||
'PYSOURCE'),
|
||||
('pyi_rth_inspect',
|
||||
'/usr/lib/python3.13/site-packages/PyInstaller/hooks/rthooks/pyi_rth_inspect.py',
|
||||
'PYSOURCE'),
|
||||
('tempbox',
|
||||
'/home/cerberus/Documents/git/python/tempbox/tempbox.py',
|
||||
'PYSOURCE')],
|
||||
[],
|
||||
False,
|
||||
False,
|
||||
1758972720,
|
||||
[('run',
|
||||
'/usr/lib/python3.13/site-packages/PyInstaller/bootloader/Linux-64bit-intel/run',
|
||||
'EXECUTABLE')],
|
||||
'/usr/lib/libpython3.13.so.1.0')
|
||||
@@ -1,49 +0,0 @@
|
||||
('/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/tempbox.pkg',
|
||||
{'BINARY': True,
|
||||
'DATA': True,
|
||||
'EXECUTABLE': True,
|
||||
'EXTENSION': True,
|
||||
'PYMODULE': True,
|
||||
'PYSOURCE': True,
|
||||
'PYZ': False,
|
||||
'SPLASH': True,
|
||||
'SYMLINK': False},
|
||||
[('pyi-contents-directory _internal', '', 'OPTION'),
|
||||
('PYZ-00.pyz',
|
||||
'/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/PYZ-00.pyz',
|
||||
'PYZ'),
|
||||
('python3.13/lib-dynload/_struct.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/_struct.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('python3.13/lib-dynload/zlib.cpython-313-x86_64-linux-gnu.so',
|
||||
'/usr/lib/python3.13/lib-dynload/zlib.cpython-313-x86_64-linux-gnu.so',
|
||||
'EXTENSION'),
|
||||
('struct',
|
||||
'/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/localpycs/struct.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod01_archive',
|
||||
'/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/localpycs/pyimod01_archive.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod02_importers',
|
||||
'/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/localpycs/pyimod02_importers.pyc',
|
||||
'PYMODULE'),
|
||||
('pyimod03_ctypes',
|
||||
'/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/localpycs/pyimod03_ctypes.pyc',
|
||||
'PYMODULE'),
|
||||
('pyiboot01_bootstrap',
|
||||
'/usr/lib/python3.13/site-packages/PyInstaller/loader/pyiboot01_bootstrap.py',
|
||||
'PYSOURCE'),
|
||||
('pyi_rth_inspect',
|
||||
'/usr/lib/python3.13/site-packages/PyInstaller/hooks/rthooks/pyi_rth_inspect.py',
|
||||
'PYSOURCE'),
|
||||
('tempbox',
|
||||
'/home/cerberus/Documents/git/python/tempbox/tempbox.py',
|
||||
'PYSOURCE')],
|
||||
'libpython3.13.so.1.0',
|
||||
True,
|
||||
False,
|
||||
False,
|
||||
[],
|
||||
None,
|
||||
None,
|
||||
None)
|
||||
Binary file not shown.
@@ -1,162 +0,0 @@
|
||||
('/home/cerberus/Documents/git/python/tempbox/package/build/tempbox/PYZ-00.pyz',
|
||||
[('__future__', '/usr/lib/python3.13/__future__.py', 'PYMODULE'),
|
||||
('_colorize', '/usr/lib/python3.13/_colorize.py', 'PYMODULE'),
|
||||
('_compat_pickle', '/usr/lib/python3.13/_compat_pickle.py', 'PYMODULE'),
|
||||
('_compression', '/usr/lib/python3.13/_compression.py', 'PYMODULE'),
|
||||
('_opcode_metadata', '/usr/lib/python3.13/_opcode_metadata.py', 'PYMODULE'),
|
||||
('_py_abc', '/usr/lib/python3.13/_py_abc.py', 'PYMODULE'),
|
||||
('_pydatetime', '/usr/lib/python3.13/_pydatetime.py', 'PYMODULE'),
|
||||
('_pydecimal', '/usr/lib/python3.13/_pydecimal.py', 'PYMODULE'),
|
||||
('_strptime', '/usr/lib/python3.13/_strptime.py', 'PYMODULE'),
|
||||
('_threading_local', '/usr/lib/python3.13/_threading_local.py', 'PYMODULE'),
|
||||
('argparse', '/usr/lib/python3.13/argparse.py', 'PYMODULE'),
|
||||
('ast', '/usr/lib/python3.13/ast.py', 'PYMODULE'),
|
||||
('base64', '/usr/lib/python3.13/base64.py', 'PYMODULE'),
|
||||
('bisect', '/usr/lib/python3.13/bisect.py', 'PYMODULE'),
|
||||
('bz2', '/usr/lib/python3.13/bz2.py', 'PYMODULE'),
|
||||
('calendar', '/usr/lib/python3.13/calendar.py', 'PYMODULE'),
|
||||
('contextlib', '/usr/lib/python3.13/contextlib.py', 'PYMODULE'),
|
||||
('contextvars', '/usr/lib/python3.13/contextvars.py', 'PYMODULE'),
|
||||
('copy', '/usr/lib/python3.13/copy.py', 'PYMODULE'),
|
||||
('csv', '/usr/lib/python3.13/csv.py', 'PYMODULE'),
|
||||
('dataclasses', '/usr/lib/python3.13/dataclasses.py', 'PYMODULE'),
|
||||
('datetime', '/usr/lib/python3.13/datetime.py', 'PYMODULE'),
|
||||
('decimal', '/usr/lib/python3.13/decimal.py', 'PYMODULE'),
|
||||
('dis', '/usr/lib/python3.13/dis.py', 'PYMODULE'),
|
||||
('email', '/usr/lib/python3.13/email/__init__.py', 'PYMODULE'),
|
||||
('email._encoded_words',
|
||||
'/usr/lib/python3.13/email/_encoded_words.py',
|
||||
'PYMODULE'),
|
||||
('email._header_value_parser',
|
||||
'/usr/lib/python3.13/email/_header_value_parser.py',
|
||||
'PYMODULE'),
|
||||
('email._parseaddr', '/usr/lib/python3.13/email/_parseaddr.py', 'PYMODULE'),
|
||||
('email._policybase', '/usr/lib/python3.13/email/_policybase.py', 'PYMODULE'),
|
||||
('email.base64mime', '/usr/lib/python3.13/email/base64mime.py', 'PYMODULE'),
|
||||
('email.charset', '/usr/lib/python3.13/email/charset.py', 'PYMODULE'),
|
||||
('email.contentmanager',
|
||||
'/usr/lib/python3.13/email/contentmanager.py',
|
||||
'PYMODULE'),
|
||||
('email.encoders', '/usr/lib/python3.13/email/encoders.py', 'PYMODULE'),
|
||||
('email.errors', '/usr/lib/python3.13/email/errors.py', 'PYMODULE'),
|
||||
('email.feedparser', '/usr/lib/python3.13/email/feedparser.py', 'PYMODULE'),
|
||||
('email.generator', '/usr/lib/python3.13/email/generator.py', 'PYMODULE'),
|
||||
('email.header', '/usr/lib/python3.13/email/header.py', 'PYMODULE'),
|
||||
('email.headerregistry',
|
||||
'/usr/lib/python3.13/email/headerregistry.py',
|
||||
'PYMODULE'),
|
||||
('email.iterators', '/usr/lib/python3.13/email/iterators.py', 'PYMODULE'),
|
||||
('email.message', '/usr/lib/python3.13/email/message.py', 'PYMODULE'),
|
||||
('email.parser', '/usr/lib/python3.13/email/parser.py', 'PYMODULE'),
|
||||
('email.policy', '/usr/lib/python3.13/email/policy.py', 'PYMODULE'),
|
||||
('email.quoprimime', '/usr/lib/python3.13/email/quoprimime.py', 'PYMODULE'),
|
||||
('email.utils', '/usr/lib/python3.13/email/utils.py', 'PYMODULE'),
|
||||
('fnmatch', '/usr/lib/python3.13/fnmatch.py', 'PYMODULE'),
|
||||
('fractions', '/usr/lib/python3.13/fractions.py', 'PYMODULE'),
|
||||
('getopt', '/usr/lib/python3.13/getopt.py', 'PYMODULE'),
|
||||
('gettext', '/usr/lib/python3.13/gettext.py', 'PYMODULE'),
|
||||
('glob', '/usr/lib/python3.13/glob.py', 'PYMODULE'),
|
||||
('gzip', '/usr/lib/python3.13/gzip.py', 'PYMODULE'),
|
||||
('hashlib', '/usr/lib/python3.13/hashlib.py', 'PYMODULE'),
|
||||
('importlib', '/usr/lib/python3.13/importlib/__init__.py', 'PYMODULE'),
|
||||
('importlib._abc', '/usr/lib/python3.13/importlib/_abc.py', 'PYMODULE'),
|
||||
('importlib._bootstrap',
|
||||
'/usr/lib/python3.13/importlib/_bootstrap.py',
|
||||
'PYMODULE'),
|
||||
('importlib._bootstrap_external',
|
||||
'/usr/lib/python3.13/importlib/_bootstrap_external.py',
|
||||
'PYMODULE'),
|
||||
('importlib.abc', '/usr/lib/python3.13/importlib/abc.py', 'PYMODULE'),
|
||||
('importlib.machinery',
|
||||
'/usr/lib/python3.13/importlib/machinery.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata',
|
||||
'/usr/lib/python3.13/importlib/metadata/__init__.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._adapters',
|
||||
'/usr/lib/python3.13/importlib/metadata/_adapters.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._collections',
|
||||
'/usr/lib/python3.13/importlib/metadata/_collections.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._functools',
|
||||
'/usr/lib/python3.13/importlib/metadata/_functools.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._itertools',
|
||||
'/usr/lib/python3.13/importlib/metadata/_itertools.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._meta',
|
||||
'/usr/lib/python3.13/importlib/metadata/_meta.py',
|
||||
'PYMODULE'),
|
||||
('importlib.metadata._text',
|
||||
'/usr/lib/python3.13/importlib/metadata/_text.py',
|
||||
'PYMODULE'),
|
||||
('importlib.readers', '/usr/lib/python3.13/importlib/readers.py', 'PYMODULE'),
|
||||
('importlib.resources',
|
||||
'/usr/lib/python3.13/importlib/resources/__init__.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources._adapters',
|
||||
'/usr/lib/python3.13/importlib/resources/_adapters.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources._common',
|
||||
'/usr/lib/python3.13/importlib/resources/_common.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources._functional',
|
||||
'/usr/lib/python3.13/importlib/resources/_functional.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources._itertools',
|
||||
'/usr/lib/python3.13/importlib/resources/_itertools.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources.abc',
|
||||
'/usr/lib/python3.13/importlib/resources/abc.py',
|
||||
'PYMODULE'),
|
||||
('importlib.resources.readers',
|
||||
'/usr/lib/python3.13/importlib/resources/readers.py',
|
||||
'PYMODULE'),
|
||||
('importlib.util', '/usr/lib/python3.13/importlib/util.py', 'PYMODULE'),
|
||||
('inspect', '/usr/lib/python3.13/inspect.py', 'PYMODULE'),
|
||||
('ipaddress', '/usr/lib/python3.13/ipaddress.py', 'PYMODULE'),
|
||||
('json', '/usr/lib/python3.13/json/__init__.py', 'PYMODULE'),
|
||||
('json.decoder', '/usr/lib/python3.13/json/decoder.py', 'PYMODULE'),
|
||||
('json.encoder', '/usr/lib/python3.13/json/encoder.py', 'PYMODULE'),
|
||||
('json.scanner', '/usr/lib/python3.13/json/scanner.py', 'PYMODULE'),
|
||||
('logging', '/usr/lib/python3.13/logging/__init__.py', 'PYMODULE'),
|
||||
('lzma', '/usr/lib/python3.13/lzma.py', 'PYMODULE'),
|
||||
('numbers', '/usr/lib/python3.13/numbers.py', 'PYMODULE'),
|
||||
('opcode', '/usr/lib/python3.13/opcode.py', 'PYMODULE'),
|
||||
('pathlib', '/usr/lib/python3.13/pathlib/__init__.py', 'PYMODULE'),
|
||||
('pathlib._abc', '/usr/lib/python3.13/pathlib/_abc.py', 'PYMODULE'),
|
||||
('pathlib._local', '/usr/lib/python3.13/pathlib/_local.py', 'PYMODULE'),
|
||||
('pickle', '/usr/lib/python3.13/pickle.py', 'PYMODULE'),
|
||||
('pprint', '/usr/lib/python3.13/pprint.py', 'PYMODULE'),
|
||||
('py_compile', '/usr/lib/python3.13/py_compile.py', 'PYMODULE'),
|
||||
('quopri', '/usr/lib/python3.13/quopri.py', 'PYMODULE'),
|
||||
('random', '/usr/lib/python3.13/random.py', 'PYMODULE'),
|
||||
('selectors', '/usr/lib/python3.13/selectors.py', 'PYMODULE'),
|
||||
('shutil', '/usr/lib/python3.13/shutil.py', 'PYMODULE'),
|
||||
('signal', '/usr/lib/python3.13/signal.py', 'PYMODULE'),
|
||||
('socket', '/usr/lib/python3.13/socket.py', 'PYMODULE'),
|
||||
('statistics', '/usr/lib/python3.13/statistics.py', 'PYMODULE'),
|
||||
('string', '/usr/lib/python3.13/string.py', 'PYMODULE'),
|
||||
('stringprep', '/usr/lib/python3.13/stringprep.py', 'PYMODULE'),
|
||||
('subprocess', '/usr/lib/python3.13/subprocess.py', 'PYMODULE'),
|
||||
('tarfile', '/usr/lib/python3.13/tarfile.py', 'PYMODULE'),
|
||||
('tempbox_functions',
|
||||
'/home/cerberus/Documents/git/python/tempbox/tempbox_functions.py',
|
||||
'PYMODULE'),
|
||||
('tempfile', '/usr/lib/python3.13/tempfile.py', 'PYMODULE'),
|
||||
('textwrap', '/usr/lib/python3.13/textwrap.py', 'PYMODULE'),
|
||||
('threading', '/usr/lib/python3.13/threading.py', 'PYMODULE'),
|
||||
('token', '/usr/lib/python3.13/token.py', 'PYMODULE'),
|
||||
('tokenize', '/usr/lib/python3.13/tokenize.py', 'PYMODULE'),
|
||||
('tracemalloc', '/usr/lib/python3.13/tracemalloc.py', 'PYMODULE'),
|
||||
('typing', '/usr/lib/python3.13/typing.py', 'PYMODULE'),
|
||||
('urllib', '/usr/lib/python3.13/urllib/__init__.py', 'PYMODULE'),
|
||||
('urllib.parse', '/usr/lib/python3.13/urllib/parse.py', 'PYMODULE'),
|
||||
('zipfile', '/usr/lib/python3.13/zipfile/__init__.py', 'PYMODULE'),
|
||||
('zipfile._path',
|
||||
'/usr/lib/python3.13/zipfile/_path/__init__.py',
|
||||
'PYMODULE'),
|
||||
('zipfile._path.glob',
|
||||
'/usr/lib/python3.13/zipfile/_path/glob.py',
|
||||
'PYMODULE')])
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,23 +0,0 @@
|
||||
|
||||
This file lists modules PyInstaller was not able to find. This does not
|
||||
necessarily mean this module is required for running your program. Python and
|
||||
Python 3rd-party packages include a lot of conditional or optional modules. For
|
||||
example the module 'ntpath' only exists on Windows, whereas the module
|
||||
'posixpath' only exists on Posix systems.
|
||||
|
||||
Types if import:
|
||||
* top-level: imported at the top-level - look at these first
|
||||
* conditional: imported within an if-statement
|
||||
* delayed: imported within a function
|
||||
* optional: imported within a try-except-statement
|
||||
|
||||
IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for
|
||||
tracking down the missing module yourself. Thanks!
|
||||
|
||||
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional)
|
||||
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional)
|
||||
missing module named 'collections.abc' - imported by traceback (top-level), typing (top-level), inspect (top-level), logging (top-level), importlib.resources.readers (top-level), selectors (top-level), tracemalloc (top-level)
|
||||
missing module named winreg - imported by importlib._bootstrap_external (conditional)
|
||||
missing module named nt - imported by shutil (conditional), importlib._bootstrap_external (conditional), ntpath (optional), _colorize (delayed, conditional, optional), os (delayed, conditional, optional)
|
||||
missing module named _winapi - imported by encodings (delayed, conditional, optional), shutil (conditional), ntpath (optional), subprocess (conditional)
|
||||
missing module named msvcrt - imported by subprocess (optional)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,44 +0,0 @@
|
||||
# -*- mode: python ; coding: utf-8 -*-
|
||||
|
||||
|
||||
a = Analysis(
|
||||
['../tempbox.py'],
|
||||
pathex=[],
|
||||
binaries=[],
|
||||
datas=[],
|
||||
hiddenimports=[],
|
||||
hookspath=[],
|
||||
hooksconfig={},
|
||||
runtime_hooks=[],
|
||||
excludes=[],
|
||||
noarchive=False,
|
||||
optimize=0,
|
||||
)
|
||||
pyz = PYZ(a.pure)
|
||||
|
||||
exe = EXE(
|
||||
pyz,
|
||||
a.scripts,
|
||||
[],
|
||||
exclude_binaries=True,
|
||||
name='tempbox',
|
||||
debug=False,
|
||||
bootloader_ignore_signals=False,
|
||||
strip=False,
|
||||
upx=True,
|
||||
console=True,
|
||||
disable_windowed_traceback=False,
|
||||
argv_emulation=False,
|
||||
target_arch=None,
|
||||
codesign_identity=None,
|
||||
entitlements_file=None,
|
||||
)
|
||||
coll = COLLECT(
|
||||
exe,
|
||||
a.binaries,
|
||||
a.datas,
|
||||
strip=False,
|
||||
upx=True,
|
||||
upx_exclude=[],
|
||||
name='tempbox',
|
||||
)
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,8 @@
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
from .tempbox_logger import logger
|
||||
|
||||
|
||||
def create_folders(number_folders, base_path, verbosity=False):
|
||||
"""creates an amount of folders and returning its path"""
|
||||
@@ -25,10 +27,23 @@ def create_folders(number_folders, base_path, verbosity=False):
|
||||
|
||||
def execute_as_subprocess(command, base_path, verbosity=False):
|
||||
"""executes the string given with the '-c, --command' flag."""
|
||||
|
||||
logger.debug("Entered execute_as_subprocess()")
|
||||
logger.debug(f"Path:\t{base_path}\nCommand:\t\t\t{command}")
|
||||
|
||||
# Decicion if the terminal output is verbose or not
|
||||
if verbosity:
|
||||
print(base_path)
|
||||
print(command)
|
||||
print(verbosity)
|
||||
# Verbose output
|
||||
logger.info("Running subprocess with terminal output.")
|
||||
subprocess.run(command, cwd=base_path, shell=True)
|
||||
else:
|
||||
subprocess.run(command, cwd=base_path, shell=True)
|
||||
# Suppressed output
|
||||
logger.info("Running with suppressed stdout and stderr")
|
||||
subprocess.run(
|
||||
command,
|
||||
cwd=base_path,
|
||||
shell=True,
|
||||
stdout=subprocess.DEVNULL,
|
||||
stderr=subprocess.STDOUT,
|
||||
)
|
||||
logger.debug("Exited execute_as_subprocess()")
|
||||
17
tempbox/src/modules/tempbox_logger.py
Normal file
17
tempbox/src/modules/tempbox_logger.py
Normal file
@@ -0,0 +1,17 @@
|
||||
import logging
|
||||
from pathlib import Path
|
||||
|
||||
log_dir = Path.home() / ".local" / "share" / "tempbox"
|
||||
log_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
log_file = log_dir / "tempbox.log"
|
||||
|
||||
logging.basicConfig(
|
||||
level=logging.DEBUG,
|
||||
format="%(asctime)s - %(levelname)s - %(message)s",
|
||||
filename=log_file,
|
||||
)
|
||||
|
||||
logger = logging.getLogger()
|
||||
# logger.debug(f"Log path:\t{log_dir}")
|
||||
# logger.debug(f"Log file:\t{log_file}")
|
||||
@@ -1,15 +1,17 @@
|
||||
import tempfile
|
||||
import argparse
|
||||
|
||||
from tempbox_functions import execute_as_subprocess
|
||||
from modules.tempbox_functions import execute_as_subprocess
|
||||
from modules.tempbox_logger import logger
|
||||
|
||||
tempbox_version = "Tempbox Beta b0.2.1"
|
||||
|
||||
# Argument parsing
|
||||
parser = argparse.ArgumentParser(
|
||||
prog="Tempbox",
|
||||
prog="tempbox",
|
||||
description="This program accepts an\
|
||||
command whicht it executes in an temporary directory in /temp.",
|
||||
# epilog="helloooooooo",
|
||||
epilog=tempbox_version,
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
@@ -18,17 +20,19 @@ parser.add_argument(
|
||||
action="store_true",
|
||||
help="Activates or deactivates verbose output. (default=%(default)s)",
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"-c",
|
||||
"--command",
|
||||
help="Takes the string right after the flag to execute it.",
|
||||
)
|
||||
|
||||
parser.add_argument("-V", "--version", action="version", version=tempbox_version)
|
||||
args = parser.parse_args()
|
||||
|
||||
|
||||
# Begin of script logic
|
||||
if args.command is not None:
|
||||
with tempfile.TemporaryDirectory() as temp_dir:
|
||||
logger.info(f"'{temp_dir}' was created")
|
||||
if args.command is not None:
|
||||
execute_as_subprocess(
|
||||
args.command,
|
||||
@@ -37,6 +41,4 @@ if args.command is not None:
|
||||
)
|
||||
else:
|
||||
parser.print_help()
|
||||
|
||||
|
||||
# Creates a temporary directory and executes the command in it.
|
||||
logger.debug("Printed Version")
|
||||
Reference in New Issue
Block a user