|
7 | 7 | [](https://github.com/FAAQJAVED/Email-Phone-Number-Enrichment-Tool/actions/workflows/ci.yml) |
8 | 8 |  |
9 | 9 |  |
10 | | -[](tests/test_core.py) |
11 | 10 |  |
12 | 11 |
|
13 | 12 | --- |
|
105 | 104 | | **Junk email filtering** | Configurable list of domains and keywords to exclude (noreply@, gdpr@, etc.) | |
106 | 105 | | **Excel output + Run Stats** | Styled workbook with hit rate percentages, run duration, and coverage breakdown | |
107 | 106 | | **CSV backup** | Always written alongside Excel — safe for large datasets and resume on next run | |
108 | | -| **78 pure-function tests** | Full test suite runs offline in under 3 seconds — no browser or network required | |
| 107 | +| **88 pure-function tests** | Full test suite runs offline in under 3 seconds — no browser or network required | |
109 | 108 | | **Cookie banner dismissal** | 10 configurable Playwright selectors, silently ignored on failure | |
110 | 109 | | **Atomic checkpoint** | Writes to `.tmp` then `os.replace()` — no data loss on crash or kill | |
111 | 110 | | **Resume anywhere** | Re-run the same command to continue; already-processed sites are never re-scraped | |
@@ -143,7 +142,7 @@ Every input row produces one output row. The actual columns written to the Excel |
143 | 142 | | **Email** | info@1clickproperties.co.uk | |
144 | 143 | | **Phone** | 0208 752 1800 | |
145 | 144 |
|
146 | | -> Sites where no email was found are written with `user@domain.com` as a placeholder — these are easy to filter out in Excel. Category is included as an extra column when it is present in your input CSV. |
| 145 | +> Sites with no email found are written with an empty cell. Category is included as an extra column when it is present in your input CSV. |
147 | 146 |
|
148 | 147 | See [`Assets/sample_output.csv`](Assets/sample_output.csv) for 15 rows of real output from an actual run against UK property-sector websites. |
149 | 148 |
|
@@ -322,7 +321,7 @@ Email-Phone-Number-Enrichment-Tool/ |
322 | 321 | │ └── controls.py ← State, ControlListener, AutoSaver, check_cmd_file |
323 | 322 | ├── tests/ |
324 | 323 | │ ├── __init__.py |
325 | | -│ └── test_core.py ← 78 unit tests |
| 324 | +│ └── test_core.py ← 88 unit tests |
326 | 325 | ├── Assets/ |
327 | 326 | │ ├── terminal_progress.png |
328 | 327 | │ ├── output_preview.png |
|
0 commit comments