TonieToolbox 0.4.1__py3-none-any.whl → 0.5.0a1__py3-none-any.whl

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.
@@ -3,9 +3,9 @@ Version handler to check if the latest version of TonieToolbox is being used.
3
3
  """
4
4
 
5
5
  import json
6
- import logging
7
6
  import os
8
7
  import time
8
+ from packaging import version
9
9
  from urllib import request
10
10
  from urllib.error import URLError
11
11
 
@@ -90,7 +90,7 @@ def get_pypi_version(force_refresh=False):
90
90
 
91
91
  def compare_versions(v1, v2):
92
92
  """
93
- Compare two version strings.
93
+ Compare two version strings according to PEP 440.
94
94
 
95
95
  Args:
96
96
  v1: First version string
@@ -102,31 +102,35 @@ def compare_versions(v1, v2):
102
102
  logger = get_logger("version_handler")
103
103
  logger.debug("Comparing versions: '%s' vs '%s'", v1, v2)
104
104
 
105
- try:
106
- v1_parts = [int(x) for x in v1.split('.')]
107
- v2_parts = [int(x) for x in v2.split('.')]
105
+ try:
106
+ # Strip leading 'v' if present
107
+ v1_clean = v1[1:] if v1.startswith('v') else v1
108
+ v2_clean = v2[1:] if v2.startswith('v') else v2
108
109
 
109
- logger.debug("Version parts: %s vs %s", v1_parts, v2_parts)
110
+ parsed_v1 = version.parse(v1_clean)
111
+ parsed_v2 = version.parse(v2_clean)
110
112
 
111
- for i in range(max(len(v1_parts), len(v2_parts))):
112
- v1_part = v1_parts[i] if i < len(v1_parts) else 0
113
- v2_part = v2_parts[i] if i < len(v2_parts) else 0
114
-
115
- logger.debug("Comparing part %d: %d vs %d", i, v1_part, v2_part)
116
-
117
- if v1_part < v2_part:
118
- logger.debug("Result: '%s' is OLDER than '%s'", v1, v2)
119
- return -1
120
- elif v1_part > v2_part:
121
- logger.debug("Result: '%s' is NEWER than '%s'", v1, v2)
122
- return 1
113
+ logger.debug("Parsed versions: %s vs %s", parsed_v1, parsed_v2)
123
114
 
124
- logger.debug("Result: versions are EQUAL")
125
- return 0
115
+ if parsed_v1 < parsed_v2:
116
+ logger.debug("Result: '%s' is OLDER than '%s'", v1, v2)
117
+ return -1
118
+ elif parsed_v1 > parsed_v2:
119
+ logger.debug("Result: '%s' is NEWER than '%s'", v1, v2)
120
+ return 1
121
+ else:
122
+ logger.debug("Result: versions are EQUAL")
123
+ return 0
126
124
  except Exception as e:
127
125
  logger.debug("Error comparing versions '%s' and '%s': %s", v1, v2, e)
128
- # On error, assume versions are equal
129
- return 0
126
+ # On error, fall back to simple string comparison to avoid crashes
127
+ logger.debug("Falling back to string comparison")
128
+ if v1 == v2:
129
+ return 0
130
+ elif v1 < v2:
131
+ return -1
132
+ else:
133
+ return 1
130
134
 
131
135
 
132
136
  def check_for_updates(quiet=False, force_refresh=False):
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TonieToolbox
3
- Version: 0.4.1
4
- Summary: Convert audio files to Tonie box compatible format
3
+ Version: 0.5.0a1
4
+ Summary: Create files for the Tonie box and interact with TeddyCloud servers
5
5
  Home-page: https://github.com/Quentendo64/TonieToolbox
6
6
  Author: Quentendo64
7
7
  Author-email: Quentendo64 <quentin@wohlfeil.at>
@@ -20,7 +20,12 @@ Requires-Python: >=3.6
20
20
  Description-Content-Type: text/markdown
21
21
  License-File: LICENSE.md
22
22
  Requires-Dist: protobuf<=3.19.0
23
+ Requires-Dist: requests>=2.32.3
23
24
  Requires-Dist: mutagen>=1.47.0
25
+ Requires-Dist: packaging>=25.0
26
+ Provides-Extra: test
27
+ Requires-Dist: pytest>=8.3.5; extra == "test"
28
+ Requires-Dist: pytest-cov>=6.1.1; extra == "test"
24
29
  Dynamic: author
25
30
  Dynamic: home-page
26
31
  Dynamic: license-file
@@ -0,0 +1,26 @@
1
+ TonieToolbox/__init__.py,sha256=lz0LClHOINLjhHw0cRVZfFszfira4Z3-Z4bnMt-re88,98
2
+ TonieToolbox/__main__.py,sha256=W9bxe32L5nd3bhjdyRySwmr1wG8q-vBGjdGSRmw9hGo,32085
3
+ TonieToolbox/artwork.py,sha256=Q1cwcJu-bmBiDLOzYTIcX1UAh-Bf6vgQY1PqW0KXZlw,4359
4
+ TonieToolbox/audio_conversion.py,sha256=nV87LTzuxeJQughu-esxTq2aZq-BvaTURj-pvBqygQs,13075
5
+ TonieToolbox/constants.py,sha256=BQ6eUNvT3eXgsz8KFYMrqpn5vRPXrp2d6folxP6H03E,4374
6
+ TonieToolbox/dependency_manager.py,sha256=EvVUO4T1CrhUXlrVk9HBgCRDER3b1BRNdgkZLSpCTho,27921
7
+ TonieToolbox/filename_generator.py,sha256=RqQHyGTKakuWR01yMSnFVMU_HfLw3rqFxKhXNIHdTlg,3441
8
+ TonieToolbox/logger.py,sha256=eZoQj4xICKEZ645GhIfZhAPAjgbgjnnfTXZ_soPjyDg,3017
9
+ TonieToolbox/media_tags.py,sha256=PnvdHh_1RV3Fi-Wkqz5DMDjSksLsmWPrApv-6BA82jE,23206
10
+ TonieToolbox/ogg_page.py,sha256=-ViaIRBgh5ayfwmyplL8QmmRr5P36X8W0DdHkSFUYUU,21948
11
+ TonieToolbox/opus_packet.py,sha256=OcHXEe3I_K4mWPUD55prpG42sZxJsEeAxqSbFxBmb0c,7895
12
+ TonieToolbox/recursive_processor.py,sha256=A6HS9xHX3gyLGUA39vcNZqS6qtwE6sLX4uMfdQONE4I,13619
13
+ TonieToolbox/tags.py,sha256=ji9N1b3zX5E3YqOayBqdUiJ99SA0HuR_RrXaRe-q1ok,2682
14
+ TonieToolbox/teddycloud.py,sha256=UwWIT6xVAb06g7vftzU_IxH5ZNtWmjgcHQDXhvuB6u8,13433
15
+ TonieToolbox/tonie_analysis.py,sha256=NdUXiZRVNW8T2C6EhqicgbohmPP9irX4q8hiQxBhc0E,30540
16
+ TonieToolbox/tonie_file.py,sha256=_LyIsUp2NmpkUVViiLY7EhXitrY4S27xKG5lvZdECJE,21031
17
+ TonieToolbox/tonie_header.proto,sha256=WaWfwO4VrwGtscK2ujfDRKtpeBpaVPoZhI8iMmR-C0U,202
18
+ TonieToolbox/tonie_header_pb2.py,sha256=s5bp4ULTEekgq6T61z9fDkRavyPM-3eREs20f_Pxxe8,3665
19
+ TonieToolbox/tonies_json.py,sha256=hHnvFMTg1wKkgYsWKY5bNzOFK9k-QnXm8siHhdDTHtQ,25671
20
+ TonieToolbox/version_handler.py,sha256=Uiob27NKvemJUR-SPPdhQLYp07o8eDyCik_KAY4KPDY,9869
21
+ tonietoolbox-0.5.0a1.dist-info/licenses/LICENSE.md,sha256=rGoga9ZAgNco9fBapVFpWf6ri7HOBp1KRnt1uIruXMk,35190
22
+ tonietoolbox-0.5.0a1.dist-info/METADATA,sha256=rNjSilTxeshGEwFmiQogGwy_0rqmh_08Bu3oWQBEEiY,24304
23
+ tonietoolbox-0.5.0a1.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
24
+ tonietoolbox-0.5.0a1.dist-info/entry_points.txt,sha256=oqpeyBxel7aScg35Xr4gZKnf486S5KW9okqeBwyJxxc,60
25
+ tonietoolbox-0.5.0a1.dist-info/top_level.txt,sha256=Wkkm-2p7I3ENfS7ZbYtYUB2g-xwHrXVlERHfonsOPuE,13
26
+ tonietoolbox-0.5.0a1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (79.0.0)
2
+ Generator: setuptools (80.3.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,24 +0,0 @@
1
- TonieToolbox/__init__.py,sha256=J5dz_xd-IvgNUuHuz0CdoFGZceDpI0_ESj_3jo_OAKo,96
2
- TonieToolbox/__main__.py,sha256=71HjJZFNfdflCbwuL28xHpKkwLIKAXW6sVpGX9TQRII,37202
3
- TonieToolbox/audio_conversion.py,sha256=nV87LTzuxeJQughu-esxTq2aZq-BvaTURj-pvBqygQs,13075
4
- TonieToolbox/constants.py,sha256=BQ6eUNvT3eXgsz8KFYMrqpn5vRPXrp2d6folxP6H03E,4374
5
- TonieToolbox/dependency_manager.py,sha256=EvVUO4T1CrhUXlrVk9HBgCRDER3b1BRNdgkZLSpCTho,27921
6
- TonieToolbox/filename_generator.py,sha256=RqQHyGTKakuWR01yMSnFVMU_HfLw3rqFxKhXNIHdTlg,3441
7
- TonieToolbox/logger.py,sha256=eZoQj4xICKEZ645GhIfZhAPAjgbgjnnfTXZ_soPjyDg,3017
8
- TonieToolbox/media_tags.py,sha256=PnvdHh_1RV3Fi-Wkqz5DMDjSksLsmWPrApv-6BA82jE,23206
9
- TonieToolbox/ogg_page.py,sha256=-ViaIRBgh5ayfwmyplL8QmmRr5P36X8W0DdHkSFUYUU,21948
10
- TonieToolbox/opus_packet.py,sha256=OcHXEe3I_K4mWPUD55prpG42sZxJsEeAxqSbFxBmb0c,7895
11
- TonieToolbox/recursive_processor.py,sha256=m70-oJ4MRXvI9OMy14sC9UsQIxwVEnEoA3hhLGdHhL4,13457
12
- TonieToolbox/teddycloud.py,sha256=ATfCLKecjBZRwIzhPkNcOKELRSbnmIyeQh-1imuTe9A,27281
13
- TonieToolbox/tonie_analysis.py,sha256=kp4Wx4cTDddtF2AlS6IX4xs1vQ-mpZ0gsAy4-UdRAAM,23287
14
- TonieToolbox/tonie_file.py,sha256=_LyIsUp2NmpkUVViiLY7EhXitrY4S27xKG5lvZdECJE,21031
15
- TonieToolbox/tonie_header.proto,sha256=WaWfwO4VrwGtscK2ujfDRKtpeBpaVPoZhI8iMmR-C0U,202
16
- TonieToolbox/tonie_header_pb2.py,sha256=s5bp4ULTEekgq6T61z9fDkRavyPM-3eREs20f_Pxxe8,3665
17
- TonieToolbox/tonies_json.py,sha256=AAYPTDTVZg4sm5AAnUKPPAifTM1iLh6Oa96ic84K2m0,20673
18
- TonieToolbox/version_handler.py,sha256=7Zx-pgzAUhz6jMplvNal1wHyxidodVxaNcAV0EMph5k,9778
19
- tonietoolbox-0.4.1.dist-info/licenses/LICENSE.md,sha256=rGoga9ZAgNco9fBapVFpWf6ri7HOBp1KRnt1uIruXMk,35190
20
- tonietoolbox-0.4.1.dist-info/METADATA,sha256=qveJ2gYUaso5-UsLJevMumuiHNsbh75m13piICWknSg,24105
21
- tonietoolbox-0.4.1.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
22
- tonietoolbox-0.4.1.dist-info/entry_points.txt,sha256=oqpeyBxel7aScg35Xr4gZKnf486S5KW9okqeBwyJxxc,60
23
- tonietoolbox-0.4.1.dist-info/top_level.txt,sha256=Wkkm-2p7I3ENfS7ZbYtYUB2g-xwHrXVlERHfonsOPuE,13
24
- tonietoolbox-0.4.1.dist-info/RECORD,,