mirror of
https://github.com/soxoj/maigret.git
synced 2026-09-22 09:44:54 +02:00
* refactor: drop dead 'if not dictionary' guards across report paths Closes #2665. Every site results entry flows through make_site_result (checking.py:788), which initializes results_site = {} and then unconditionally populates it (site/username/keywords/parsing_enabled/url_main/cookies up front, checker at the end, plus status or url_user+future on every branch). It has no return path that yields an empty dict. check_site_for_username wraps that result and likewise never returns a falsy entry, and maigret.py does not construct site-result dicts by hand. So the four downstream 'if not dictionary: continue' guards (all tagged '# TODO: fix no site data issue') were dead code — the entries they guarded against cannot occur. Removed: - maigret/maigret.py:101 (extract_ids_from_results) - maigret/report.py:151 — 'if not dictionary or dictionary.get("is_similar")' trimmed to just the is_similar check (real logic) - maigret/report.py:467 (extended-report builder) - maigret/report.py:609 (generate_txt_report) - maigret/report.py:627 — 'if not site_result or not site_result.get("status")' trimmed to just the status check (real logic) - maigret/report.py:687 (generate_json_report) plus the four '# TODO: fix no site data issue' comments. No behavior change for well-formed inputs; downstream .get() calls are safe because entries are always populated dicts. 292 tests pass. * feat: add Chinese name false-positive fix + CSDN site - #2633: When searching non-ASCII usernames, skip presence detection if the response body doesn't contain the username at all, preventing false positives on sites that return generic error pages. - #2634: Add CSDN (blog.csdn.net) — major Chinese dev blog with 40M+ users, alexa rank #45 in China. * fix: add tls_fingerprint to CSDN + add tests for non-ASCII false positive fix Addresses PR #2876 review feedback from soxoj: - Add tls_fingerprint to CSDN protection (curl_cffi required) - Add 2 test cases for #2633 non-ASCII username false positive fix: - non-ASCII username not in response → no false CLAIMED - non-ASCII username in response → normal CLAIMED behavior --------- Co-authored-by: aznikline <aznikline@users.noreply.github.com>