Commit Graph

48 Commits

Author SHA1 Message Date
Jens Bergmann
c7f7b832b2 fix: Make description field optional in ad_defaults
The description field in the main configuration (ad_defaults) is now optional.
Previously, the bot would fail if no description or affixes were provided in
the main configuration. This change addresses issue #435.

Changes:
- Add fallback to empty string ("") when all description prefix/suffix sources
  are None in __get_description_with_affixes method
- Add comprehensive test suite for description handling in test_init.py
- Fix coverage path in pyproject.toml from 'kleinanzeigen_bot' to
  'src/kleinanzeigen_bot'

New tests cover:
- Description handling without main config description
- New format affixes in configuration
- Mixed old/new format affixes
- Ad-level affix precedence
- None value handling in affixes
- Email address @ symbol replacement

This change maintains backward compatibility while making the description
field optional in the main configuration, improving flexibility for users.
2025-02-18 21:39:53 +01:00
Jens Bergmann
610615367c fix: consolidate description text processing (#432)
Consolidate description text processing into __get_description_with_affixes method:
- Move @ -> (at) replacement into the method
- Remove duplicate prefix/suffix handling code
- Ensure consistent description text processing in one place

This fixes #432 by ensuring consistent handling of description affixes
and text transformations.
2025-02-15 19:58:09 +01:00
Heavenfighter
543d46631c fix: Setting shipping options fails for commercial accounts. Fixes #394 (#424)
Co-authored-by: Jens Bergmann <1742418+1cu@users.noreply.github.com>
2025-02-13 17:13:32 +01:00
Jens Bergmann
4051620aed enh: allow per-ad overriding of global description affixes (#416) 2025-02-11 23:39:26 +01:00
Heavenfighter
a67112d936 fix: handle delayed ad publication #414 (#422) 2025-02-11 20:43:33 +01:00
sebthom
367ef07798 refact: improve logger handling 2025-02-10 20:34:58 +01:00
sebthom
2402ba2572 refact: reorganize utility modules 2025-02-10 06:23:17 +01:00
sebthom
7169975d2a fix: logging file handler not closed on bot shutdown. Fixes #405 2025-02-09 04:23:24 +01:00
Jens Bergmann
dd5f2ba5e4 fix: Ensure Consistent Content Hash Calculation (#415)
This commit addresses an issue where the content hash was being calculated on the current configuration (`ad_cfg`) instead of the original configuration (`ad_cfg_orig`). This could lead to inconsistent hash values, especially when the configuration is updated during the execution of the program.

The fix involves calculating the content hash on the original configuration (`ad_cfg_orig`) in both the `__check_ad_republication` and `publish_ad` methods. This ensures that the hash value is consistent and matches what was stored.

The relevant code changes are as follows:

- In the `__check_ad_republication` method, the content hash is now calculated on `ad_cfg_orig` instead of `ad_cfg`.
- In the `publish_ad` method, the content hash is also calculated on `ad_cfg_orig` to ensure consistency.

These changes should improve the reliability of the content hash comparison and the overall stability of the application.
2025-02-09 03:14:19 +01:00
DreckSoft
b12118361d feat: display actual num of chars of description when too long (#403) 2025-02-08 04:03:54 +01:00
1cu
f01109c956 feat: add hash-based ad change detection (#343) (#388)
Co-authored-by: sebthom <sebthom@users.noreply.github.com>
2025-01-26 23:37:33 +01:00
Heavenfighter
66634ce636 fix: fixed shipping button selector #385 (#387) 2025-01-20 21:40:28 +01:00
Jens Bergmann
2f93e0dfda fix: correct city selection when multiple cities are available for a ZIP code
When multiple cities are available for a ZIP code, the bot now correctly selects
the city specified in the YAML file's location field instead of always choosing
the first option.

The change:
- Adds logic to select the correct city from dropdown based on location field
- Adds a small delay after ZIP code input to allow dropdown to populate
- Uses proper WebScrapingMixin method to read dropdown options
2025-01-20 12:22:16 +01:00
sebthom
677c48628d fix: remove temporary workaround for #368 2025-01-10 16:21:44 +01:00
Heavenfighter
ca876e628b fix shipping options when downloading. Fixes #375 (#376) 2025-01-10 16:05:11 +01:00
Heavenfighter
33a43e3ff6 fix: setting shipping options regression #367 (#374)
Button with given label occurs too often. Path must be corrected.
2025-01-09 20:30:24 +01:00
Heavenfighter
f9eb6185c7 fix: failed to set special attributes #334 (#370) 2025-01-09 17:01:48 +01:00
Heavenfighter
e590a32aa2 fix: re-publishing without images #371 (#372)
added detection of image-question
2025-01-09 17:00:51 +01:00
Heavenfighter
5829df66e4 fix setting shipping options #367 2025-01-09 16:59:38 +01:00
Heavenfighter
f3a7cf0150 feat: don't republish reserved ads. fixes #365 (#366) 2025-01-08 18:21:34 +01:00
sebthom
2705dc7e43 refact: use colorama.just_fix_windows_console instead of colorama.init 2024-12-28 19:25:53 +01:00
sebthom
f90f848cba fix: improve online help 2024-12-27 15:33:45 +01:00
sebthom
47614887e7 fix: improve logging 2024-12-27 14:19:20 +01:00
sebthom
1e782beabc fix: update help text 2024-12-27 13:49:05 +01:00
sebthom
9d54a949e7 feat: add multi-language support 2024-12-27 13:04:30 +01:00
provinzio
09f4d0f16f FIX login check has to be done case insensitive 2024-12-13 18:40:56 +01:00
Heavenfighter
9a826452f9 fix: No HTML element found using CSS selector (#354)
Fixes #351
Fixes #353
2024-12-08 18:46:29 +01:00
sebthom
a83ee4883e refact: minor cleanup 2024-11-25 00:03:18 +01:00
sebthom
e8dcb78951 fix: using shipping type PICKUP fails #346 2024-11-24 21:12:43 +01:00
sebthom
f7ef3c2b2e fix: don't auto delete ads directly after publishing 2024-11-22 23:54:53 +01:00
sebthom
b259977198 feat: if a category is not found try to lookup fallback category 2024-11-22 14:27:32 +01:00
sebthom
a876add5a7 feat: by default delete old ads after republishing #338 2024-11-22 12:41:34 +01:00
sebthom
f9fdf4d158 refact: update categories 2024-11-22 12:40:27 +01:00
sebthom
ee09bb40a2 refact: add comment 2024-11-22 00:12:50 +01:00
sebthom
01d78bb000 feat: support shipping for WANTED ads #349 2024-11-21 23:53:26 +01:00
sebthom
6a315c97ce feat: remove default prefix/suffix text from downloaded ads 2024-11-21 23:28:13 +01:00
sebthom
f6748de2b1 fix: add missing await keyword 2024-11-21 22:04:32 +01:00
sebthom
1b326c1ce8 chore: upgrade to Python 3.13 and update deps 2024-11-15 13:31:29 +01:00
Julian Hackinger
4a3fb230f5 fix: double login required (#344) 2024-11-15 13:05:08 +01:00
sebthom
6c5c1940e1 chore: Update Python dependencies 2024-09-16 11:56:34 +02:00
sebthom
0491636666 fix: SSL: CERTIFICATE_VERIFY_FAILED when running compiled version 2024-08-05 13:50:43 +02:00
Jeppy
c1272626aa FIX id of web element to select special attribute changed 2024-07-23 12:14:19 +02:00
Jeppy
c967e901ac FIX select condition from new dialog instead 2024-07-23 12:14:19 +02:00
Jeppy
4a8b6ecdf3 FIX selection of shipping options (#307) 2024-05-30 20:54:30 +02:00
Jeppy
72283bf069 UPDATE wait for user interaction to solve captcha on publishing ad (closes Second-Hand-Friends/kleinanzeigen-bot#301) 2024-05-30 20:26:39 +02:00
sebthom
d1f33bb44a improve check if already logged in 2024-03-07 22:12:26 +01:00
sebthom
a441c5de73 replace selenium with nodriver 2024-03-07 20:33:23 +01:00
sebthom
9caa7a7124 use venv 2024-03-04 10:07:47 +01:00