Store dynamic data to Excel (for platforms like Bilibili) Args: dynamic_item: Dynamic data dictionary
(self, dynamic_item: Dict)
| 321 | utils.logger.info(f"[ExcelStoreBase] Stored contact to Excel: up_id={contact_item.get('up_id', 'N/A')}, fan_id={contact_item.get('fan_id', 'N/A')}") |
| 322 | |
| 323 | async def store_dynamic(self, dynamic_item: Dict): |
| 324 | """ |
| 325 | Store dynamic data to Excel (for platforms like Bilibili) |
| 326 | |
| 327 | Args: |
| 328 | dynamic_item: Dynamic data dictionary |
| 329 | """ |
| 330 | # Create dynamics sheet if not exists |
| 331 | if self.dynamics_sheet is None: |
| 332 | self.dynamics_sheet = self.workbook.create_sheet("Dynamics") |
| 333 | |
| 334 | # Define headers |
| 335 | headers = list(dynamic_item.keys()) |
| 336 | |
| 337 | # Write headers if first time |
| 338 | if not self.dynamics_headers_written: |
| 339 | self._write_headers(self.dynamics_sheet, headers) |
| 340 | self.dynamics_headers_written = True |
| 341 | |
| 342 | # Write data row |
| 343 | self._write_row(self.dynamics_sheet, dynamic_item, headers) |
| 344 | |
| 345 | utils.logger.info(f"[ExcelStoreBase] Stored dynamic to Excel: {dynamic_item.get('dynamic_id', 'N/A')}") |
| 346 | |
| 347 | def flush(self): |
| 348 | """ |
nothing calls this directly
no test coverage detected