Commit Graph

263 Commits

Author SHA1 Message Date
kleinanzeigen-bot-tu[bot]
f0704addad chore: ✔ Update basedpyright 1.34.0 -> 1.35.0 (#707)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-04 16:45:03 +01:00
kleinanzeigen-bot-tu[bot]
554c3a4e1f chore: ✔ Update cyclonedx-python-lib 11.5.0 -> 11.6.0 (#704) 2025-12-03 12:41:24 +01:00
kleinanzeigen-bot-tu[bot]
ed53639ec6 chore: Update Python dependencies (#702)
✔ Update pip-audit 2.9.0 -> 2.10.0 successful
  ✔ Update cyclonedx-python-lib 9.1.0 -> 11.5.0 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-03 07:41:58 +01:00
kleinanzeigen-bot-tu[bot]
9aaefe8657 chore: Update Python dependencies (#700)
✔ Update packageurl-python 0.17.5 -> 0.17.6 successful
  ✔ Update pyinstaller 6.16.0 -> 6.17.0 successful
  ✔ Update pydantic 2.12.4 -> 2.12.5 successful
  ✔ Update ruff 0.14.6 -> 0.14.7 successful
  ✔ Update mypy 1.18.2 -> 1.19.0 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-01 22:33:52 +01:00
kleinanzeigen-bot-tu[bot]
03b91a3d8c chore: Update Python dependencies (#695)
✔ Update altgraph 0.17.4 -> 0.17.5 successful
  ✔ Update exceptiongroup 1.3.0 -> 1.3.1 successful
  ✔ Update pyinstaller-hooks-contrib 2025.9 -> 2025.10 successful
  ✔ Update ruff 0.14.5 -> 0.14.6 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-24 18:10:05 +01:00
kleinanzeigen-bot-tu[bot]
651c894a86 chore: ✔ Update basedpyright 1.33.0 -> 1.34.0 (#694) 2025-11-20 12:47:56 +01:00
kleinanzeigen-bot-tu[bot]
5e6668d268 chore: Update Python dependencies (#693) 2025-11-19 15:08:06 +01:00
kleinanzeigen-bot-tu[bot]
5c3b243194 chore: Update ruamel-yaml-clib 0.2.14 -> 0.2.15 (#688)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-17 11:28:01 +01:00
kleinanzeigen-bot-tu[bot]
3a79059335 chore: ✔ Update click 8.3.0 -> 8.3.1 (#685)
✔ Update click 8.3.0 -> 8.3.1 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-16 14:39:09 +01:00
kleinanzeigen-bot-tu[bot]
9fc118e5fe chore: Update Python dependencies (#682)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-14 11:54:27 +01:00
kleinanzeigen-bot-tu[bot]
ac678ed888 chore: Update Python dependencies (#681)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-13 11:31:00 +01:00
Jens
33d1964f86 feat: speed up and stabilise test suite (#676)
## ℹ️ Description
*Provide a concise summary of the changes introduced in this pull
request.*

- Link to the related issue(s): Issue #
- Describe the motivation and context for this change.

Refactors the test harness for faster and more reliable feedback: adds
deterministic time freezing for update checks, accelerates and refactors
smoke tests to run in-process, defaults pytest to xdist with durations
tracking, and adjusts CI triggers so PRs run the test matrix only once.

## 📋 Changes Summary

- add pytest-xdist + durations reporting defaults, force deterministic
locale and slow markers, and document the workflow adjustments
- run smoke tests in-process (no subprocess churn), mock update
checks/logging, and mark slow specs appropriately
- deflake update check interval tests by freezing datetime and simplify
FixedDateTime helper
- limit GitHub Actions `push` trigger to `main` so feature branches rely
on the single pull_request run

### ⚙️ Type of Change
Select the type(s) of change(s) included in this pull request:
- [ ] 🐞 Bug fix (non-breaking change which fixes an issue)
- [x]  New feature (adds new functionality without breaking existing
usage)
- [ ] 💥 Breaking change (changes that might break existing user setups,
scripts, or configurations)


##  Checklist
Before requesting a review, confirm the following:
- [x] I have reviewed my changes to ensure they meet the project's
standards.
- [x] I have tested my changes and ensured that all tests pass (`pdm run
test`).
- [x] I have formatted the code (`pdm run format`).
- [x] I have verified that linting passes (`pdm run lint`).
- [x] I have updated documentation where necessary.

By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Tests**
* Ensure tests run in a consistent English locale and restore prior
locale after each run
  * Mark integration scraping tests as slow for clearer categorization
* Replace subprocess-based CLI tests with an in-process runner that
returns structured results and captures combined stdout/stderr/logs;
disable update checks during smoke tests
* Freeze current time in update-check tests for deterministic assertions
* Add mock for process enumeration in web‑scraping unit tests to
stabilize macOS-specific warnings

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-11-12 21:29:51 +01:00
kleinanzeigen-bot-tu[bot]
91cb677d17 chore: ✔ Update certifi 2025.10.5 -> 2025.11.12 (#680)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-12 11:25:22 +01:00
kleinanzeigen-bot-tu[bot]
c3c278b6a1 chore: Update Python dependencies (#678)
✔ Update pytest-asyncio 1.2.0 -> 1.3.0 successful
  ✔ Update pytest 8.4.2 -> 9.0.0 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-11 13:02:37 +01:00
Jens
71feedc700 fix: pin nodriver to 0.47 (#675)
## ℹ️ Description
- Link to the related issue(s): Issue #N/A
- Describe the motivation and context for this change.

Pin `nodriver` to the last known good 0.47 series so we can avoid the
UTF-8 decoding regression in 0.48.x that currently breaks our local
mypy/linting runs.

## 📋 Changes Summary
- lock runtime dependency `nodriver` to `0.47.*` with an inline comment
describing the upstream regression
- refresh `pdm.lock` so local/CI installs stay on the pinned version

### ⚙️ Type of Change
- [x] 🐞 Bug fix (non-breaking change which fixes an issue)
- [ ]  New feature (adds new functionality without breaking existing
usage)
- [ ] 💥 Breaking change (changes that might break existing user setups,
scripts, or configurations)


##  Checklist
Before requesting a review, confirm the following:
- [x] I have reviewed my changes to ensure they meet the project's
standards.
- [ ] I have tested my changes and ensured that all tests pass (`pdm run
test`).
- [ ] I have formatted the code (`pdm run format`).
- [ ] I have verified that linting passes (`pdm run lint`).
- [x] I have updated documentation where necessary.

By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice.
2025-11-10 11:36:44 +01:00
kleinanzeigen-bot-tu[bot]
d28a2b2cfa chore: Update Python dependencies (#669)
✔ Update deprecated 1.2.18 -> 1.3.1 successful
  ✔ Update nodriver 0.47.0 -> 0.48.1 successful
  ✔ Update psutil 7.1.2 -> 7.1.3 successful
  ✔ Update pydantic 2.12.3 -> 2.12.4 successful
  ✔ Update wrapt 1.17.3 -> 2.0.1 successful
  ✔ Update coverage 7.11.0 -> 7.11.3 successful
  ✔ Update basedpyright 1.32.1 -> 1.33.0 successful
  ✔ Update ruff 0.14.2 -> 0.14.4 successful
  ✔ Update pydantic-core 2.41.4 -> 2.41.5 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-10 11:27:57 +01:00
kleinanzeigen-bot-tu[bot]
f20da20287 chore: ✔ Update psutil 7.1.1 -> 7.1.2 (#663)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-26 11:23:01 +01:00
kleinanzeigen-bot-tu[bot]
06bbd0ef6f chore: ✔ Update pip 25.2 -> 25.3 (#659)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-25 12:23:09 +02:00
kleinanzeigen-bot-tu[bot]
27a17f3e56 chore: Update Python dependencies (#657)
✔ Update typer 0.19.2 -> 0.20.0 successful
  ✔ Update ruamel-yaml 0.18.15 -> 0.18.16 successful
  ✔ Update ruff 0.14.1 -> 0.14.2 successful
  ✔ Update basedpyright 1.31.7 -> 1.32.1 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-24 12:44:06 +02:00
kleinanzeigen-bot-tu[bot]
20e43db2ef chore: ✔ Update psutil 7.1.0 -> 7.1.1 (#655)
✔ Update psutil 7.1.0 -> 7.1.1 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-20 12:42:16 +02:00
kleinanzeigen-bot-tu[bot]
19c0768255 chore: ✔ Update iniconfig 2.1.0 -> 2.3.0 (#649)
✔ Update iniconfig 2.1.0 -> 2.3.0 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-19 13:37:39 +02:00
kleinanzeigen-bot-tu[bot]
34013cb869 chore: Update Python dependencies (#643)
✔ Update pydantic 2.12.2 -> 2.12.3 successful
  ✔ Update coverage 7.10.7 -> 7.11.0 successful
  ✔ Update ruff 0.14.0 -> 0.14.1 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-18 13:51:29 +02:00
kleinanzeigen-bot-tu[bot]
f76e3b69ba chore: Update Python dependencies (#642)
✔ Update pydantic 2.12.1 -> 2.12.2 successful
  ✔ Update pydantic-core 2.41.3 -> 2.41.4 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-15 12:49:42 +02:00
Sebastian Thomschke
dadd08aedb build: upgrade to Python 3.14 (#636)
Co-authored-by: Jens <1742418+1cu@users.noreply.github.com>
2025-10-14 15:56:35 +02:00
kleinanzeigen-bot-tu[bot]
799ec447af chore: Update Python dependencies (#640)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-14 12:32:55 +02:00
kleinanzeigen-bot-tu[bot]
ff0be420e7 chore: Update Python dependencies (#637)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-13 17:31:47 +02:00
Jens
36ca178574 feat: upgrade nodriver from 0.39 to 0.47 (#635)
## ℹ️ Description
Upgrade nodriver dependency from pinned version 0.39.0 to latest 0.47.0
to resolve browser startup issues and JavaScript evaluation problems
that affected versions 0.40-0.44.

- Link to the related issue(s): Resolves nodriver compatibility issues
- This upgrade addresses browser startup problems and window.BelenConf
evaluation failures that were blocking the use of newer nodriver
versions.

## 📋 Changes Summary

- Updated nodriver dependency from pinned 0.39.0 to >=0.47.0 in
pyproject.toml
- Fixed RemoteObject handling in web_execute method for nodriver 0.47
compatibility
- Added comprehensive BelenConf test fixture with real production data
structure
- Added integration test to validate window.BelenConf evaluation works
correctly
- Added German translation for new error message
- Replaced real user data with privacy-safe dummy data in test fixtures

### 🔧 Type Safety Improvements

**Added explicit `str()` conversions to resolve type inference issues:**

The comprehensive BelenConf test fixture contains deeply nested data
structures that caused pyright's type checker to infer complex
dictionary types throughout the codebase. To ensure type safety and
prevent runtime errors, I added explicit `str()` conversions in key
locations:

- **CSRF tokens**: `str(csrf_token)` - Ensures CSRF tokens are treated
as strings
- **Special attributes**: `str(special_attribute_value)` - Converts
special attribute values to strings
- **DOM attributes**: `str(special_attr_elem.attrs.id)` - Ensures
element IDs are strings
- **URL handling**: `str(current_img_url)` and `str(href_attributes)` -
Converts URLs and href attributes to strings
- **Price values**: `str(ad_cfg.price)` - Ensures price values are
strings

These conversions are defensive programming measures that ensure
backward compatibility and prevent type-related runtime errors, even if
the underlying data structures change in the future.

### ⚙️ Type of Change
- [x]  New feature (adds new functionality without breaking existing
usage)
- [ ] 🐞 Bug fix (non-breaking change which fixes an issue)
- [ ] 💥 Breaking change (changes that might break existing user setups,
scripts, or configurations)

##  Checklist
Before requesting a review, confirm the following:
- [x] I have reviewed my changes to ensure they meet the project's
standards.
- [x] I have tested my changes and ensured that all tests pass (`pdm run
test`).
- [x] I have formatted the code (`pdm run format`).
- [x] I have verified that linting passes (`pdm run lint`).
- [x] I have updated documentation where necessary.

By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice.
2025-10-12 21:22:46 +02:00
kleinanzeigen-bot-tu[bot]
f2f139617b chore: Update Python dependencies (#630)
✔ Update filelock 3.19.1 -> 3.20.0 successful
  ✔ Update click 8.2.1 -> 8.3.0 successful
  ✔ Update maison 2.0.0 -> 2.0.2 successful
  ✔ Update certifi 2025.8.3 -> 2025.10.5 successful
  ✔ Update platformdirs 4.4.0 -> 4.5.0 successful
  ✔ Update msgpack 1.1.1 -> 1.1.2 successful
  ✔ Update pyparsing 3.2.4 -> 3.2.5 successful
  ✔ Update pyinstaller-hooks-contrib 2025.8 -> 2025.9 successful
  ✔ Update pytest-rerunfailures 16.0.1 -> 16.1 successful
  ✔ Update rich 14.1.0 -> 14.2.0 successful
  ✔ Update ruamel-yaml-clib 0.2.12 -> 0.2.14 successful
  ✔ Update pydantic 2.11.9 -> 2.12.0 successful
  ✔ Update typing-inspection 0.4.1 -> 0.4.2 successful
  ✔ Update tomli 2.2.1 -> 2.3.0 successful
  ✔ Update mypy 1.18.1 -> 1.18.2 successful
  ✔ Update coverage 7.10.6 -> 7.10.7 successful
  ✔ Update basedpyright 1.31.4 -> 1.31.7 successful
  ✔ Update pydantic-core 2.33.2 -> 2.41.1 successful
  ✔ Update ruff 0.13.0 -> 0.14.0 successful
  ✔ Update nodejs-wheel-binaries 22.19.0 -> 22.20.0 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-11 17:20:54 +02:00
kleinanzeigen-bot-tu[bot]
a8a3f83925 chore: ✔ Update psutil 7.0.0 -> 7.1.0 (#629)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-18 12:42:04 +02:00
kleinanzeigen-bot-tu[bot]
d96b1d3460 chore: Update Python dependencies (#628)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-17 12:22:26 +02:00
kleinanzeigen-bot-tu[bot]
ee813bcf06 chore: ✔ Update pytest-cov 6.3.0 -> 7.0.0 (#627)
✔ Update pytest-cov 6.3.0 -> 7.0.0 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-10 15:18:46 +02:00
kleinanzeigen-bot-tu[bot]
ea012e634b chore: ✔ Update pytest-cov 6.2.1 -> 6.3.0 (#624)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-09 13:32:22 +02:00
kleinanzeigen-bot-tu[bot]
171996869e chore: Update Python dependencies (#621)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-06 13:15:22 +02:00
kleinanzeigen-bot-tu[bot]
4d39f956f0 chore: Update Python dependencies (#619)
✔ Update pytest-rerunfailures 15.1 -> 16.0 successful
  ✔ Update platformdirs 4.3.8 -> 4.4.0 successful
  ✔ Update typing-extensions 4.14.1 -> 4.15.0 successful
  ✔ Update coverage 7.10.4 -> 7.10.5 successful
  ✔ Update ruff 0.12.9 -> 0.12.11 successful
  ✔ Update basedpyright 1.31.2 -> 1.31.3 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-29 22:25:26 +02:00
kleinanzeigen-bot-tu[bot]
7b898a9136 chore: Update Python dependencies (#617)
✔ Update jaraco-functools 4.2.1 -> 4.3.0 successful
  ✔ Update requests 2.32.4 -> 2.32.5 successful
  ✔ Update ruamel-yaml 0.18.14 -> 0.18.15 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jens Bergmann <1742418+1cu@users.noreply.github.com>
2025-08-20 21:20:52 +02:00
kleinanzeigen-bot-tu[bot]
c1b273b757 chore: Update Python dependencies (#610)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-17 12:24:38 +02:00
kleinanzeigen-bot-tu[bot]
6f4a4e319d chore: Update Python dependencies (#603)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-12 16:43:13 +02:00
Jens Bergmann
91a40b0116 feat: enhanced folder naming (#599) 2025-08-12 10:43:26 +02:00
kleinanzeigen-bot-tu[bot]
7b289fc9ba chore: Update Python dependencies (#596)
✔ Update types-requests 2.32.4.20250611 -> 2.32.4.20250809 successful
  ✔ Update charset-normalizer 3.4.2 -> 3.4.3 successful
  ✔ Update coverage 7.10.2 -> 7.10.3 successful
  ✔ Update ruff 0.12.7 -> 0.12.8 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-11 22:18:48 +02:00
kleinanzeigen-bot-tu[bot]
eeaa01f420 chore: ✔ Update packageurl-python 0.17.4 -> 0.17.5 (#595) 2025-08-07 19:07:03 +02:00
kleinanzeigen-bot-tu[bot]
9556fc2a91 chore: Update Python dependencies (#593)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-06 15:02:20 +02:00
kleinanzeigen-bot-tu[bot]
937bc67225 chore: Update Python dependencies (#591)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-03 13:07:29 +02:00
kleinanzeigen-bot-tu[bot]
202c77e3cb chore: Update Python dependencies (#589) 2025-07-31 21:34:26 +02:00
kleinanzeigen-bot-tu[bot]
fc77c4fc6a chore: ✔ Update py-serializable 2.0.0 -> 2.1.0 (#588)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-21 12:35:43 +02:00
kleinanzeigen-bot-tu[bot]
5713679d24 chore: ✔ Update ruff 0.12.3 -> 0.12.4 (#586)
✔ Update ruff 0.12.3 -> 0.12.4 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-18 22:24:16 +02:00
kleinanzeigen-bot-tu[bot]
4a7284a46e chore: ✔ Update basedpyright 1.30.1 -> 1.31.0 (#585)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-17 12:24:31 +02:00
kleinanzeigen-bot-tu[bot]
20a06cf026 chore: Update Python dependencies (#583) 2025-07-17 07:14:02 +02:00
kleinanzeigen-bot-tu[bot]
47c68add76 chore: ✔ Update certifi 2025.7.9 -> 2025.7.14 (#582)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-14 12:36:20 +02:00
kleinanzeigen-bot-tu[bot]
526592047e chore: ✔ Update ruff 0.12.2 -> 0.12.3 (#578)
✔ Update ruff 0.12.2 -> 0.12.3 successful

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-12 17:01:19 +02:00
kleinanzeigen-bot-tu[bot]
5ca9d458e7 chore: ✔ Update basedpyright 1.29.5 -> 1.30.1 (#576)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-10 12:42:41 +02:00