spiderforce4ai 1.3__py3-none-any.whl → 1.4__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.
@@ -556,10 +556,7 @@ class SpiderForce4AI:
556
556
  else:
557
557
  results = initial_results
558
558
 
559
- # Save final report
560
- await self._save_report(config)
561
-
562
- # Calculate final statistics
559
+ # Calculate final statistics before saving report
563
560
  final_successful = len([r for r in results if r.status == "success"])
564
561
  final_failed = len([r for r in results if r.status == "failed"])
565
562
 
@@ -575,7 +572,15 @@ class SpiderForce4AI:
575
572
  retry_successful = initial_failed - final_failed
576
573
  console.print(f"Retry success rate: {retry_successful}/{initial_failed} ({(retry_successful/initial_failed)*100:.1f}%)")
577
574
 
578
- if config.report_file:
575
+ # Save final report after all retries are complete
576
+ if config.save_reports:
577
+ self._retry_stats = {
578
+ "initial_failures": initial_failed,
579
+ "failure_ratio": failure_ratio,
580
+ "retry_successful": retry_successful if initial_failed > 0 else 0,
581
+ "retry_failed": final_failed
582
+ }
583
+ await self._save_report(config)
579
584
  console.print(f"📊 Report saved to: {config.report_file}")
580
585
 
581
586
  return results
@@ -656,11 +661,6 @@ class SpiderForce4AI:
656
661
  status = "✓" if result.status == "success" else "✗"
657
662
  progress.description = f"Last: {status} {result.url}"
658
663
 
659
- # Save final report
660
- if config.report_file:
661
- self._save_report_sync(results, config)
662
- print(f"\nReport saved to: {config.report_file}")
663
-
664
664
  # Calculate initial failure statistics
665
665
  failed_results = [r for r in results if r.status == "failed"]
666
666
  initial_failed = len(failed_results)
@@ -715,6 +715,17 @@ class SpiderForce4AI:
715
715
  retry_successful = initial_failed - final_failed
716
716
  console.print(f"Retry success rate: {retry_successful}/{initial_failed} ({(retry_successful/initial_failed)*100:.1f}%)")
717
717
 
718
+ # Save final report after all retries are complete
719
+ if config.save_reports:
720
+ self._retry_stats = {
721
+ "initial_failures": initial_failed,
722
+ "failure_ratio": failure_ratio,
723
+ "retry_successful": retry_successful if initial_failed > 0 else 0,
724
+ "retry_failed": final_failed
725
+ }
726
+ self._save_report_sync(results, config)
727
+ console.print(f"📊 Report saved to: {config.report_file}")
728
+
718
729
  return results
719
730
 
720
731
  async def __aenter__(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: spiderforce4ai
3
- Version: 1.3
3
+ Version: 1.4
4
4
  Summary: Python wrapper for SpiderForce4AI HTML-to-Markdown conversion service
5
5
  Home-page: https://petertam.pro
6
6
  Author: Piotr Tamulewicz
@@ -0,0 +1,5 @@
1
+ spiderforce4ai/__init__.py,sha256=7EMEEfFY3WLq58-vnK1Yhcb1trF2ZXU-Ny3licz45Yk,30585
2
+ spiderforce4ai-1.4.dist-info/METADATA,sha256=7GRBz_bTtXOQ2N-gHRPJFEWW8mmOB_1gwrJCf-el8LM,7183
3
+ spiderforce4ai-1.4.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
4
+ spiderforce4ai-1.4.dist-info/top_level.txt,sha256=Kth7A21Js7DCp0j5XBBi-FE45SCLouZkeNZU__Yr9Yk,15
5
+ spiderforce4ai-1.4.dist-info/RECORD,,
@@ -1,5 +0,0 @@
1
- spiderforce4ai/__init__.py,sha256=Fbgqu9uPg0wuWZgiVYNTv6CkkcOHgU_f5-uoXRKhgn4,29922
2
- spiderforce4ai-1.3.dist-info/METADATA,sha256=ybuwcVE62JFnWJKcCdHDrOOqmbuh8PEzF69_yFK-eV0,7183
3
- spiderforce4ai-1.3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
4
- spiderforce4ai-1.3.dist-info/top_level.txt,sha256=Kth7A21Js7DCp0j5XBBi-FE45SCLouZkeNZU__Yr9Yk,15
5
- spiderforce4ai-1.3.dist-info/RECORD,,