har2tree 1.27.10__tar.gz → 1.28.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: har2tree
3
- Version: 1.27.10
3
+ Version: 1.28.0
4
4
  Summary: HTTP Archive (HAR) to ETE Toolkit generator
5
5
  License: BSD-3-Clause
6
6
  Author: Raphaël Vinot
@@ -25,9 +25,9 @@ Requires-Dist: beautifulsoup4[charset-normalizer,lxml] (>=4.13.3)
25
25
  Requires-Dist: ete3 (>=3.1.3)
26
26
  Requires-Dist: filetype (>=1.2.0)
27
27
  Requires-Dist: legacy-cgi (>=2.6.2) ; python_version >= "3.13,<4.0"
28
- Requires-Dist: numpy (<=2.1) ; python_version == "3.9"
29
- Requires-Dist: numpy (>=2.2.2) ; python_version >= "3.10"
30
- Requires-Dist: publicsuffixlist (>=1.0.2.20250202)
28
+ Requires-Dist: numpy (<2.1) ; python_version == "3.9"
29
+ Requires-Dist: numpy (>=2.2.3) ; python_version >= "3.10"
30
+ Requires-Dist: publicsuffixlist (>=1.0.2.20250213)
31
31
  Requires-Dist: six (>=1.17.0) ; extra == "docs"
32
32
  Requires-Dist: tinycss2 (>=1.4.0)
33
33
  Requires-Dist: w3lib (>=2.3.1)
@@ -191,7 +191,7 @@ class HarFile():
191
191
  self.final_redirect = self.final_redirect.split('?', 1)[0]
192
192
  self._search_final_redirect()
193
193
  else:
194
- self.logger.warning(f'Unable to find the final redirect: {self.final_redirect}')
194
+ self.logger.info(f'Unable to find the final redirect: {self.final_redirect}')
195
195
 
196
196
  @property
197
197
  def number_entries(self) -> int:
@@ -566,7 +566,8 @@ class Har2Tree:
566
566
  if node:
567
567
  return node[0]
568
568
 
569
- if self.har.final_redirect:
569
+ browser_errors = ['chrome-error', 'about:blank']
570
+ if self.har.final_redirect and not any(self.har.final_redirect.startswith(r) for r in browser_errors):
570
571
  self.logger.warning(f'Final redirect URL from adress bar not in tree: {self.har.final_redirect}')
571
572
  else:
572
573
  # No final redirect, already logged earlier.
@@ -333,8 +333,14 @@ def find_external_ressources_in_css(css: str) -> list[str]:
333
333
  for r in __flatten_rules(rules):
334
334
  # other entries may have urls, but they will always be in a url() function
335
335
  if r.type == 'url':
336
- to_return.append(r.value)
336
+ try:
337
+ to_return.append(r.value)
338
+ except Exception as e:
339
+ logger.warning(f'Parsing error in tinycss2: {e} - {r}')
337
340
  elif r.type == 'function' and r.lower_name == 'url':
341
+ if isinstance(r.arguments[0], tinycss2.ast.ParseError):
342
+ # CSS is broken, cannot parse it. Generally a missing closing quote.
343
+ continue
338
344
  to_return.append(r.arguments[0].value)
339
345
  return to_return
340
346
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "har2tree"
3
- version = "1.27.10"
3
+ version = "1.28.0"
4
4
  description = "HTTP Archive (HAR) to ETE Toolkit generator"
5
5
  authors = [
6
6
  {name="Raphaël Vinot", email="raphael.vinot@circl.lu"}
@@ -14,12 +14,12 @@ dynamic = [ "classifiers" ]
14
14
  dependencies = [
15
15
  "ete3 (>=3.1.3)",
16
16
  "beautifulsoup4[charset-normalizer,lxml] (>=4.13.3)",
17
- "publicsuffixlist (>=1.0.2.20250202)",
17
+ "publicsuffixlist (>=1.0.2.20250213)",
18
18
  "filetype (>=1.2.0)",
19
19
  # poetry up fails with the version of numpy forced for python < 3.10.
20
20
  # The work around is to comment it, run poetry up, uncomment it. and run poetry update.
21
- "numpy (<=2.1) ; python_version == \"3.9\"",
22
- "numpy (>=2.2.2) ; python_version >= \"3.10\"",
21
+ "numpy (<2.1) ; python_version == \"3.9\"",
22
+ "numpy (>=2.2.3) ; python_version >= \"3.10\"",
23
23
  "w3lib (>=2.3.1)",
24
24
  "tinycss2 (>=1.4.0)",
25
25
  "legacy-cgi (>=2.6.2) ; python_version >= \"3.13,<4.0\"",
@@ -46,7 +46,7 @@ docs = ["Sphinx (>=8.1.3) ; python_version >= \"3.10\"", "six (>=1.17.0)"]
46
46
  [tool.poetry.group.dev.dependencies]
47
47
  mypy = "^1.15.0"
48
48
  pytest-cov = "^6.0.0"
49
- coverage = "^7.6.10"
49
+ coverage = "^7.6.12"
50
50
  types-beautifulsoup4 = "^4.12.0.20250204"
51
51
 
52
52
  [build-system]
File without changes
File without changes
File without changes
File without changes
File without changes