spiderforce4ai 2.5.9__py3-none-any.whl → 2.6__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.
@@ -260,22 +260,34 @@ class PostExtractionAgent:
260
260
  """Save individual or combined results synchronously."""
261
261
  try:
262
262
  if self.config.combine_output and self.config.output_file:
263
- # Update the results dictionary
263
+ # Convert Path to string if needed
264
+ output_file = str(self.config.output_file) if isinstance(self.config.output_file, Path) else self.config.output_file
265
+
266
+ # Load existing results if file exists
267
+ if Path(output_file).exists():
268
+ try:
269
+ with open(output_file, 'r') as f:
270
+ self.results = json.load(f)
271
+ except json.JSONDecodeError:
272
+ self.results = {}
273
+
274
+ # Update results with new data
264
275
  self.results[url] = result
265
276
 
266
277
  # Ensure output directory exists
267
- self.config.output_file.parent.mkdir(parents=True, exist_ok=True)
278
+ Path(output_file).parent.mkdir(parents=True, exist_ok=True)
268
279
 
269
280
  # Save combined results atomically
270
- temp_file = self.config.output_file.with_suffix('.tmp')
281
+ temp_file = f"{output_file}.tmp"
271
282
  with open(temp_file, 'w') as f:
272
283
  json.dump(self.results, f, indent=2)
273
- temp_file.replace(self.config.output_file)
274
284
 
285
+ # Atomic replace
286
+ Path(temp_file).replace(output_file)
275
287
  logger.info(f"Updated combined results file with {url}")
276
288
 
277
- # Cleanup backup files after successful save
278
- for backup_file in self.config.output_file.parent.glob(f"{self.config.output_file.stem}.bak_*"):
289
+ # Cleanup backup files
290
+ for backup_file in Path(output_file).parent.glob(f"{Path(output_file).stem}.bak_*"):
279
291
  try:
280
292
  backup_file.unlink()
281
293
  logger.info(f"Cleaned up backup file: {backup_file}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: spiderforce4ai
3
- Version: 2.5.9
3
+ Version: 2.6
4
4
  Summary: Python wrapper for SpiderForce4AI HTML-to-Markdown conversion service with LLM post-processing
5
5
  Home-page: https://petertam.pro
6
6
  Author: Piotr Tamulewicz
@@ -0,0 +1,7 @@
1
+ spiderforce4ai/__init__.py,sha256=BlrRIrtpDUHjmDedqgXP1KbAAsAH9vwFPncUR5VGGyM,44804
2
+ spiderforce4ai/post_extraction_agent.py,sha256=AysrHIoD-IreqbvWqCDxyN7v8EPSdLOG9yxABamTZSg,17827
3
+ spiderforce4ai-2.6.dist-info/METADATA,sha256=JtIZ1-ojRvfm773-yF1a_M_x6eB5kbnb6WT5XT04KDA,9010
4
+ spiderforce4ai-2.6.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
5
+ spiderforce4ai-2.6.dist-info/entry_points.txt,sha256=ibARQxOlDiL1ho12zbDZt4Uq5RKSIk_qk159ZlZ46hc,59
6
+ spiderforce4ai-2.6.dist-info/top_level.txt,sha256=Kth7A21Js7DCp0j5XBBi-FE45SCLouZkeNZU__Yr9Yk,15
7
+ spiderforce4ai-2.6.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- spiderforce4ai/__init__.py,sha256=BlrRIrtpDUHjmDedqgXP1KbAAsAH9vwFPncUR5VGGyM,44804
2
- spiderforce4ai/post_extraction_agent.py,sha256=K6AGqeDO_MZ4pQMlkmnfK6Y5Sa1BWkUWv9u7_LMxsuM,17314
3
- spiderforce4ai-2.5.9.dist-info/METADATA,sha256=4qXFZ6sEYnqsjULabDNc0ez0ZTuTPa1FuUTXpGuXG0I,9012
4
- spiderforce4ai-2.5.9.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
5
- spiderforce4ai-2.5.9.dist-info/entry_points.txt,sha256=ibARQxOlDiL1ho12zbDZt4Uq5RKSIk_qk159ZlZ46hc,59
6
- spiderforce4ai-2.5.9.dist-info/top_level.txt,sha256=Kth7A21Js7DCp0j5XBBi-FE45SCLouZkeNZU__Yr9Yk,15
7
- spiderforce4ai-2.5.9.dist-info/RECORD,,