lacuscore 1.12.5__tar.gz → 1.12.7__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.
- {lacuscore-1.12.5 → lacuscore-1.12.7}/PKG-INFO +5 -6
- {lacuscore-1.12.5 → lacuscore-1.12.7}/lacuscore/lacuscore.py +4 -3
- {lacuscore-1.12.5 → lacuscore-1.12.7}/pyproject.toml +7 -9
- {lacuscore-1.12.5 → lacuscore-1.12.7}/LICENSE +0 -0
- {lacuscore-1.12.5 → lacuscore-1.12.7}/README.md +0 -0
- {lacuscore-1.12.5 → lacuscore-1.12.7}/lacuscore/__init__.py +0 -0
- {lacuscore-1.12.5 → lacuscore-1.12.7}/lacuscore/helpers.py +0 -0
- {lacuscore-1.12.5 → lacuscore-1.12.7}/lacuscore/lacus_monitoring.py +0 -0
- {lacuscore-1.12.5 → lacuscore-1.12.7}/lacuscore/py.typed +0 -0
- {lacuscore-1.12.5 → lacuscore-1.12.7}/lacuscore/task_logger.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lacuscore
|
3
|
-
Version: 1.12.
|
3
|
+
Version: 1.12.7
|
4
4
|
Summary: Core of Lacus, usable as a module
|
5
5
|
Home-page: https://github.com/ail-project/LacusCore
|
6
6
|
License: BSD-3-Clause
|
@@ -23,17 +23,16 @@ Classifier: Programming Language :: Python :: 3.13
|
|
23
23
|
Classifier: Topic :: Internet
|
24
24
|
Classifier: Topic :: Security
|
25
25
|
Provides-Extra: docs
|
26
|
-
Requires-Dist: Sphinx (>=7.2,<8.0) ; (python_version >= "3.9" and python_version < "3.10") and (extra == "docs")
|
27
26
|
Requires-Dist: Sphinx (>=8,<9) ; (python_version >= "3.10") and (extra == "docs")
|
28
27
|
Requires-Dist: async-timeout (>=4.0.3,<5.0.0) ; python_version < "3.11"
|
29
28
|
Requires-Dist: defang (>=0.5.3,<0.6.0)
|
30
29
|
Requires-Dist: dnspython (>=2.7.0,<3.0.0) ; python_version >= "3.9"
|
31
30
|
Requires-Dist: eval-type-backport (>=0.2.0,<0.3.0) ; python_version < "3.10"
|
32
|
-
Requires-Dist: playwrightcapture[recaptcha] (>=1.27.
|
33
|
-
Requires-Dist: pydantic (>=2.10.
|
34
|
-
Requires-Dist: redis[hiredis] (>=5.2.
|
31
|
+
Requires-Dist: playwrightcapture[recaptcha] (>=1.27.5,<2.0.0)
|
32
|
+
Requires-Dist: pydantic (>=2.10.4,<3.0.0)
|
33
|
+
Requires-Dist: redis[hiredis] (>=5.2.1,<6.0.0)
|
35
34
|
Requires-Dist: requests (>=2.32.3,<3.0.0)
|
36
|
-
Requires-Dist: ua-parser (>=0.
|
35
|
+
Requires-Dist: ua-parser[regex] (>=1.0.0,<2.0.0)
|
37
36
|
Project-URL: Documentation, https://lacuscore.readthedocs.io/en/latest/
|
38
37
|
Project-URL: Repository, https://github.com/ail-project/LacusCore
|
39
38
|
Description-Content-Type: text/markdown
|
@@ -24,6 +24,8 @@ from collections.abc import Iterator
|
|
24
24
|
from uuid import uuid4
|
25
25
|
from urllib.parse import urlsplit
|
26
26
|
|
27
|
+
import ua_parser
|
28
|
+
|
27
29
|
from dns.resolver import Cache
|
28
30
|
from dns.asyncresolver import Resolver
|
29
31
|
from dns.exception import DNSException
|
@@ -34,7 +36,6 @@ from pydantic import ValidationError
|
|
34
36
|
from redis import Redis
|
35
37
|
from redis.exceptions import ConnectionError as RedisConnectionError
|
36
38
|
from redis.exceptions import DataError
|
37
|
-
from ua_parser import user_agent_parser # type: ignore[import-untyped]
|
38
39
|
|
39
40
|
from . import task_logger
|
40
41
|
from .helpers import (
|
@@ -448,8 +449,8 @@ class LacusCore():
|
|
448
449
|
if to_capture.browser:
|
449
450
|
browser_engine = to_capture.browser
|
450
451
|
elif to_capture.user_agent:
|
451
|
-
parsed_string =
|
452
|
-
browser_family = parsed_string
|
452
|
+
parsed_string = ua_parser.parse(to_capture.user_agent).with_defaults()
|
453
|
+
browser_family = parsed_string.user_agent.family.lower()
|
453
454
|
if browser_family.startswith('chrom'):
|
454
455
|
browser_engine = 'chromium'
|
455
456
|
elif browser_family.startswith('firefox'):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "lacuscore"
|
3
|
-
version = "1.12.
|
3
|
+
version = "1.12.7"
|
4
4
|
description = "Core of Lacus, usable as a module"
|
5
5
|
authors = ["Raphaël Vinot <raphael.vinot@circl.lu>"]
|
6
6
|
license = "BSD-3-Clause"
|
@@ -31,31 +31,29 @@ classifiers = [
|
|
31
31
|
python = "^3.9"
|
32
32
|
requests = "^2.32.3"
|
33
33
|
Sphinx = [
|
34
|
-
{version = "^7.2", python = ">=3.9,<3.10", optional = true},
|
35
34
|
{version = "^8", python = ">=3.10", optional = true}
|
36
35
|
]
|
37
|
-
playwrightcapture = {extras = ["recaptcha"], version = "^1.27.
|
36
|
+
playwrightcapture = {extras = ["recaptcha"], version = "^1.27.5"}
|
38
37
|
defang = "^0.5.3"
|
39
|
-
ua-parser = "^0.
|
40
|
-
redis = {version = "^5.2.
|
38
|
+
ua-parser = {extras = ["regex"], version = "^1.0.0"}
|
39
|
+
redis = {version = "^5.2.1", extras = ["hiredis"]}
|
41
40
|
dnspython = {version = "^2.7.0", python = ">=3.9"}
|
42
41
|
async-timeout = {version = "^4.0.3", python = "<3.11"}
|
43
|
-
pydantic = "^2.10.
|
42
|
+
pydantic = "^2.10.4"
|
44
43
|
eval-type-backport = {version = "^0.2.0", python = "<3.10"}
|
45
44
|
|
46
45
|
[tool.poetry.extras]
|
47
46
|
docs = ["Sphinx"]
|
48
47
|
|
49
48
|
[tool.poetry.group.dev.dependencies]
|
50
|
-
mypy = "^1.
|
49
|
+
mypy = "^1.14.0"
|
51
50
|
types-redis = {version = "^4.6.0.20241004"}
|
52
51
|
types-requests = "^2.32.0.20241016"
|
53
52
|
types-beautifulsoup4 = "^4.12.0.20241020"
|
54
53
|
ipython = [
|
55
|
-
{version = "^8.18.0", python = ">=3.9"},
|
56
54
|
{version = "^8.19.0", python = ">=3.10"}
|
57
55
|
]
|
58
|
-
pytest = "^8.3.
|
56
|
+
pytest = "^8.3.4"
|
59
57
|
|
60
58
|
[build-system]
|
61
59
|
requires = ["poetry_core"]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|