Commit Graph

643 Commits

Author SHA1 Message Date
Rodos
e4d1c78993 test: Add pytest infrastructure and attachment tests
In making my last fix to attachments, I found it challenging not
having tests to ensure there was no regression.

Added pytest with minimal setup and isolated configuration. Created
a separate test workflow to keep tests isolated from linting.

Tests cover the key elements of the attachment logic:
- URL extraction from issue bodies
- Filename extraction from different URL types
- Filename collision resolution
- Manifest duplicate prevention
2025-11-14 10:28:30 +11:00
Rodos
7a9455db88 fix: Prevent duplicate attachment downloads
Fixes bug where attachments were downloaded multiple times with
incremented filenames (file.mov, file_1.mov, file_2.mov) when
running backups without --skip-existing flag.

I should not have used the --skip-existing flag for attachments,
it did not do what I thought it did.

The correct approach is to always use the manifest to guide what
has already been downloaded and what now needs to be done.
2025-11-14 10:28:30 +11:00
Jose Diaz-Gonzalez
7b78f06a68 Merge pull request #445 from josegonzalez/dependabot/pip/python-packages-499fb03faa
chore(deps): bump black from 25.9.0 to 25.11.0 in the python-packages group
2025-11-10 12:45:25 -05:00
dependabot[bot]
56db3ff0e8 chore(deps): bump black in the python-packages group
Bumps the python-packages group with 1 update: [black](https://github.com/psf/black).


Updates `black` from 25.9.0 to 25.11.0
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/25.9.0...25.11.0)

---
updated-dependencies:
- dependency-name: black
  dependency-version: 25.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 13:59:47 +00:00
Jose Diaz-Gonzalez
5c9c20f6ee Merge pull request #443 from josegonzalez/dependabot/pip/python-packages-7fb8ba35da
chore(deps): bump docutils from 0.22.2 to 0.22.3 in the python-packages group
2025-11-07 15:56:55 -05:00
dependabot[bot]
c8c585cbb5 chore(deps): bump docutils in the python-packages group
Bumps the python-packages group with 1 update: [docutils](https://github.com/rtfd/recommonmark).


Updates `docutils` from 0.22.2 to 0.22.3
- [Changelog](https://github.com/readthedocs/recommonmark/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rtfd/recommonmark/commits)

---
updated-dependencies:
- dependency-name: docutils
  dependency-version: 0.22.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-06 13:09:51 +00:00
GitHub Action
e7880bb056 Release version 0.51.0 0.51.0 2025-11-06 02:11:08 +00:00
Jose Diaz-Gonzalez
18e3bd574a Merge pull request #439 from Iamrodos/master
feat: Add attachment download support for issues and pull requests
2025-11-05 21:10:03 -05:00
Rodos
1ed3d66777 refactor: Add atomic writes for attachment files and manifests 2025-11-06 12:42:57 +11:00
Rodos
a194fa48ce feat: Add attachment download support for issues and pull requests
Adds new --attachments flag that downloads user-uploaded files from
issue and PR bodies and comments. Key features:

- Determines attachment URLs
- Tracks downloads in manifest.json with metadata
- Supports --skip-existing to avoid re-downloading
- Handles filename collisions with counter suffix
- Smart retry logic for transient vs permanent failures
- Uses Content-Disposition for correct file extensions
2025-11-06 12:42:57 +11:00
Jose Diaz-Gonzalez
8f859be355 Merge pull request #441 from Iamrodos/feat/python-version-requirements-clean
chore: Enforce Python 3.8+ requirement and add multi-version CI testing
2025-11-05 20:25:47 -05:00
rodos
80e00d31d9 Merge branch 'master' into feat/python-version-requirements-clean 2025-11-06 10:01:22 +11:00
Jose Diaz-Gonzalez
32202656ba Merge pull request #442 from Iamrodos/feat/drop-python-3.8-3.9-support
chore: Drop support for Python 3.8 and 3.9 (EOL)
2025-11-05 17:45:40 -05:00
Rodos
875e31819a feat: Drop support for Python 3.8 and 3.9 (EOL)
Both Python 3.8 and 3.9 have reached end-of-life:
- Python 3.8: EOL October 7, 2024
- Python 3.9: EOL October 31, 2025

Changes:
- Add python_requires=">=3.10" to setup.py
- Remove Python 3.8 and 3.9 from classifiers
- Add Python 3.13 and 3.14 to classifiers
- Update README to document Python 3.10+ requirement
2025-11-04 13:53:41 +11:00
Rodos
73dc75ab95 fix: Remove Python 3.8 and 3.9 from CI matrix
3.8 and 3.9 are failing because the pinned dependencies don't support them:
- autopep8==2.3.2 needs Python 3.9+
- bleach==6.3.0 needs Python 3.10+

Both are EOL now anyway (3.8 in Oct 2024, 3.9 in Oct 2025).

Just fixing CI to test 3.10-3.14 for now. Will do a separate PR to formally
drop 3.8/3.9 support with python_requires and README updates.
2025-11-04 13:30:42 +11:00
Rodos
cd23dd1a16 feat: Enforce Python 3.8+ requirement and add multi-version CI testing
- Add python_requires=">=3.8" to setup.py to enforce minimum version at install time
- Update README to explicitly document Python 3.8+ requirement
- Add CI matrix to test lint/build on Python 3.8-3.14 (7 versions)
- Aligns with actual usage patterns (~99% of downloads on Python 3.8+)
- Prevents future PRs from inadvertently using incompatible syntax

This change protects users by preventing installation on unsupported Python
versions and ensures contributors can see version requirements clearly.
2025-11-04 10:47:13 +11:00
Jose Diaz-Gonzalez
d244de1952 Merge pull request #438 from josegonzalez/dependabot/pip/python-packages-7355fe9fde
chore(deps): bump bleach from 6.2.0 to 6.3.0 in the python-packages group
2025-10-28 16:51:18 -04:00
dependabot[bot]
4dae43c58e chore(deps): bump bleach in the python-packages group
Bumps the python-packages group with 1 update: [bleach](https://github.com/mozilla/bleach).


Updates `bleach` from 6.2.0 to 6.3.0
- [Changelog](https://github.com/mozilla/bleach/blob/main/CHANGES)
- [Commits](https://github.com/mozilla/bleach/compare/v6.2.0...v6.3.0)

---
updated-dependencies:
- dependency-name: bleach
  dependency-version: 6.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-28 13:11:27 +00:00
Jose Diaz-Gonzalez
b018a91fb4 Merge pull request #437 from josegonzalez/dependabot/pip/python-packages-9224e307fb
chore(deps): bump charset-normalizer from 3.4.3 to 3.4.4 in the python-packages group
2025-10-14 17:22:22 -04:00
dependabot[bot]
759ec58beb chore(deps): bump charset-normalizer in the python-packages group
Bumps the python-packages group with 1 update: [charset-normalizer](https://github.com/jawah/charset_normalizer).


Updates `charset-normalizer` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/jawah/charset_normalizer/releases)
- [Changelog](https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jawah/charset_normalizer/compare/3.4.3...3.4.4)

---
updated-dependencies:
- dependency-name: charset-normalizer
  dependency-version: 3.4.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-14 13:10:22 +00:00
Jose Diaz-Gonzalez
b43c998b65 Merge pull request #436 from josegonzalez/dependabot/pip/python-packages-df716dda22
chore(deps): bump idna from 3.10 to 3.11 in the python-packages group
2025-10-13 18:09:50 -04:00
dependabot[bot]
38b4a2c106 chore(deps): bump idna from 3.10 to 3.11 in the python-packages group
Bumps the python-packages group with 1 update: [idna](https://github.com/kjd/idna).


Updates `idna` from 3.10 to 3.11
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
- [Commits](https://github.com/kjd/idna/compare/v3.10...v3.11)

---
updated-dependencies:
- dependency-name: idna
  dependency-version: '3.11'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-13 13:42:50 +00:00
Jose Diaz-Gonzalez
6210ec3845 Merge pull request #435 from josegonzalez/dependabot/pip/python-packages-7695ffecbf
chore(deps): bump the python-packages group across 1 directory with 2 updates
2025-10-12 17:29:47 -04:00
dependabot[bot]
90396d2bdf chore(deps): bump the python-packages group across 1 directory with 2 updates
Bumps the python-packages group with 2 updates in the / directory: [platformdirs](https://github.com/tox-dev/platformdirs) and [rich](https://github.com/Textualize/rich).


Updates `platformdirs` from 4.4.0 to 4.5.0
- [Release notes](https://github.com/tox-dev/platformdirs/releases)
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/CHANGES.rst)
- [Commits](https://github.com/tox-dev/platformdirs/compare/4.4.0...4.5.0)

Updates `rich` from 14.1.0 to 14.2.0
- [Release notes](https://github.com/Textualize/rich/releases)
- [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Textualize/rich/compare/v14.1.0...v14.2.0)

---
updated-dependencies:
- dependency-name: platformdirs
  dependency-version: 4.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: rich
  dependency-version: 14.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-10 13:09:42 +00:00
Jose Diaz-Gonzalez
aa35e883b0 Merge pull request #433 from josegonzalez/dependabot/pip/python-packages-a446e2f58d
chore(deps): bump the python-packages group with 3 updates
2025-10-07 14:05:20 -04:00
dependabot[bot]
963ed3e6f6 chore(deps): bump the python-packages group with 3 updates
Bumps the python-packages group with 3 updates: [certifi](https://github.com/certifi/python-certifi), [click](https://github.com/pallets/click) and [markdown-it-py](https://github.com/executablebooks/markdown-it-py).


Updates `certifi` from 2025.8.3 to 2025.10.5
- [Commits](https://github.com/certifi/python-certifi/compare/2025.08.03...2025.10.05)

Updates `click` from 8.1.8 to 8.3.0
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.1.8...8.3.0)

Updates `markdown-it-py` from 3.0.0 to 4.0.0
- [Release notes](https://github.com/executablebooks/markdown-it-py/releases)
- [Changelog](https://github.com/executablebooks/markdown-it-py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/executablebooks/markdown-it-py/compare/v3.0.0...v4.0.0)

---
updated-dependencies:
- dependency-name: certifi
  dependency-version: 2025.10.5
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: click
  dependency-version: 8.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: markdown-it-py
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 13:53:31 +00:00
Jose Diaz-Gonzalez
b710547fdc Merge pull request #432 from josegonzalez/dependabot/pip/python-packages-ba4e83c9d8
chore(deps): bump docutils from 0.22.1 to 0.22.2 in the python-packages group
2025-09-22 21:18:39 -04:00
dependabot[bot]
64b5667a16 chore(deps): bump docutils in the python-packages group
Bumps the python-packages group with 1 update: [docutils](https://github.com/rtfd/recommonmark).


Updates `docutils` from 0.22.1 to 0.22.2
- [Changelog](https://github.com/readthedocs/recommonmark/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rtfd/recommonmark/commits)

---
updated-dependencies:
- dependency-name: docutils
  dependency-version: 0.22.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-22 13:12:10 +00:00
Jose Diaz-Gonzalez
b0c8cfe059 Merge pull request #431 from josegonzalez/dependabot/pip/python-packages-ecd2129f1c
chore(deps): bump the python-packages group across 1 directory with 2 updates
2025-09-19 23:26:26 -04:00
dependabot[bot]
5bedaf825f chore(deps): bump the python-packages group across 1 directory with 2 updates
Bumps the python-packages group with 2 updates in the / directory: [black](https://github.com/psf/black) and [docutils](https://github.com/rtfd/recommonmark).


Updates `black` from 25.1.0 to 25.9.0
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/25.1.0...25.9.0)

Updates `docutils` from 0.22 to 0.22.1
- [Changelog](https://github.com/readthedocs/recommonmark/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rtfd/recommonmark/commits)

---
updated-dependencies:
- dependency-name: black
  dependency-version: 25.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: docutils
  dependency-version: 0.22.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-19 13:09:40 +00:00
Jose Diaz-Gonzalez
9d28d9c2b0 Update feature.yaml 2025-09-11 16:34:50 -04:00
Jose Diaz-Gonzalez
eb756d665c Delete .github/ISSUE_TEMPLATE.md 2025-09-11 16:34:18 -04:00
Jose Diaz-Gonzalez
3d5f61aa22 Create feature.yaml 2025-09-11 16:33:49 -04:00
Jose Diaz-Gonzalez
d6bf031bf7 Delete .github/ISSUE_TEMPLATE/bug_report.md 2025-09-11 16:32:32 -04:00
Jose Diaz-Gonzalez
85ab54e514 Update issue templates 2025-09-11 16:31:38 -04:00
Jose Diaz-Gonzalez
df4d751be2 Rename bug.md to bug.yaml 2025-09-11 16:30:46 -04:00
Jose Diaz-Gonzalez
03c660724d chore: create bug template 2025-09-11 16:30:10 -04:00
Jose Diaz-Gonzalez
39848e650c chore: Rename PULL_REQUEST.md to .github/PULL_REQUEST.md 2025-09-11 16:27:23 -04:00
Jose Diaz-Gonzalez
12ac519e9c chore: Rename ISSUE_TEMPLATE.md to .github/ISSUE_TEMPLATE.md 2025-09-11 16:26:53 -04:00
Jose Diaz-Gonzalez
9e25473151 Merge pull request #428 from josegonzalez/dependabot/github_actions/actions/setup-python-6
chore(deps): bump actions/setup-python from 5 to 6
2025-09-08 00:20:12 -04:00
dependabot[bot]
d3079bfb74 chore(deps): bump actions/setup-python from 5 to 6
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 04:10:35 +00:00
Jose Diaz-Gonzalez
3b9ff1ac14 Merge pull request #427 from josegonzalez/dependabot/pip/python-packages-bc0667daba
chore(deps): bump twine from 6.1.0 to 6.2.0 in the python-packages group
2025-09-05 15:00:30 -04:00
dependabot[bot]
268a989b09 chore(deps): bump twine from 6.1.0 to 6.2.0 in the python-packages group
Bumps the python-packages group with 1 update: [twine](https://github.com/pypa/twine).


Updates `twine` from 6.1.0 to 6.2.0
- [Release notes](https://github.com/pypa/twine/releases)
- [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst)
- [Commits](https://github.com/pypa/twine/compare/6.1.0...6.2.0)

---
updated-dependencies:
- dependency-name: twine
  dependency-version: 6.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-05 13:09:08 +00:00
Jose Diaz-Gonzalez
45a3b87892 Merge pull request #426 from josegonzalez/dependabot/pip/python-packages-177133f34b
chore(deps): bump more-itertools from 10.7.0 to 10.8.0 in the python-packages group
2025-09-03 21:22:11 -04:00
dependabot[bot]
1c465f4d35 chore(deps): bump more-itertools in the python-packages group
Bumps the python-packages group with 1 update: [more-itertools](https://github.com/more-itertools/more-itertools).


Updates `more-itertools` from 10.7.0 to 10.8.0
- [Release notes](https://github.com/more-itertools/more-itertools/releases)
- [Commits](https://github.com/more-itertools/more-itertools/compare/v10.7.0...v10.8.0)

---
updated-dependencies:
- dependency-name: more-itertools
  dependency-version: 10.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-03 23:43:31 +00:00
Jose Diaz-Gonzalez
3ad9b02b26 Merge pull request #425 from josegonzalez/dependabot/pip/python-packages-c9f8c21b21
chore(deps): bump platformdirs from 4.3.8 to 4.4.0 in the python-packages group
2025-09-03 00:16:58 -04:00
dependabot[bot]
8bfad9b5b7 chore(deps): bump platformdirs in the python-packages group
Bumps the python-packages group with 1 update: [platformdirs](https://github.com/tox-dev/platformdirs).


Updates `platformdirs` from 4.3.8 to 4.4.0
- [Release notes](https://github.com/tox-dev/platformdirs/releases)
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/CHANGES.rst)
- [Commits](https://github.com/tox-dev/platformdirs/compare/4.3.8...4.4.0)

---
updated-dependencies:
- dependency-name: platformdirs
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-27 20:52:18 +00:00
Jose Diaz-Gonzalez
985d79c1bc Merge pull request #423 from josegonzalez/dependabot/github_actions/actions/checkout-5
chore(deps): bump actions/checkout from 4 to 5
2025-08-22 02:59:12 -04:00
Jose Diaz-Gonzalez
7d1b7f20ef Merge pull request #424 from josegonzalez/dependabot/pip/python-packages-23f06ca20f
chore(deps): bump requests from 2.32.4 to 2.32.5 in the python-packages group
2025-08-22 02:59:04 -04:00
dependabot[bot]
d3b67f884a chore(deps): bump requests in the python-packages group
Bumps the python-packages group with 1 update: [requests](https://github.com/psf/requests).


Updates `requests` from 2.32.4 to 2.32.5
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.4...v2.32.5)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.32.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-19 20:54:47 +00:00