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.
- spiderforce4ai/post_extraction_agent.py +18 -6
 - {spiderforce4ai-2.5.9.dist-info → spiderforce4ai-2.6.dist-info}/METADATA +1 -1
 - spiderforce4ai-2.6.dist-info/RECORD +7 -0
 - spiderforce4ai-2.5.9.dist-info/RECORD +0 -7
 - {spiderforce4ai-2.5.9.dist-info → spiderforce4ai-2.6.dist-info}/WHEEL +0 -0
 - {spiderforce4ai-2.5.9.dist-info → spiderforce4ai-2.6.dist-info}/entry_points.txt +0 -0
 - {spiderforce4ai-2.5.9.dist-info → spiderforce4ai-2.6.dist-info}/top_level.txt +0 -0
 
| 
         @@ -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 
     | 
    
         
            -
                            #  
     | 
| 
      
 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 
     | 
    
         
            -
                             
     | 
| 
      
 278 
     | 
    
         
            +
                            Path(output_file).parent.mkdir(parents=True, exist_ok=True)
         
     | 
| 
       268 
279 
     | 
    
         | 
| 
       269 
280 
     | 
    
         
             
                            # Save combined results atomically
         
     | 
| 
       270 
     | 
    
         
            -
                            temp_file =  
     | 
| 
      
 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 
     | 
| 
       278 
     | 
    
         
            -
                            for backup_file in  
     | 
| 
      
 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}")
         
     | 
| 
         @@ -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,,
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     |