Commit Graph

680 Commits

Author SHA1 Message Date
sebthom
376ec76226 refact: use ruff instead of autopep8,bandit,pylint for linting 2025-04-28 12:51:51 +02:00
sebthom
f0b84ab335 build: simplify pytest config 2025-04-28 12:43:53 +02:00
sebthom
634cc3d9ee build: upgrade to Python 3.13.3 2025-04-28 12:43:42 +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
github-actions[bot]
3909218531 chore: ✔ Update certifi 2025.1.31 -> 2025.4.26 2025-04-26 14:41:39 +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
github-actions[bot]
e417750548 chore: Update Python dependencies 2025-04-25 21:01:11 +02:00
marvinkcode
79af6ba861 fix: Correct pagination selectors and logic for issue #477 (#479) 2025-04-21 20:26:02 +02:00
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