Commit Graph

469 Commits

Author SHA1 Message Date
Heavenfighter
c144801d2e fixes #474
Now using ID to identify checkbox for custom shipping
2025-04-21 20:24:23 +02:00
github-actions[bot]
a03328e308 chore: Update Python dependencies 2025-04-18 13:44:48 +02:00
Heavenfighter
20f3f87864 fixes #475 CSS selector 'button' not found
Element button was changed to em.
2025-04-18 13:44:00 +02:00
sebthom
27c7bb56ca fix: downgrading nodriver to 0.39 to address failing browser launch #470 2025-04-07 22:40:41 +02:00
sebthom
79701e2833 feat: debug log web_execute 2025-04-07 22:40:41 +02:00
sebthom
21835d9d86 test: don't require translations for debug messages 2025-04-07 22:40:41 +02:00
sebthom
aeaf77e5d4 refact: use named parameters 2025-04-07 21:57:51 +02:00
github-actions[bot]
b66c9d37bf chore: Update Python dependencies 2025-04-07 20:43:19 +02:00
github-actions[bot]
b07633e661 chore: Update Python dependencies 2025-03-26 11:31:13 +01:00
github-actions[bot]
fd58f3fa45 chore: Update Python dependencies 2025-03-20 11:20:16 +01:00
github-actions[bot]
13965b8607 chore: ✔ Update setuptools 76.0.0 -> 76.1.0 2025-03-18 12:08:55 +01:00
github-actions[bot]
4a9c2ff5a8 chore: ✔ Update coverage 7.6.12 -> 7.7.0 2025-03-17 11:48:21 +01:00
Heavenfighter
33f58811cd Fixes setting shipping costs to zero.
Empty shipping costs lead to
default shipping.
2025-03-16 21:28:44 +01:00
Heavenfighter
57c89a6f64 Adding condition "Defekt" (#461) 2025-03-15 18:25:26 +01:00
Heavenfighter
9183909188 fix: setting shipping options properly (#457) 2025-03-14 12:34:39 +01:00
Heavenfighter
7742196043 fix: set custom shipping due css update #448 (#450) 2025-03-13 12:13:23 +01:00
Jens Bergmann
6bd5ba98d2 fix: Clean up obsolete translations in German language file
- Remove unused translation entries from translations.de.yaml
- Improve translation test to better detect obsolete entries
- Add KNOWN_NEEDED_MODULES for special cases
- Add helper function _message_exists_in_code for better translation verification
- Improve error messages to show both original and translated text
- Fix import sorting in test file

This commit improves the maintainability of the translation system by
removing unused entries and enhancing the verification process.
2025-03-13 12:05:46 +01:00
github-actions[bot]
a6d2d2dc5a chore: ✔ Update nodriver 0.40 -> 0.41 2025-03-13 11:58:51 +01:00
Jens Bergmann
1b004a2a3e Revert "feat: Introduce isort and Python-based code quality tools (#446)"
This reverts commit cfe2b900c7.

The custom scripts introduced to auto-format imports (to enforce project guidelines) caused issues. Specifically, isort’s hardcoded behavior for expanded standard library imports with “as” imports led to unintended formatting. This commit reverts those changes and removes the custom scripts, restoring the project to its previous, stable state.
2025-03-13 11:55:31 +01:00
github-actions[bot]
21f118ba8e chore: Update Python dependencies 2025-03-09 23:14:52 -06:00
Jens Bergmann
cfe2b900c7 feat: Introduce isort and Python-based code quality tools (#446) 2025-03-10 06:09:49 +01:00
kleinanzeigen-bot-tu[bot]
4243ba698a chore: ✔ Update nodriver 0.39 -> 0.40 (#443)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-01 12:02:17 -05:00
Jens Bergmann
772326003f fix: Separate 'changed' and 'due' ad selectors (#442)
This commit implements a new 'changed' selector for the --ads option that
publishes only ads that have been modified since their last publication.
The 'due' selector now only republishes ads based on the time interval,
without considering content changes.

The implementation allows combining selectors with commas (e.g., --ads=changed,due)
to publish both changed and due ads. Documentation and translations have been
updated accordingly.

Fixes #411
2025-02-28 14:53:53 -05:00
github-actions[bot]
6b3da5bc0a chore: Update Python dependencies 2025-02-28 11:21:12 -05:00
NME
7b9412677e fix: Update css class selectors fixing #440 (#441)
* fixes #440 css update
* fixed class selector
* added missing translation
---------

Co-authored-by: Jens Bergmann <1742418+1cu@users.noreply.github.com>
2025-02-28 11:16:49 -05:00
github-actions[bot]
b99be81158 chore: Update Python dependencies 2025-02-20 04:53:31 +01:00
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
kleinanzeigen-bot-tu[bot]
a8f6817c5c chore: update psutil 6.1.1 -> 7.0.0 (#430)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-16 21:47:13 +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
github-actions[bot]
34b2bc6550 chore: ✔ Update pyright 1.1.393 -> 1.1.394 2025-02-13 17:26:15 +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
e43ac4f1f9 feat: extend translations and add translation unit test (#427) 2025-02-12 22:25:05 +01:00
sebthom
c61c14709f ci: add PR title validation 2025-02-12 22:16:16 +01:00
github-actions[bot]
8270554507 chore: ✔ Update coverage 7.6.11 -> 7.6.12 2025-02-12 21:45:54 +01:00
sebthom
9f19cd85bd docs: fix build status badge 2025-02-12 21:40:45 +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
Heavenfighter
820ae8966e fix: download all ads not working anymore #420 (#421)
renamed h2 to h3
2025-02-11 12:33:32 -06:00
sebthom
f3beb795b4 refact: minor cleanup 2025-02-10 22:06:03 +01:00
sebthom
5ade82b54d chore: update pyproject config 2025-02-10 21:16:38 +01:00
sebthom
367ef07798 refact: improve logger handling 2025-02-10 20:34:58 +01:00
sebthom
ec7ffedcd6 ci: add build timeout to all jobs 2025-02-10 18:51:54 +01:00
sebthom
2402ba2572 refact: reorganize utility modules 2025-02-10 06:23:17 +01:00
sebthom
e8d342dc68 docs: document ad config defaults 2025-02-10 03:23:33 +01:00
sebthom
7169975d2a fix: logging file handler not closed on bot shutdown. Fixes #405 2025-02-09 04:23:24 +01:00
github-actions[bot]
b4658407a3 chore: Update Python dependencies 2025-02-09 03:45:17 +01:00
Jens Bergmann
affde0debf test: Enhance test coverage for KleinanzeigenBot initialization and core functionality (#408) 2025-02-09 03:33:01 +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
sebthom
042525eb91 build: upgrade to Python 3.13.2 2025-02-08 22:18:16 +01:00
DreckSoft
b12118361d feat: display actual num of chars of description when too long (#403) 2025-02-08 04:03:54 +01:00