Heavenfighter
146d29c62c
#573 refactored shipping_option ( #574 )
2025-07-07 19:58:30 +02:00
Sebastian Thomschke
b7882065b7
feat: detect double-click launch on Windows and abort with info message ( #570 )
...
---------
Co-authored-by: Jens Bergmann <1742418+1cu@users.noreply.github.com >
2025-07-05 13:58:24 +02:00
Jens Bergmann
7ff005d18b
fix: chores ( #565 )
2025-07-03 15:12:43 +02:00
Heavenfighter
3734a73542
#567 refactored minor classes
...
search options
2025-07-02 17:03:33 +02:00
Jens Bergmann
5430f5cdc6
feat: update check ( #561 )
...
feat(update-check): add robust update check with interval support, state management, and CLI integration
- Implement version and interval-based update checks with configurable settings
- Add CLI command `kleinanzeigen-bot update-check` for manual checks
- Introduce state file with versioning, UTC timestamps, and migration logic
- Validate and normalize intervals (1d–4w) with fallback for invalid values
- Ensure correct handling of timezones and elapsed checks
- Improve error handling, logging, and internationalization (i18n)
- Add comprehensive test coverage for config, interval logic, migration, and CLI
- Align default config, translations, and schema with new functionality
- Improve help command UX by avoiding config/log loading for `--help`
- Update documentation and README with full feature overview
2025-06-27 07:52:40 +02:00
Jens Bergmann
c3499b3824
feat: add version to banner ( #560 )
2025-06-22 21:11:13 +02:00
Jeppy
15b3698114
fix: dimension92 may not be defined in universalAnalyticsOpts ( #555 )
2025-06-16 12:46:13 +02:00
Heavenfighter
f69ebef643
feat: add new update command to update published ads ( #549 )
...
Co-authored-by: Jens Bergmann <1742418+1cu@users.noreply.github.com >
2025-06-16 11:46:51 +02:00
Heavenfighter
0305a10eae
Refactored category and special attribute ( #550 )
2025-06-12 14:08:06 +02:00
Heavenfighter
0f1cf71960
#547 refactored setting condition ( #548 )
2025-06-11 11:29:38 +02:00
Heavenfighter
4d48427234
fix: detect payment form and wait or user input ( #520 )
...
Co-authored-by: Jens Bergmann <1742418+1cu@users.noreply.github.com >
2025-06-10 15:51:59 +02:00
Heavenfighter
a5603e742f
#545 refactored select city from zip ( #546 )
2025-06-10 14:47:02 +02:00
Jens Bergmann
92ac17b430
fix: improve login flow tests
...
Login Flow Tests:
- Fixed test_login_flow_handles_captcha to properly handle both login
attempts
- Added individual test functions for each component of the login flow:
* test_check_and_wait_for_captcha: Tests captcha detection and user
interaction
* test_fill_login_data_and_send: Tests login form filling and
submission
* test_handle_after_login_logic: Tests post-login handling (device
verification, GDPR)
- Improved test assertions to match actual behavior of the login process
- Added proper async mocking to prevent test stalling
Test Init:
- Fixed test_extract_pricing_info to properly handle all price formats
- Improved test coverage for price extraction edge cases
- Ensured tests accurately reflect the actual behavior of the price
extraction logic
2025-06-09 21:39:56 +02:00
Heavenfighter
8ac57932ba
fix: login does not work anymore #539
...
Refactored login input element ids.
Refactored captcha handling to one function
2025-06-09 21:39:56 +02:00
sebthom
ebfdbc4313
fix: shipping options are not applied when shipping_costs set to 0 #541
2025-06-09 20:58:04 +02:00
sebthom
3978d85cb4
fix: ruff PLC0207 missing-maxsplit-arg
2025-06-09 20:58:04 +02:00
Heavenfighter
770429f824
#533 Loading images from default config ( #536 )
2025-06-05 12:31:05 +02:00
Heavenfighter
192b42a833
#525 Refactored gdpr handling ( #532 )
2025-05-28 14:43:23 +02:00
Heavenfighter
fbaeb80585
fix: clearing password input while logging in ( #531 )
...
* #530 Sending empty string to password input
* #530 added comment for clarification
2025-05-28 11:40:34 +02:00
Heavenfighter
347c67a388
fixes #512 ( #519 )
...
Refactored images extraction. Now directly using galleryimage-elements instead of carousel.
2025-05-25 22:28:20 +02:00
Heavenfighter
e94a1dd8af
fixes #522 ( #523 )
...
Refactored XPATH expression for
deselecting unwanted
shipping options.
2025-05-25 16:21:09 +02:00
sebthom
cc25164b43
fix: replace usage of legacy pydantic validators
2025-05-15 19:12:48 +02:00
sebthom
85a5cf5224
feat: improve content_hash calculation
2025-05-15 12:07:49 +02:00
sebthom
6ede14596d
feat: add type safe Ad model
2025-05-15 12:07:49 +02:00
sebthom
1369da1c34
feat: add type safe Config model
2025-05-15 12:07:49 +02:00
sebthom
e7a3d46d25
fix: display file paths under current working dir as relative in logs
2025-05-15 00:27:10 +02:00
Heavenfighter
0faa022e4d
fix: Unable to download single ad ( #509 )
2025-05-14 11:24:16 +02:00
sebthom
8e2385c078
fix: TimeoutError: Unable to close shipping dialog! #505
2025-05-13 21:06:42 +02:00
sebthom
a03b368ccd
fix: active: false in ad config is ignored #502
2025-05-13 20:59:15 +02:00
sebthom
9a3c0190ba
chore: improve dicts module
2025-05-13 20:42:42 +02:00
sebthom
1f9895850f
fix: add missing translations and fix translation loading/testing
2025-05-13 19:27:52 +02:00
sebthom
21d7cc557d
feat: extend utils.save_dict
2025-05-13 13:45:58 +02:00
sebthom
58f6ae960f
refact: simplify XPATH expressions
2025-05-12 18:28:28 +02:00
sebthom
50c0323921
fix: random RuntimeError: dictionary changed size during iteration
2025-05-12 17:50:08 +02:00
sebthom
ee4146f57c
fix: auto-restart when captcha was encountered
2025-05-12 17:20:51 +02:00
airwave1981
65738926ae
fix: TypeError in CustomFormatter.format
2025-05-12 17:11:47 +02:00
DreckSoft
ed83052fa4
fix: Unable to close shipping dialog ( #501 )
...
Co-authored-by: Sebastian Thomschke <sebthom@users.noreply.github.com >
2025-05-11 20:29:10 +02:00
Benedikt
8b2d61b1d4
fix: improve login detection with fallback element ( #493 )
...
- Add fallback check for user-email element when mr-medium is not found
- Improve login detection reliability
- Add test case for alternative login element
2025-04-30 17:50:58 +02:00
Benedikt
9bcc669c48
feat: add support for multiple matching shipping options ( #483 )
2025-04-29 21:02:09 +02:00
sebthom
3e8072973a
build: use yamlfix for yaml formatting
2025-04-28 13:17:23 +02:00
sebthom
bda0acf943
refact: enable ruff preview rules
2025-04-28 13:17:23 +02:00
sebthom
f98251ade3
fix: improve ad description length validation
2025-04-28 13:17:23 +02:00
sebthom
ef923a8337
refact: apply consistent formatting
2025-04-28 12:55:28 +02:00
sebthom
376ec76226
refact: use ruff instead of autopep8,bandit,pylint for linting
2025-04-28 12:51:51 +02:00
sebthom
52e1682dba
fix: avoid "[PYI-28040:ERROR]" log message when run via pyinstaller
2025-04-27 14:34:56 +02:00
sebthom
7b0774874e
fix: harden extract_ad_id_from_ad_url
2025-04-27 14:23:56 +02:00
DreckSoft
23929a62cc
fix: logon detection and duplicate suffix in ad description ( #488 )
...
Co-authored-by: Sebastian Thomschke <sebthom@users.noreply.github.com >
2025-04-27 14:21:40 +02:00
Airwave1981
d87ae6e740
feat: allow auto-restart on captcha ( #481 )
...
Co-authored-by: sebthom <sebthom@users.noreply.github.com >
2025-04-26 14:40:47 +02:00
sebthom
4891c142a9
feat: add misc.format_timedelta/parse_duration
2025-04-25 21:06:25 +02:00
marvinkcode
79af6ba861
fix: Correct pagination selectors and logic for issue #477 ( #479 )
2025-04-21 20:26:02 +02:00