From 5195aec2d77602c138d43713edc85654c3a44895 Mon Sep 17 00:00:00 2001 From: hub-gif <2487812171@qq.com> Date: Fri, 17 Apr 2026 14:39:36 +0800 Subject: [PATCH] =?UTF-8?q?fix(pipeline):=20=E5=85=BC=E5=AE=B9=E5=85=A5?= =?UTF-8?q?=E5=8F=A3=E5=85=A8=E9=87=8F=E5=90=8C=E6=AD=A5=20jd=5Freport=20?= =?UTF-8?q?=E7=AC=A6=E5=8F=B7=E5=90=AB=20=5Fread=5Fcsv=5Frows?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 避免 import * 漏掉下划线辅助函数导致报告再生等接口 500。 Made-with: Cursor --- backend/pipeline/jd_competitor_report.py | 35 ++++++++++++++++-------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/backend/pipeline/jd_competitor_report.py b/backend/pipeline/jd_competitor_report.py index 7b926b1..13cee18 100644 --- a/backend/pipeline/jd_competitor_report.py +++ b/backend/pipeline/jd_competitor_report.py @@ -6,18 +6,29 @@ """ from __future__ import annotations -from pipeline.competitor_report.jd_report import * # noqa: F403, F401 -from pipeline.competitor_report.jd_report import ( # noqa: F401 - main, - # ``import *`` 不导出以下划线开头的名称;测试与调试会经本兼容入口访问这些辅助函数。 - _comment_lines_with_product_context, - _comment_sentiment_lexicon, - _consumer_feedback_by_matrix_group, - _counter_mix_top_rows_with_remainder, - _merged_rows_grouped_for_matrix, - _sku_to_matrix_group_map, - _structure_names_for_pie_counter, +import pipeline.competitor_report.jd_report as _jd + +# ``from jd_report import *`` 不会绑定以下划线开头的名称;外部常以 +# ``import pipeline.jd_competitor_report as jcr`` 再访问 ``jcr._read_csv_rows`` 等。 +# 这里把实现模块中除模块身份相关 dunder 以外的符号全部同步到本模块,避免再漏导出。 +_SKIP = frozenset( + { + "__name__", + "__doc__", + "__file__", + "__package__", + "__loader__", + "__spec__", + "__path__", + "__cached__", + "__builtins__", + "__annotations__", + } ) +for _k, _v in vars(_jd).items(): + if _k in _SKIP or (_k.startswith("__") and _k.endswith("__")): + continue + globals()[_k] = _v if __name__ == "__main__": - main() + _jd.main()