diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3541d17..63feffc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: - python-version: '3.11' + python-version: '3.12' - name: Install dependencies env: PYINSTALLER_COMPILE_BOOTLOADER: 1 @@ -36,7 +36,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: - python-version: '3.11' + python-version: '3.12' - name: Install dependencies run: | python -m pip install --upgrade pip setuptools wheel @@ -57,7 +57,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: - python-version: '3.11' + python-version: '3.12' - name: Install dependencies run: | python3 -m pip install --upgrade pip setuptools wheel diff --git a/CB/Core.py b/CB/Core.py index b855ebe..394de11 100644 --- a/CB/Core.py +++ b/CB/Core.py @@ -309,7 +309,7 @@ def update_addon(self, url, update, force): if old['URL'].startswith(('https://www.townlong-yak.com/addons/', 'https://www.curseforge.com/wow/addons/', 'https://www.tukui.org/')): - return old['Name'], [], oldversion, oldversion, None, modified, blocked, 'Unsupported', old['URL'],\ + return old['Name'], [], oldversion, oldversion, None, modified, blocked, 'Unsupported', old['URL'], \ None, dev source, sourceurl = self.parse_url_source(old['URL']) new = self.parse_url(old['URL']) @@ -328,7 +328,7 @@ def update_addon(self, url, update, force): if force: modified = False blocked = False - return new.name, new.author, new.currentVersion, oldversion, new.uiVersion, modified, blocked, source,\ + return new.name, new.author, new.currentVersion, oldversion, new.uiVersion, modified, blocked, source, \ sourceurl, new.changelogUrl, dev return url, [], False, False, None, False, False, '?', None, None, None @@ -447,7 +447,6 @@ def backup_wtf(self, console): progress.update(task, advance=1, refresh=True) zipf.close() - # noinspection PyTypeChecker def find_orphans(self): orphanedaddon = [] orphaneconfig = [] @@ -496,23 +495,23 @@ def search(self, query): def create_reg(self): with open('CurseBreaker.reg', 'w') as outfile: outfile.write('Windows Registry Editor Version 5.00\n\n' - '[HKEY_CURRENT_USER\Software\Classes\\wago-app]\n' + '[HKEY_CURRENT_USER\\Software\\Classes\\wago-app]\n' '"URL Protocol"="\\"\\""\n' '@="\\"URL:CurseBreaker Protocol\\""\n' - '[HKEY_CURRENT_USER\Software\Classes\\wago-app\DefaultIcon]\n' + '[HKEY_CURRENT_USER\\Software\\Classes\\wago-app\\DefaultIcon]\n' '@="\\"CurseBreaker.exe,1\\""\n' - '[HKEY_CURRENT_USER\Software\Classes\\wago-app\shell]\n' - '[HKEY_CURRENT_USER\Software\Classes\\wago-app\shell\open]\n' - '[HKEY_CURRENT_USER\Software\Classes\\wago-app\shell\open\command]\n' + '[HKEY_CURRENT_USER\\Software\\Classes\\wago-app\\shell]\n' + '[HKEY_CURRENT_USER\\Software\\Classes\\wago-app\\shell\\open]\n' + '[HKEY_CURRENT_USER\\Software\\Classes\\wago-app\\shell\\open\\command]\n' '@="\\"' + os.path.abspath(sys.executable).replace('\\', '\\\\') + '\\" \\"%1\\""\n' - '[HKEY_CURRENT_USER\Software\Classes\weakauras-companion]\n' + '[HKEY_CURRENT_USER\\Software\\Classes\\weakauras-companion]\n' '"URL Protocol"="\\"\\""\n' '@="\\"URL:CurseBreaker Protocol\\""\n' - '[HKEY_CURRENT_USER\Software\Classes\weakauras-companion\DefaultIcon]\n' + '[HKEY_CURRENT_USER\\Software\\Classes\\weakauras-companion\\DefaultIcon]\n' '@="\\"CurseBreaker.exe,1\\""\n' - '[HKEY_CURRENT_USER\Software\Classes\weakauras-companion\shell]\n' - '[HKEY_CURRENT_USER\Software\Classes\weakauras-companion\shell\open]\n' - '[HKEY_CURRENT_USER\Software\Classes\weakauras-companion\shell\open\command]\n' + '[HKEY_CURRENT_USER\\Software\\Classes\\weakauras-companion\\shell]\n' + '[HKEY_CURRENT_USER\\Software\\Classes\\weakauras-companion\\shell\\open]\n' + '[HKEY_CURRENT_USER\\Software\\Classes\\weakauras-companion\\shell\\open\\command]\n' '@="\\"' + os.path.abspath(sys.executable).replace('\\', '\\\\') + '\\" \\"%1\\""') def parse_wagoapp_payload(self, url): @@ -581,7 +580,6 @@ def detect_accounts(self): else: return [] - # noinspection PyTypeChecker def detect_addons(self): if self.config['WAAAPIKey'] == '': raise RuntimeError('This feature only matches addons that are in the database of the Wago Addons. Other sou' diff --git a/CB/Wago.py b/CB/Wago.py index 0f03434..9fc6ddb 100644 --- a/CB/Wago.py +++ b/CB/Wago.py @@ -26,7 +26,7 @@ def markdown_unmark_element(element, stream=None): class BaseParser: def __init__(self): - self.urlParser = re.compile('/([a-zA-Z0-9_-]+)/(\d+)') + self.urlParser = re.compile('/([a-zA-Z0-9_-]+)/(\\d+)') self.list = {} self.ignored = {} self.data = {'slugs': [], 'stash': []} @@ -147,8 +147,8 @@ def check_stash(self, wa, plater): stash = f' ["{entry["slug"]}"] = {{\n name = [=[{entry["name"]}]=],\n author' \ f' = [=[{entry["username"]}]=],\n encoded = [=[{raw}]=],\n wagoVersion = [=' \ f'[{entry["version"]}]=],\n wagoSemver = [=[{entry["versionString"]}]=],\n ' \ - f'source = [=[Wago]=],\n logo = [=[Interface\AddOns\CurseBreakerCompanion\LogoWA.tga' \ - f']=],\n versionNote = [=[]=],\n }}' \ + f'source = [=[Wago]=],\n logo = [=[Interface\\AddOns\\CurseBreakerCompanion\\LogoWA.' \ + f'tga]=],\n versionNote = [=[]=],\n }}' \ f',\n' if entry['type'] == 'WEAKAURA': wa.data['stash'].append(stash) @@ -173,8 +173,8 @@ def update_entry(self, entry, addon): slug = f' ["{entry["slug"]}"] = {{\n name = [=[{entry["name"]}]=],\n author = [=[' \ f'{entry["username"]}]=],\n encoded = [=[{raw}]=],\n wagoVersion = [=[' \ f'{entry["version"]}]=],\n wagoSemver = [=[{entry["versionString"]}]=],\n source = [' \ - f'=[Wago]=],\n logo = [=[Interface\AddOns\CurseBreakerCompanion\LogoWA.tga]=],\n ver' \ - f'sionNote = [=[{self.parse_changelog(entry)}]=],\n' \ + f'=[Wago]=],\n logo = [=[Interface\\AddOns\\CurseBreakerCompanion\\LogoWA.tga]=],\n ' \ + f'versionNote = [=[{self.parse_changelog(entry)}]=],\n' \ f' }},\n' addon.data['slugs'].append(slug) diff --git a/CB/__init__.py b/CB/__init__.py index 5475c05..574a6c7 100644 --- a/CB/__init__.py +++ b/CB/__init__.py @@ -1,9 +1,9 @@ import requests from rich.terminal_theme import TerminalTheme -__version__ = '4.5.2' +__version__ = '4.5.3' __license__ = 'GPLv3' -__copyright__ = '2019-2023, Paweł Jastrzębski ' +__copyright__ = '2019-2024, Paweł Jastrzębski ' __docformat__ = 'restructuredtext en' diff --git a/CurseBreaker.py b/CurseBreaker.py index 63bbd14..1fe5f11 100644 --- a/CurseBreaker.py +++ b/CurseBreaker.py @@ -490,10 +490,10 @@ def c_install(self, args): self.console.print('[green]Usage:[/green]\n\tThis command accepts a space-separated list of links as an arg' 'ument.[bold white]\n\tFlags:[/bold white]\n\t\t[bold white]-i[/bold white] - Disable th' 'e client version check.\n[bold green]Supported URL:[/bold green]\n\thttps://addons.wago' - '.io/addons/\[addon_name] [bold white]|[/bold white] wa:\[addon_name]\n\thttps://www.wow' - 'interface.com/downloads/\[addon_name] [bold white]|[/bold white] wowi:\[addon_id]\n\tht' - 'tps://github.com/\[username]/\[repository_name] [bold white]|[/bold white] gh:\[usernam' - 'e]/\[repository_name]\n\tElvUI [bold white]|[/bold white] Tukui\n\t' + + '.io/addons/\\[addon_name] [bold white]|[/bold white] wa:\\[addon_name]\n\thttps://www.w' + 'owinterface.com/downloads/\\[addon_name] [bold white]|[/bold white] wowi:\\[addon_id]\n' + '\thttps://github.com/\\[username]/\\[repository_name] [bold white]|[/bold white] gh:\\[' + 'username]/\\[repository_name]\n\tElvUI [bold white]|[/bold white] Tukui\n\t' + self.parse_custom_addons(), highlight=False) def c_uninstall(self, args): @@ -601,7 +601,8 @@ def c_update(self, args, addline=False, update=True, force=False, reverseprovide self.console.print(f'Additionally [green]{compacted}[/green] addons are up-to-date.') overlap = self.core.check_if_overlap() if overlap: - self.console.print(f'\n[bold red]Detected addon directory overlap. This will cause issues. Affected addons:[/bold red]\n{overlap}') + self.console.print(f'\n[bold red]Detected addon directory overlap. This will cause issues. Affected add' + f'ons:[/bold red]\n{overlap}') else: self.console.print('Apparently there are no addons installed by CurseBreaker (or you provided incorrect add' 'on name).\nCommand [green]import[/green] might be used to detect already installed addo' @@ -614,8 +615,8 @@ def c_force_update(self, args): self.c_update(args, False, True, True) else: # noinspection PyTypeChecker - answer = confirm(HTML('Execute a forced update of all addons and overwrite ALL local ' - 'changes?')) + answer = confirm(HTML('Execute a forced update of all addons and overwrite ALL local changes' + '?')) if answer: self.c_update(False, False, True, True) @@ -970,11 +971,11 @@ def c_help(self, _): 's.\n' '[green]uri_integration[/green]\n\tEnables integration with Wago Addons and Wago page.\n\t"D' 'ownload with Wago App" and "Send to WeakAura Companion App" buttons.\n\n[bold green]Support' - 'ed URL:[/bold green]\n\thttps://addons.wago.io/addons/\[addon_name] [bold white]|[/bold whi' - 'te] wa:\[addon_name]\n\thttps://www.wowinterface.com/downloads/\[addon_name] [bold white]|[' - '/bold white] wowi:\[addon_id]\n\thttps://github.com/\[username]/\[repository_name] [bold wh' - 'ite]|[/bold white] gh:\[username]/\[repository_name]\n\tElvUI [bold white]|[/bold white] Tu' - 'kui\n\t' + self.parse_custom_addons(), highlight=False) + 'ed URL:[/bold green]\n\thttps://addons.wago.io/addons/\\[addon_name] [bold white]|[/bold wh' + 'ite] wa:\\[addon_name]\n\thttps://www.wowinterface.com/downloads/\\[addon_name] [bold white' + ']|[/bold white] wowi:\\[addon_id]\n\thttps://github.com/\\[username]/\\[repository_name] [b' + 'old white]|[/bold white] gh:\\[username]/\\[repository_name]\n\tElvUI [bold white]|[/bold w' + 'hite] Tukui\n\t' + self.parse_custom_addons(), highlight=False) def c_exit(self, _): sys.exit(0) diff --git a/CurseBreaker.spec b/CurseBreaker.spec index 935b235..5615326 100644 --- a/CurseBreaker.spec +++ b/CurseBreaker.spec @@ -29,7 +29,7 @@ if platform.system() == 'Windows': vi.StringStruct('InternalName', 'CurseBreaker.exe'), vi.StringStruct('FileDescription', 'CurseBreaker'), vi.StringStruct('CompanyName', ' '), - vi.StringStruct('LegalCopyright', 'Copyright (C) 2019-2023 Paweł Jastrzębski'), + vi.StringStruct('LegalCopyright', 'Copyright (C) 2019-2024 Paweł Jastrzębski'), vi.StringStruct('ProductName', 'CurseBreaker')]) ]), vi.VarFileInfo([vi.VarStruct('Translation', [0, 1200])]) diff --git a/Pipfile b/Pipfile index 4e3d9b5..2b27d10 100644 --- a/Pipfile +++ b/Pipfile @@ -6,7 +6,7 @@ name = "pypi" [packages] python-dateutil = "*" prompt-toolkit = "*" -checksumdir = "*" +checksumdir = {ref = "replace-pkg-resources", git = "git+https://github.com/idahogray/checksumdir"} packaging = "*" pyperclip = "*" requests = "*" @@ -17,4 +17,4 @@ rich = "*" [dev-packages] [requires] -python_version = "3.11" +python_version = "3.12" diff --git a/Pipfile.lock b/Pipfile.lock index 3600cd6..f959bce 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,11 +1,11 @@ { "_meta": { "hash": { - "sha256": "b68b9e2539894907cb968b61c67285dce91d4a9735e9d96a8ddbc7bd2f17ba4b" + "sha256": "a8ceab836cd8add089859509237fe87211e31d27dd244171bc3ad3bff8078926" }, "pipfile-spec": 6, "requires": { - "python_version": "3.11" + "python_version": "3.12" }, "sources": [ { @@ -26,11 +26,11 @@ }, "certifi": { "hashes": [ - "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082", - "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9" + "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f", + "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1" ], "markers": "python_version >= '3.6'", - "version": "==2023.7.22" + "version": "==2024.2.2" }, "charset-normalizer": { "hashes": [ @@ -129,111 +129,26 @@ "version": "==3.3.2" }, "checksumdir": { - "hashes": [ - "sha256:10bfd7518da5a14b0e9ac03e9ad105f0e70f58bba52b6e9aa2f21a3f73c7b5a8", - "sha256:77687e16da95970c94061c74ef2e13666c4b6e0e8c90a5eaf0c8f7591332cf01" - ], - "index": "pypi", + "git": "git+https://github.com/idahogray/checksumdir", "markers": "python_version >= '3.6' and python_version < '4.0'", - "version": "==1.2.0" + "ref": "d493ef3f81f46f65919916184ca7908bd644a57f" }, "idna": { "hashes": [ - "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4", - "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2" + "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca", + "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f" ], "markers": "python_version >= '3.5'", - "version": "==3.4" - }, - "lupa": { - "hashes": [ - "sha256:0423acd739cf25dbdbf1e33a0aa8026f35e1edea0573db63d156f14a082d77c8", - "sha256:0a15680f425b91ec220eb84b0ab59d24c4bee69d15b88245a6998a7d38c78ba6", - "sha256:0aac06098d46729edd2d04e80b55d9d310e902f042f27521308df77cb1ba0191", - "sha256:0ac862c6d2eb542ac70d294a8e960b9ae7f46297559733b4c25f9e3c945e522a", - "sha256:0ed071efc8ee231fac1fcd6b6fce44dc6da75a352b9b78403af89a48d759743c", - "sha256:1661c890861cf0f7002d7a7e00f50c885577954c2d85a7173b218d3228fa3869", - "sha256:1b8bda50c61c98ff9bb41d1f4934640c323e9f1539021810016a2eae25a66c3d", - "sha256:1ff93560c2546d7627ab2f95b5e88f000705db70a3d6041ac29d050f094f2a35", - "sha256:20b486cda76ff141cfb5f28df9c757224c9ed91e78c5242d402d2e9cb699d464", - "sha256:2116eb467797d5a134b2c997dfc7974b9a84b3aa5776c17ba8578ed4f5f41a9b", - "sha256:24d6c3435d38614083d197f3e7bcfe6d3d9eb02ee393d60a4ab9c719bc000162", - "sha256:297d801ba8e4e882b295c25d92f1634dde5e76d07ec6c35b13882401248c485d", - "sha256:2dacdddd5e28c6f5fd96a46c868ec5c34b0fad1ec7235b5bbb56f06183a37f20", - "sha256:2ee480d31555f00f8bf97dd949c596508bd60264cff1921a3797a03dd369e8cd", - "sha256:30d356a433653b53f1fe29477faaf5e547b61953b971b010d2185a561f4ce82a", - "sha256:350ba2218eea800898854b02753dc0c9cfe83db315b30c0dc10ab17493f0321a", - "sha256:364b291bf2b55555c87b4bffb4db5a9619bcdb3c02e58aebde5319c3c59ec9b2", - "sha256:36d888bd42589ecad21a5fb957b46bc799640d18eff2fd0c47a79ffb4a1b286c", - "sha256:3865f9dbe9a84bd6a471250e52068aaf1147f206a51905fb6d93e1db9efb00ee", - "sha256:40cf2eb90087dfe8ee002740469f2c4c5230d5e7d10ffb676602066d2f9b1ac9", - "sha256:457330e7a5456c4415fc6d38822036bd4cff214f9d8f7906200f6b588f1b2932", - "sha256:46dcbc0eae63899468686bb1dfc2fe4ed21fe06f69416113f039d88aab18f5dc", - "sha256:47f1459e2c98480c291ae3b70688d762f82dbb197ef121d529aa2c4e8bab1ba3", - "sha256:4a44e1fd0e9f4a546fbddd2e0fd913c823c9ac58a5f3160fb4f9109f633cb027", - "sha256:4bd789967cbb5c84470f358c7fa8fcbf7464185adbd872a6c3de9b42d29a6d26", - "sha256:4ea185c394bf7d07e9643d868e50cc94a530bb298d4bdae4915672b3809cc72b", - "sha256:51d6965663b2be1a593beabfa10803fdbbcf0b293aa4a53ea09a23db89787d0d", - "sha256:5fbe7f83b0007cda3b158a93726c80dfd39003a8c5c5d608f6fdf8c60c42117f", - "sha256:5fef8b755591f0466438ad0a3e92ecb21dd6bb1f05d0215139b6ff8c87b2ce65", - "sha256:61ff409040fa3a6c358b7274c10e556ba22afeb3470f8d23cd0a6bf418fb30c9", - "sha256:62530cf0a9c749a3cd13ad92b31eaf178939d642b6176b46cfcd98f6c5006383", - "sha256:63a27c38295aa971730795941270fff2ce65576f68ec63cb3ecb90d7a4526d03", - "sha256:69be1d6c3f3ab9fc988c9a0e5801f23f68e2c8b5900a8fd3ae57d1d0e9c5539c", - "sha256:6aff7257b5953de620db489899406cddb22093d1124fc5b31f8900e44a9dbc2a", - "sha256:6d87d6c51e6c3b6326d18af83e81f4860ba0b287cda1101b1ab8562389d598f5", - "sha256:7068ae0d6a1a35ea8718ef6e103955c1ee143181bf0684604a76acc67f69de55", - "sha256:723fff6fcab5e7045e0fa79014729577f98082bd1fd1050f907f83a41e4c9865", - "sha256:72589a21a3776c7dd4b05374780e7ecf1b49c490056077fc91486461935eaaa3", - "sha256:77b587043d0bee9cc738e00c12718095cf808dd269b171f852bd82026c664c69", - "sha256:7ad96923e2092d8edbf0c1b274f9b522690b932ed47a70d9a0c1c329f169f107", - "sha256:7f6bc9852bdf7b16840c984a1e9f952815f7d4b3764585d20d2e062bd1128074", - "sha256:8912459fddf691e70f2add799a128822bae725826cfb86f69720a38bdfa42410", - "sha256:8986dba002346505ee44c78303339c97a346b883015d5cf3aaa0d76d3b952744", - "sha256:8a064d72991ba53aeea9720d95f2055f7f8a1e2f35b32a35d92248b63a94bcd1", - "sha256:8f65d2007092a04616c215fea5ad05ba8f661bd0f45cde5265d27150f64d3dd8", - "sha256:9144ecfa5e363f03e4d1c1e678b081cd223438be08f96604fca478591c3e3b53", - "sha256:930092a27157241d07d6d09ff01d5530a9e4c0dd515228211f2902b7e88ec1f0", - "sha256:96a201537930813b34145daf337dcd934ddfaebeba6452caf8a32a418e145e82", - "sha256:9706a192339efa1a6b7d806389572a669dd9ae2250469ff1ce13f684085af0b4", - "sha256:9b9d1b98391959ae531bbb8df7559ac2c408fcbd33721921b6a05fd6414161e0", - "sha256:9e36f3eb70705841bce9c15e12bc6fc3b2f4f68a41ba0e4af303b22fc4d8667c", - "sha256:a17ebf91b3aa1c5c36661e34c9cf10e04bb4cc00076e8b966f86749647162050", - "sha256:aa1449aa1ab46c557344867496dee324b47ede0c41643df8f392b00262d21b12", - "sha256:abe3fc103d7bd34e7028d06db557304979f13ebf9050ad0ea6c1cc3a1caea017", - "sha256:b1d9cfa469e7a2ad7e9a00fea7196b0022aa52f43a2043c2e0be92122e7bcfe8", - "sha256:b3efe9d887cfdf459054308ecb716e0eb11acb9a96c3022ee4e677c1f510d244", - "sha256:b6953854a343abdfe11aa52a2d021fadf3d77d0cd2b288b650f149b597e0d02d", - "sha256:b83100cd7b48a7ca85dda4e9a6a5e7bc3312691e7f94c6a78d1f9a48a86a7fec", - "sha256:bc4f5e84aee0d567aa2e116ff6844d06086ef7404d5102807e59af5ce9daf3c0", - "sha256:bce60847bebb4aa9ed3436fab3e84585e9094e15e1cb8d32e16e041c4ef65331", - "sha256:c0efaae8e7276f4feb82cba43c3cd45c82db820c9dab3965a8f2e0cb8b0bc30b", - "sha256:c685143b18c79a3a1fa25a4cc774a87b5a61c606f249bcf824d125d8accb6b2c", - "sha256:c79ced2aaf7577e3d06933cf0d323fa968e6864c498c376b0bd475ded86f01f3", - "sha256:c8bddd22eaeea0ce9d302b390d8bc606f003bf6c51be68e8b007504433b91280", - "sha256:ca58da94a6495dda0063ba975fe2e6f722c5e84c94f09955671b279c41cfde96", - "sha256:cf643bc48a152e2c572d8be7fc1de1c417a6a9648d337ffedebf00f57016b786", - "sha256:d0fd4e60ad149fe25c90530e2a0e032a42a6f0455f29ca0edb8170d6ec751c6e", - "sha256:d251ba009996a47231615ea6b78123c88446979ae99b5585269ec46f7a9197aa", - "sha256:d61fb507a36e18dc68f2d9e9e2ea19e1114b1a5e578a36f18e9be7a17d2931d1", - "sha256:d688a35f7fe614720ed7b820cbb739b37eff577a764c2003e229c2a752201cea", - "sha256:d6f5bfbd8fc48c27786aef8f30c84fd9197747fa0b53761e69eb968d81156cbf", - "sha256:d891b43b8810191eb4c42a0bc57c32f481098029aac42b176108e09ffe118cdc", - "sha256:dec7580b86975bc5bdf4cc54638c93daaec10143b4acc4a6c674c0f7e27dd363", - "sha256:e754cbc6cacc9bca6ff2b39025e9659a2098420639d214054b06b466825f4470", - "sha256:f26b73d10130ad73e07d45dfe9b7c3833e3a2aa1871a4ecf5ce2dc1abeeae74d" - ], - "index": "pypi", - "version": "==1.14.1" + "version": "==3.6" }, "markdown": { "hashes": [ - "sha256:5874b47d4ee3f0b14d764324d2c94c03ea66bee56f2d929da9f2508d65e722dc", - "sha256:b65d7beb248dc22f2e8a31fb706d93798093c308dc1aba295aedeb9d41a813bd" + "sha256:d43323865d89fc0cb9b20c75fc8ad313af307cc087e84b657d9eec768eddeadd", + "sha256:e1ac7b3dc550ee80e602e71c1d168002f062e49f1b11e26a36264dafd4df2ef8" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==3.5.1" + "version": "==3.5.2" }, "markdown-it-py": { "hashes": [ @@ -253,29 +168,29 @@ }, "packaging": { "hashes": [ - "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5", - "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7" + "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", + "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9" ], "index": "pypi", "markers": "python_version >= '3.7'", - "version": "==23.2" + "version": "==24.0" }, "prompt-toolkit": { "hashes": [ - "sha256:941367d97fc815548822aa26c2a269fdc4eb21e9ec05fc5d447cf09bad5d75f0", - "sha256:f36fe301fafb7470e86aaf90f036eef600a3210be4decf461a5b1ca8403d3cb2" + "sha256:3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d", + "sha256:a11a29cb3bf0a28a387fe5122cdb649816a957cd9261dcedf8c9f1fef33eacf6" ], "index": "pypi", "markers": "python_full_version >= '3.7.0'", - "version": "==3.0.41" + "version": "==3.0.43" }, "pygments": { "hashes": [ - "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692", - "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29" + "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c", + "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367" ], "markers": "python_version >= '3.7'", - "version": "==2.16.1" + "version": "==2.17.2" }, "pyperclip": { "hashes": [ @@ -286,12 +201,12 @@ }, "python-dateutil": { "hashes": [ - "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", - "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9" + "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", + "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" ], "index": "pypi", "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.8.2" + "version": "==2.9.0.post0" }, "requests": { "hashes": [ @@ -304,12 +219,12 @@ }, "rich": { "hashes": [ - "sha256:5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa", - "sha256:6da14c108c4866ee9520bbffa71f6fe3962e193b7da68720583850cd4548e235" + "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222", + "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432" ], "index": "pypi", "markers": "python_full_version >= '3.7.0'", - "version": "==13.7.0" + "version": "==13.7.1" }, "six": { "hashes": [ @@ -321,18 +236,18 @@ }, "urllib3": { "hashes": [ - "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3", - "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54" + "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", + "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19" ], "markers": "python_version >= '3.8'", - "version": "==2.1.0" + "version": "==2.2.1" }, "wcwidth": { "hashes": [ - "sha256:390c7454101092a6a5e43baad8f83de615463af459201709556b6e4b1c861f97", - "sha256:aec5179002dd0f0d40c456026e74a729661c9d468e1ed64405e3a6c2176ca36f" + "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", + "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5" ], - "version": "==0.2.10" + "version": "==0.2.13" } }, "develop": {} diff --git a/requirements.txt b/requirements.txt index 3ce2166..2177a86 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ python-dateutil prompt-toolkit -checksumdir +checksumdir @ git+https://github.com/idahogray/checksumdir@replace-pkg-resources packaging pyperclip requests