| SEGMENT_PATH = os.path.join(os.path.dirname(file), "digest_paths") CSV_PATH = os.path.join(os.path.dirname(file), "digs_results.csv") PROCESSED_LOG = os.path.join(os.path.dirname(file), ".digested_files.log") | |
| def load_processed(): if os.path.exists(PROCESSED_LOG): with open(PROCESSED_LOG, 'r') as f: return set(line.strip() for line in f.readlines()) return set() | |
| def save_processed(filename): with open(PROCESSED_LOG, 'a') as f: f.write(filename + "\n") | |
| def append_to_csv(result): import csv exists = os.path.exists(CSV_PATH) with open(CSV_PATH, 'a', newline='', encoding='utf-8') as csvfile: writer = csv.DictWriter(csvfile, fieldnames=["timestamp", "filename", "char_count", "processed_paths"]) if not exists: writer.writeheader() writer.writerow({ "timestamp": datetime.utcnow().isoformat(), **result }) | |
| def watch_and_digs(): print("DIGS Daemon running. Watching for new .txt files...") seen = load_processed() | |
| while True: | |
| for file in os.listdir(SEGMENT_PATH): | |
| if file.endswith(".txt") and file not in seen: | |
| full_path = os.path.join(SEGMENT_PATH, file) | |
| print(f"Processing new file: {file}") | |
| try: | |
| result = process_segment(full_path) | |
| if result: | |
| append_to_csv(result) | |
| save_processed(file) | |
| print(f"Done: {file}") | |
| except Exception as e: | |
| print(f"Error processing {file}: {e}") | |
| time.sleep(2) | |
| if name == "main": watch_and_digs() | |