Skip to content

Commit 35a862a

Browse files
committed
updates from testing
1 parent 908bf95 commit 35a862a

File tree

8 files changed

+188
-134
lines changed

8 files changed

+188
-134
lines changed

src/main/resources/scripts/cobertura.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,11 @@
2626
try:
2727
from vector.apps.DataAPI.vcproject_api import VCProjectApi
2828
from vector.apps.DataAPI.vcproject_models import VCProject
29-
from vector.apps.DataAPI.cover_api import CoverApi
3029
except:
3130
pass
31+
32+
from vector.apps.DataAPI.cover_api import CoverApi
33+
3234
try:
3335
from vector.apps.DataAPI.unit_test_api import UnitTestApi
3436
except:

src/main/resources/scripts/fixup_reports.py

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -112,17 +112,27 @@ def fixup_2020_reports(report_name):
112112
raw = fd.read().decode(encFmt, "replace")
113113

114114
try:
115-
# First attempt: use whatever encoding was detected
116-
main_soup = BeautifulSoup(raw, features="lxml")
115+
# First attempt: use lxml if available, else let BS pick
116+
try:
117+
import lxml # noqa
118+
parser = "lxml"
119+
except ImportError:
120+
parser = "html.parser"
121+
122+
main_soup = BeautifulSoup(raw, features=parser)
117123

118-
except Exception as e:
124+
except Exception:
119125
try:
120-
# Try UTF-8 first as a fallback (should rarely fail if raw is text)
121-
main_soup = BeautifulSoup(raw.encode("utf-8", "replace"), "lxml")
126+
# Fallback to UTF-8
127+
main_soup = BeautifulSoup(
128+
raw.encode("utf-8", "replace"),
129+
features=parser
130+
)
122131
except Exception:
123-
# Last resort: try system default encoding (ACP on Windows, etc.)
124-
main_soup = BeautifulSoup(raw.encode(encFmt, "replace"), "lxml")
125-
132+
main_soup = BeautifulSoup(
133+
raw.encode(encFmt, "replace")
134+
)
135+
126136
main_soup = fixup_2020_soup(main_soup)
127137

128138
with open(report_name, "wb") as fd:

src/main/resources/scripts/generate_lcov.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,11 @@
2626
try:
2727
from vector.apps.DataAPI.vcproject_api import VCProjectApi
2828
from vector.apps.DataAPI.vcproject_models import VCProject
29-
from vector.apps.DataAPI.cover_api import CoverApi
3029
except:
3130
pass
31+
32+
from vector.apps.DataAPI.cover_api import CoverApi
33+
3234
try:
3335
from vector.apps.DataAPI.unit_test_api import UnitTestApi
3436
except:

src/main/resources/scripts/generate_sonarqube_testresults.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,11 @@
4545

4646
try:
4747
from vector.apps.DataAPI.vcproject_api import VCProjectApi
48-
from vector.apps.DataAPI.cover_api import CoverApi
4948
except:
5049
pass
5150

51+
from vector.apps.DataAPI.cover_api import CoverApi
52+
5253
from vector.enums import ENVIRONMENT_STATUS_TYPE_T
5354

5455
try:

src/main/resources/scripts/generate_xml.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,11 @@
4444

4545
try:
4646
from vector.apps.DataAPI.vcproject_api import VCProjectApi
47-
from vector.apps.DataAPI.cover_api import CoverApi
4847
except:
4948
pass
5049

50+
from vector.apps.DataAPI.cover_api import CoverApi
51+
5152
try:
5253
from vector.apps.ReportBuilder.custom_report import fmt_percent
5354
except:

src/main/resources/scripts/incremental_build_report_aggregator.py

Lines changed: 40 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -177,16 +177,27 @@ def log(msg, level="info"):
177177

178178
# Parse with fallback encodings
179179
try:
180-
main_soup = BeautifulSoup(raw, features="lxml", from_encoding=encFmt)
181-
except Exception as e1:
182-
log("[WARN] Parsing with {} failed: {}".format(encFmt, e1))
180+
# First attempt: use lxml if available, else let BS pick
183181
try:
184-
main_soup = BeautifulSoup(raw, features="lxml", from_encoding="utf-8")
185-
log("[INFO] Parsed successfully with UTF-8 fallback.")
186-
except Exception as e2:
187-
log("[ERROR] UTF-8 parse also failed: {}".format(e2))
188-
main_soup = BeautifulSoup(raw, features="lxml", from_encoding=encFmt)
189-
log("[INFO] Retrying parse with original encoding fallback.")
182+
import lxml # noqa
183+
parser = "lxml"
184+
except ImportError:
185+
parser = "html.parser"
186+
187+
main_soup = BeautifulSoup(raw, features=parser)
188+
189+
except Exception:
190+
try:
191+
# Fallback to UTF-8
192+
main_soup = BeautifulSoup(
193+
raw.encode("utf-8", "replace"),
194+
features=parser
195+
)
196+
except Exception:
197+
# Final fallback: use whatever parser is available, no feature string
198+
main_soup = BeautifulSoup(
199+
raw.encode(encFmt, "replace")
200+
)
190201

191202
if len(main_soup.find_all('table')) < 1:
192203
raise LookupError("No <table> elements found in {}".format(current_file))
@@ -250,20 +261,27 @@ def log(msg, level="info"):
250261

251262
soup = None
252263
try:
253-
soup = BeautifulSoup(raw, features="lxml", from_encoding=encFmt)
254-
except Exception as e1:
255-
log("[WARN] Parsing with {} failed: {}".format(encFmt, e1))
264+
# First attempt: use lxml if available, else let BS pick
256265
try:
257-
soup = BeautifulSoup(raw, features="lxml", from_encoding="utf-8")
258-
log("[INFO] Parsed successfully with UTF-8 fallback.")
259-
except Exception as e2:
260-
log("[ERROR] UTF-8 parse failed: {}".format(e2))
261-
try:
262-
soup = BeautifulSoup(raw, features="lxml", from_encoding=encFmt)
263-
log("[INFO] Retried parse with {} encoding.".format(encFmt))
264-
except Exception as e3:
265-
log("[FATAL] Could not parse report '{}': {}".format(file, e3))
266-
continue
266+
import lxml # noqa
267+
parser = "lxml"
268+
except ImportError:
269+
parser = "html.parser"
270+
271+
main_soup = BeautifulSoup(raw, features=parser)
272+
273+
except Exception:
274+
try:
275+
# Fallback to UTF-8
276+
main_soup = BeautifulSoup(
277+
raw.encode("utf-8", "replace"),
278+
features=parser
279+
)
280+
except Exception:
281+
# Final fallback: use whatever parser is available, no feature string
282+
main_soup = BeautifulSoup(
283+
raw.encode(encFmt, "replace")
284+
)
267285

268286
try:
269287
if soup.find(id="report-title"):

src/main/resources/scripts/parallel_full_reports.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@
4242
import multiprocessing
4343
from vector.apps.DataAPI.unit_test_api import UnitTestApi
4444
from vector.apps.DataAPI.vcproject_api import VCProjectApi
45-
from vector.apps.DataAPI.cover_api import CoverApi
45+
46+
from vector.apps.DataAPI.cover_api import CoverApi
4647

4748

4849
def dump(obj):

0 commit comments

Comments
 (0)