From bd06784d1b40e1571b7c6314e8e930a8994e6b29 Mon Sep 17 00:00:00 2001 From: David Arnold Date: Wed, 9 Oct 2024 15:29:30 +0200 Subject: [PATCH] ci: Run optimized python and control warnings (#28063) * ci: run doubly optimized python * ci: control python warnings --- .github/workflows/server-tests.yml | 3 +++ frappe/parallel_test_runner.py | 2 -- frappe/recorder.py | 10 ++++------ frappe/utils/pdf.py | 2 ++ 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/server-tests.yml b/.github/workflows/server-tests.yml index 3e53191274..02e7576912 100644 --- a/.github/workflows/server-tests.yml +++ b/.github/workflows/server-tests.yml @@ -46,6 +46,9 @@ jobs: timeout-minutes: 30 env: NODE_ENV: "production" + PYTHONOPTIMIZE: 2 + # noisy 3rd party library warnings + PYTHONWARNINGS: "module,ignore:::babel.messages.extract" strategy: fail-fast: false diff --git a/frappe/parallel_test_runner.py b/frappe/parallel_test_runner.py index c6292de69e..13defac5e0 100644 --- a/frappe/parallel_test_runner.py +++ b/frappe/parallel_test_runner.py @@ -32,8 +32,6 @@ class ParallelTestRunner: self.total_tests = 0 self.test_result = None self.setup_test_file_list() - warnings.simplefilter("module", DeprecationWarning) - warnings.simplefilter("module", PendingDeprecationWarning) def setup_and_run(self): self.setup_test_site() diff --git a/frappe/recorder.py b/frappe/recorder.py index 208f436eb4..cc4bca536b 100644 --- a/frappe/recorder.py +++ b/frappe/recorder.py @@ -175,15 +175,13 @@ def normalize_query(query: str) -> str: def record(force=False): - if __debug__: - if frappe.cache.get_value(RECORDER_INTERCEPT_FLAG) or force: - frappe.local._recorder = Recorder(force=force) + if frappe.cache.get_value(RECORDER_INTERCEPT_FLAG) or force: + frappe.local._recorder = Recorder(force=force) def dump(): - if __debug__: - if hasattr(frappe.local, "_recorder"): - frappe.local._recorder.dump() + if hasattr(frappe.local, "_recorder"): + frappe.local._recorder.dump() class Recorder: diff --git a/frappe/utils/pdf.py b/frappe/utils/pdf.py index 16780e3dbc..5c44a672a0 100644 --- a/frappe/utils/pdf.py +++ b/frappe/utils/pdf.py @@ -10,6 +10,8 @@ from urllib.parse import parse_qs, urlparse import cssutils import pdfkit + +pdfkit.source.unicode = str # NOTE: upstream bug; PYTHONOPTIMIZE=1 optimized this away from bs4 import BeautifulSoup from packaging.version import Version from pypdf import PdfReader, PdfWriter