TonieToolbox 0.6.0rc2__tar.gz → 0.6.1__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.
Files changed (37) hide show
  1. {tonietoolbox-0.6.0rc2/TonieToolbox.egg-info → tonietoolbox-0.6.1}/PKG-INFO +1 -1
  2. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/__init__.py +1 -1
  3. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/integration.py +4 -2
  4. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/tonies_json.py +16 -8
  5. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1/TonieToolbox.egg-info}/PKG-INFO +1 -1
  6. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/LICENSE.md +0 -0
  7. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/MANIFEST.in +0 -0
  8. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/README.md +0 -0
  9. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/__main__.py +0 -0
  10. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/artwork.py +0 -0
  11. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/audio_conversion.py +0 -0
  12. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/constants.py +0 -0
  13. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/dependency_manager.py +0 -0
  14. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/filename_generator.py +0 -0
  15. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/integration_macos.py +0 -0
  16. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/integration_ubuntu.py +0 -0
  17. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/integration_windows.py +0 -0
  18. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/logger.py +0 -0
  19. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/media_tags.py +0 -0
  20. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/ogg_page.py +0 -0
  21. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/opus_packet.py +0 -0
  22. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/recursive_processor.py +0 -0
  23. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/tags.py +0 -0
  24. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/teddycloud.py +0 -0
  25. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/tonie_analysis.py +0 -0
  26. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/tonie_file.py +0 -0
  27. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/tonie_header.proto +0 -0
  28. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/tonie_header_pb2.py +0 -0
  29. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox/version_handler.py +0 -0
  30. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox.egg-info/SOURCES.txt +0 -0
  31. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox.egg-info/dependency_links.txt +0 -0
  32. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox.egg-info/entry_points.txt +0 -0
  33. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox.egg-info/requires.txt +0 -0
  34. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/TonieToolbox.egg-info/top_level.txt +0 -0
  35. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/pyproject.toml +0 -0
  36. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/setup.cfg +0 -0
  37. {tonietoolbox-0.6.0rc2 → tonietoolbox-0.6.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TonieToolbox
3
- Version: 0.6.0rc2
3
+ Version: 0.6.1
4
4
  Summary: Convert audio files to Toniebox compatible format (.TAF) and interact with TeddyCloud.
5
5
  Home-page: https://github.com/Quentendo64/TonieToolbox
6
6
  Author: Quentendo64
@@ -3,4 +3,4 @@
3
3
  TonieToolbox - Convert audio files to Tonie box compatible format
4
4
  """
5
5
 
6
- __version__ = '0.6.0rc2'
6
+ __version__ = '0.6.1'
@@ -59,11 +59,13 @@ def handle_config():
59
59
  return
60
60
  if platform.system() == "Windows":
61
61
  from .integration_windows import WindowsClassicContextMenuIntegration as ContextMenuIntegration
62
- ContextMenuIntegration._apply_config_template()
62
+ context_menu = ContextMenuIntegration()
63
+ context_menu._apply_config_template()
63
64
  os.startfile(config_path)
64
65
  elif platform.system() == "Darwin":
65
66
  from .integration_macos import MacOSContextMenuIntegration as ContextMenuIntegration
66
- ContextMenuIntegration._apply_config_template()
67
+ context_menu = ContextMenuIntegration()
68
+ context_menu._apply_config_template()
67
69
  subprocess.call(["open", config_path])
68
70
  elif platform.system() == "Linux":
69
71
  subprocess.call(["xdg-open", config_path])
@@ -180,20 +180,23 @@ class ToniesJsonHandlerv1:
180
180
  """
181
181
  logger.trace("Entering add_entry_from_taf() with taf_file=%s, input_files=%s, artwork_url=%s",
182
182
  taf_file, input_files, artwork_url)
183
-
184
183
  if not self.is_loaded:
185
184
  logger.error("Cannot add entry: tonies.custom.json not loaded")
186
185
  return False
187
186
 
188
187
  try:
189
- logger.info("Adding entry for %s to tonies.custom.json", taf_file)
188
+ logger.info("Adding entry for %s to tonies.custom.json", taf_file)
190
189
  logger.debug("Extracting metadata from input files")
191
190
  metadata = self._extract_metadata_from_files(input_files)
192
191
  logger.debug("Extracted metadata: %s", metadata)
192
+ logger.debug("Extracting hash and timestamp from TAF file header")
193
+ from .tonie_analysis import get_header_info
193
194
  with open(taf_file, 'rb') as f:
194
- taf_hash = hashlib.sha1(f.read()).hexdigest().upper()
195
-
196
- timestamp = str(int(time.time()))
195
+ header_size, tonie_header, file_size, audio_size, sha1, opus_head_found, \
196
+ opus_version, channel_count, sample_rate, bitstream_serial_no, opus_comments = get_header_info(f)
197
+ taf_hash = tonie_header.dataHash.hex().upper()
198
+ timestamp = str(bitstream_serial_no)
199
+ logger.debug("Extracted hash: %s, timestamp: %s", taf_hash, timestamp)
197
200
  series = metadata.get('albumartist', metadata.get('artist', 'Unknown Artist'))
198
201
  episodes = metadata.get('album', os.path.splitext(os.path.basename(taf_file))[0])
199
202
  copyright = metadata.get('copyright', '')
@@ -829,15 +832,20 @@ class ToniesJsonHandlerv2:
829
832
 
830
833
  try:
831
834
  logger.info("Adding entry for %s to tonies.custom.json", taf_file)
832
-
833
835
  logger.debug("Extracting metadata from input files")
834
836
  metadata = self._extract_metadata_from_files(input_files)
835
837
  logger.debug("Extracted metadata: %s", metadata)
838
+
839
+ logger.debug("Extracting hash and timestamp from TAF file header")
840
+ from .tonie_analysis import get_header_info
836
841
  with open(taf_file, 'rb') as f:
837
- taf_hash = hashlib.sha1(f.read()).hexdigest()
842
+ header_size, tonie_header, file_size, audio_size, sha1, opus_head_found, \
843
+ opus_version, channel_count, sample_rate, bitstream_serial_no, opus_comments = get_header_info(f)
844
+ taf_hash = tonie_header.dataHash.hex().upper()
845
+ timestamp = bitstream_serial_no
846
+ logger.debug("Extracted hash: %s, timestamp: %s", taf_hash, timestamp)
838
847
 
839
848
  taf_size = os.path.getsize(taf_file)
840
- timestamp = int(time.time())
841
849
  series = metadata.get('albumartist', metadata.get('artist', 'Unknown Artist'))
842
850
  episode = metadata.get('album', os.path.splitext(os.path.basename(taf_file))[0])
843
851
  track_desc = metadata.get('track_descriptions', [])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TonieToolbox
3
- Version: 0.6.0rc2
3
+ Version: 0.6.1
4
4
  Summary: Convert audio files to Toniebox compatible format (.TAF) and interact with TeddyCloud.
5
5
  Home-page: https://github.com/Quentendo64/TonieToolbox
6
6
  Author: Quentendo64
File without changes
File without changes
File without changes
File without changes