winipedia-utils 0.1.60__tar.gz → 0.1.61__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of winipedia-utils might be problematic. Click here for more details.
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/PKG-INFO +1 -1
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/pyproject.toml +1 -1
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/security/keyring.py +23 -7
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/LICENSE +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/README.md +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/concurrent/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/concurrent/concurrent.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/concurrent/multiprocessing.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/concurrent/multithreading.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/consts.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/data/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/data/dataframe.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/django/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/django/bulk.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/django/command.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/django/database.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/git/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/git/gitignore/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/git/gitignore/gitignore.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/git/pre_commit/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/git/pre_commit/config.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/git/pre_commit/hooks.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/git/pre_commit/run_hooks.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/iterating/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/iterating/iterate.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/logging/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/logging/ansi.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/logging/config.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/logging/logger.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/modules/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/modules/class_.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/modules/function.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/modules/module.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/modules/package.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/oop/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/oop/mixins/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/oop/mixins/meta.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/oop/mixins/mixin.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/os/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/os/os.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/projects/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/projects/poetry/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/projects/poetry/config.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/projects/poetry/poetry.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/projects/project.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/py.typed +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/core/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/core/py_qiodevice.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/base/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/base/base.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/pages/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/pages/base/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/pages/base/base.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/pages/browser.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/pages/player.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/widgets/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/widgets/browser.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/widgets/clickable_widget.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/widgets/media_player.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/widgets/notification.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/windows/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/windows/base/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/windows/base/base.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/delete_garbage_can.svg +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/download_arrow.svg +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/exit_fullscreen_icon.svg +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/fullscreen_icon.svg +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/menu_icon.svg +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/pause_icon.svg +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/play_icon.svg +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/plus_icon.svg +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/svg.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/security/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/security/cryptography.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/setup.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/assertions.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/convention.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/create_tests.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/fixtures.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/tests/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/tests/base/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/tests/base/fixtures/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/tests/base/fixtures/fixture.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/tests/base/fixtures/scopes/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/tests/base/fixtures/scopes/class_.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/tests/base/fixtures/scopes/function.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/tests/base/fixtures/scopes/module.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/tests/base/fixtures/scopes/package.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/tests/base/fixtures/scopes/session.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/tests/base/utils/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/tests/base/utils/utils.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/tests/conftest.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/text/__init__.py +0 -0
- {winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/text/string.py +0 -0
|
@@ -13,7 +13,7 @@ from cryptography.fernet import Fernet
|
|
|
13
13
|
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
def get_or_create_fernet(service_name: str, username: str) -> Fernet:
|
|
16
|
+
def get_or_create_fernet(service_name: str, username: str) -> tuple[Fernet, bytes]:
|
|
17
17
|
"""Get the app secret using keyring.
|
|
18
18
|
|
|
19
19
|
If it does not exist, create it with a Fernet.
|
|
@@ -23,7 +23,7 @@ def get_or_create_fernet(service_name: str, username: str) -> Fernet:
|
|
|
23
23
|
)
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
def get_or_create_aes_gcm(service_name: str, username: str) -> AESGCM:
|
|
26
|
+
def get_or_create_aes_gcm(service_name: str, username: str) -> tuple[AESGCM, bytes]:
|
|
27
27
|
"""Get the app secret using keyring.
|
|
28
28
|
|
|
29
29
|
If it does not exist, create it with a AESGCM.
|
|
@@ -38,17 +38,33 @@ def get_or_create_key[T](
|
|
|
38
38
|
username: str,
|
|
39
39
|
key_class: Callable[[bytes], T],
|
|
40
40
|
generate_key_func: Callable[..., bytes],
|
|
41
|
-
) -> T:
|
|
41
|
+
) -> tuple[T, bytes]:
|
|
42
42
|
"""Get the app secret using keyring.
|
|
43
43
|
|
|
44
44
|
If it does not exist, create it with the generate_func.
|
|
45
45
|
"""
|
|
46
|
-
|
|
47
|
-
key = keyring.get_password(service_name, username)
|
|
46
|
+
key = get_key_as_str(service_name, username, key_class)
|
|
48
47
|
if key is None:
|
|
49
48
|
binary_key = generate_key_func()
|
|
50
49
|
key = b64encode(binary_key).decode("ascii")
|
|
51
|
-
|
|
50
|
+
modified_service_name = make_service_name(service_name, key_class)
|
|
51
|
+
keyring.set_password(modified_service_name, username, key)
|
|
52
52
|
|
|
53
53
|
binary_key = b64decode(key)
|
|
54
|
-
return key_class(binary_key)
|
|
54
|
+
return key_class(binary_key), binary_key
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def get_key_as_str[T](
|
|
58
|
+
service_name: str, username: str, key_class: Callable[[bytes], T]
|
|
59
|
+
) -> str | None:
|
|
60
|
+
"""Get the app secret using keyring.
|
|
61
|
+
|
|
62
|
+
If it does not exist, create it with the generate_func.
|
|
63
|
+
"""
|
|
64
|
+
service_name = make_service_name(service_name, key_class)
|
|
65
|
+
return keyring.get_password(service_name, username)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def make_service_name[T](service_name: str, key_class: Callable[[bytes], T]) -> str:
|
|
69
|
+
"""Make a service name from a service name and a key class."""
|
|
70
|
+
return f"{service_name}_{key_class.__name__}"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/concurrent/multiprocessing.py
RENAMED
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/concurrent/multithreading.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/git/gitignore/gitignore.py
RENAMED
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/git/pre_commit/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/git/pre_commit/run_hooks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/projects/poetry/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/core/py_qiodevice.py
RENAMED
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/base/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/pages/__init__.py
RENAMED
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/pages/base/__init__.py
RENAMED
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/pages/base/base.py
RENAMED
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/pages/browser.py
RENAMED
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/widgets/__init__.py
RENAMED
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/widgets/browser.py
RENAMED
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/widgets/media_player.py
RENAMED
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/widgets/notification.py
RENAMED
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/windows/__init__.py
RENAMED
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/windows/base/__init__.py
RENAMED
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/pyside/ui/windows/base/base.py
RENAMED
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/download_arrow.svg
RENAMED
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/fullscreen_icon.svg
RENAMED
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/menu_icon.svg
RENAMED
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/pause_icon.svg
RENAMED
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/play_icon.svg
RENAMED
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/resources/svgs/plus_icon.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/tests/base/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.1.60 → winipedia_utils-0.1.61}/winipedia_utils/testing/tests/base/utils/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|