37 Commits
v0.8.0 ... main

Author SHA1 Message Date
dependabot[bot]
dcd2a49037 Bump beautifulsoup4 from 4.11.2 to 4.12.3 (#150)
Bumps [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) from 4.11.2 to 4.12.3.

---
updated-dependencies:
- dependency-name: beautifulsoup4
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 19:10:17 -05:00
dependabot[bot]
224680a8e1 Bump github/codeql-action from 2 to 3 (#149)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 17:10:01 -05:00
dependabot[bot]
1f4dc1ace9 Bump actions/setup-python from 4 to 5 (#148)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-11 19:12:52 -05:00
dependabot[bot]
e24b7fbaed Bump urllib3 from 1.26.17 to 1.26.18 (#147)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.17 to 1.26.18.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.17...1.26.18)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 21:45:53 -04:00
dependabot[bot]
16ca06ef58 Bump urllib3 from 1.26.9 to 1.26.17 (#146)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.9 to 1.26.17.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.9...1.26.17)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 06:59:08 -04:00
dependabot[bot]
40cd26166e Bump actions/checkout from 3 to 4 (#145)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 16:45:54 -04:00
dependabot[bot]
f4dd94cfff Bump certifi from 2022.12.7 to 2023.7.22 (#144)
Bumps [certifi](https://github.com/certifi/python-certifi) from 2022.12.7 to 2023.7.22.
- [Commits](https://github.com/certifi/python-certifi/compare/2022.12.07...2023.07.22)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-19 16:01:45 -04:00
dependabot[bot]
c148897a00 Bump beautifulsoup4 from 4.11.1 to 4.11.2 (#141)
Bumps [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) from 4.11.1 to 4.11.2.

---
updated-dependencies:
- dependency-name: beautifulsoup4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-07 14:58:27 -05:00
dependabot[bot]
ac10720c68 Bump certifi from 2022.6.15 to 2022.12.7 (#140)
Bumps [certifi](https://github.com/certifi/python-certifi) from 2022.6.15 to 2022.12.7.
- [Release notes](https://github.com/certifi/python-certifi/releases)
- [Commits](https://github.com/certifi/python-certifi/compare/2022.06.15...2022.12.07)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-09 14:35:00 -05:00
Dave G
260ef74d4e Add json output flag (#139) 2022-07-05 00:11:00 -04:00
dependabot[bot]
3df07dc65e Bump colorama from 0.4.4 to 0.4.5 (#138)
Bumps [colorama](https://github.com/tartley/colorama) from 0.4.4 to 0.4.5.
- [Release notes](https://github.com/tartley/colorama/releases)
- [Changelog](https://github.com/tartley/colorama/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/tartley/colorama/compare/0.4.4...0.4.5)

---
updated-dependencies:
- dependency-name: colorama
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-20 16:47:40 -04:00
dependabot[bot]
b96cab1638 Bump actions/setup-python from 3 to 4 (#137)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-13 20:19:53 -04:00
dependabot[bot]
67d3f2db14 Bump pre-commit from 1.21.0 to 2.1.1 (#136)
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 1.21.0 to 2.1.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v1.21.0...v2.1.1)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-29 11:16:21 -04:00
dependabot[bot]
b0e11ec375 Bump github/codeql-action from 1 to 2 (#133)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-29 11:16:13 -04:00
dependabot[bot]
3421e107b6 Bump actions/checkout from 2 to 3 (#134)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-29 11:16:06 -04:00
dependabot[bot]
3b3aeac80e Bump actions/setup-python from 1 to 3 (#135)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 1 to 3.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v1...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-29 11:15:59 -04:00
Dave G
a7e20b77e6 Update dependabot.yml 2022-05-29 10:56:28 -04:00
dependabot[bot]
90af78c5f2 Bump rope from 1.1.0 to 1.1.1 (#132)
Bumps [rope](https://github.com/python-rope/rope) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/python-rope/rope/releases)
- [Changelog](https://github.com/python-rope/rope/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python-rope/rope/compare/1.1.0...1.1.1)

---
updated-dependencies:
- dependency-name: rope
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-26 07:27:34 -04:00
dependabot[bot]
9e3a92d548 Bump rope from 1.0.0 to 1.1.0 (#131)
Bumps [rope](https://github.com/python-rope/rope) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/python-rope/rope/releases)
- [Changelog](https://github.com/python-rope/rope/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python-rope/rope/compare/1.0.0...1.1.0)

---
updated-dependencies:
- dependency-name: rope
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-25 08:31:14 -04:00
Dave G
9c61c419aa Bump version to 0.8.1 (#130) 2022-05-15 13:19:27 -04:00
Dave G
c38d3f256b Update dependencies (#129)
* Update dependencies

* Add python 3.10
2022-05-15 13:18:10 -04:00
dependabot[bot]
4fa889a64a Bump soupsieve from 2.3.2 to 2.3.2.post1 (#128)
Bumps [soupsieve](https://github.com/facelessuser/soupsieve) from 2.3.2 to 2.3.2.post1.
- [Release notes](https://github.com/facelessuser/soupsieve/releases)
- [Commits](https://github.com/facelessuser/soupsieve/compare/2.3.2...2.3.2.post1)

---
updated-dependencies:
- dependency-name: soupsieve
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-15 07:30:11 -04:00
dependabot[bot]
aa06127990 Bump beautifulsoup4 from 4.11.0 to 4.11.1 (#127)
Bumps [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) from 4.11.0 to 4.11.1.

---
updated-dependencies:
- dependency-name: beautifulsoup4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 07:19:08 -04:00
dependabot[bot]
47b7785e42 Bump rope from 0.23.0 to 1.0.0 (#126)
Bumps [rope](https://github.com/python-rope/rope) from 0.23.0 to 1.0.0.
- [Release notes](https://github.com/python-rope/rope/releases)
- [Changelog](https://github.com/python-rope/rope/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python-rope/rope/compare/0.23.0...1.0.0)

---
updated-dependencies:
- dependency-name: rope
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave G <davegallant@gmail.com>
2022-04-08 07:41:19 -04:00
dependabot[bot]
b8a863650f Bump beautifulsoup4 from 4.10.0 to 4.11.0 (#125)
Bumps [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) from 4.10.0 to 4.11.0.

---
updated-dependencies:
- dependency-name: beautifulsoup4
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-08 07:35:38 -04:00
dependabot[bot]
51b2982f28 Bump soupsieve from 2.3.1 to 2.3.2 (#124)
Bumps [soupsieve](https://github.com/facelessuser/soupsieve) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/facelessuser/soupsieve/releases)
- [Commits](https://github.com/facelessuser/soupsieve/compare/2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: soupsieve
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-07 08:09:29 -04:00
dependabot[bot]
cca01264c6 Bump rope from 0.22.0 to 0.23.0 (#123)
Bumps [rope](https://github.com/python-rope/rope) from 0.22.0 to 0.23.0.
- [Release notes](https://github.com/python-rope/rope/releases)
- [Changelog](https://github.com/python-rope/rope/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python-rope/rope/compare/0.22.0...0.23.0)

---
updated-dependencies:
- dependency-name: rope
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-28 07:22:05 -05:00
dependabot[bot]
69ff622629 Bump click from 8.0.3 to 8.0.4 (#122)
Bumps [click](https://github.com/pallets/click) from 8.0.3 to 8.0.4.
- [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.0.3...8.0.4)

---
updated-dependencies:
- dependency-name: click
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-21 09:42:14 -05:00
dependabot[bot]
18f37bfef4 Bump pytest from 7.0.0 to 7.0.1 (#121)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.0.0...7.0.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-14 07:27:05 -05:00
dependabot[bot]
8cb12bc4b5 Bump urllib3 from 1.26.4 to 1.26.5 (#117)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.4 to 1.26.5.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.4...1.26.5)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave G <davegallant@gmail.com>
2022-02-08 11:00:38 -05:00
dependabot[bot]
889f459437 Bump pytest from 6.2.5 to 7.0.0 (#120)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 6.2.5 to 7.0.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/6.2.5...7.0.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-07 07:47:57 -05:00
dependabot[bot]
6e36ddde92 Bump requests from 2.27.0 to 2.27.1 (#119)
Bumps [requests](https://github.com/psf/requests) from 2.27.0 to 2.27.1.
- [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.27.0...v2.27.1)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-06 09:39:13 -05:00
dependabot[bot]
554a057c7f Bump requests from 2.26.0 to 2.27.0 (#118)
Bumps [requests](https://github.com/psf/requests) from 2.26.0 to 2.27.0.
- [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.26.0...v2.27.0)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-04 07:12:01 -05:00
dependabot[bot]
aba15cf0c3 Bump rope from 0.20.1 to 0.22.0 (#115)
Bumps [rope](https://github.com/python-rope/rope) from 0.20.1 to 0.22.0.
- [Release notes](https://github.com/python-rope/rope/releases)
- [Changelog](https://github.com/python-rope/rope/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python-rope/rope/commits/0.22.0)

---
updated-dependencies:
- dependency-name: rope
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave G <davegallant@gmail.com>
2021-12-05 18:59:36 -05:00
dependabot[bot]
f422135014 Bump soupsieve from 2.2.1 to 2.3.1 (#114)
Bumps [soupsieve](https://github.com/facelessuser/soupsieve) from 2.2.1 to 2.3.1.
- [Release notes](https://github.com/facelessuser/soupsieve/releases)
- [Commits](https://github.com/facelessuser/soupsieve/compare/2.2.1...2.3.1)

---
updated-dependencies:
- dependency-name: soupsieve
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-05 18:58:56 -05:00
dependabot[bot]
c8a2d8990f Bump pylint from 2.11.1 to 2.12.0 (#116)
Bumps [pylint](https://github.com/PyCQA/pylint) from 2.11.1 to 2.12.0.
- [Release notes](https://github.com/PyCQA/pylint/releases)
- [Changelog](https://github.com/PyCQA/pylint/blob/main/ChangeLog)
- [Commits](https://github.com/PyCQA/pylint/compare/v2.11.1...v2.12.0)

---
updated-dependencies:
- dependency-name: pylint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-05 18:58:47 -05:00
dependabot[bot]
e2e0323488 Bump click from 8.0.1 to 8.0.3 (#110)
Bumps [click](https://github.com/pallets/click) from 8.0.1 to 8.0.3.
- [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.0.1...8.0.3)

---
updated-dependencies:
- dependency-name: click
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-11 23:27:32 -04:00
13 changed files with 610 additions and 467 deletions

View File

@@ -4,5 +4,8 @@ updates:
directory: "/"
schedule:
interval: weekly
time: "8:00"
open-pull-requests-limit: 10
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: weekly

View File

@@ -6,5 +6,5 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: psf/black@stable

View File

@@ -13,7 +13,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 2
@@ -21,7 +21,7 @@ jobs:
if: ${{ github.event_name == 'pull_request' }}
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v3
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v3

View File

@@ -7,9 +7,9 @@ jobs:
if: startsWith(github.ref, 'refs/tags')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v1
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Install pypa/build

View File

@@ -5,21 +5,32 @@ jobs:
build:
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9]
python-version: [
"3.6",
"3.7",
"3.8",
"3.9",
"3.10",
]
fail-fast: false
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pip install poetry==1.1.6
pip install poetry==1.1.13
poetry install
- name: Run pre-commit
run: |
git diff --name-only $TRAVIS_COMMIT_RANGE | xargs poetry run pre-commit run --files
- name: Test
run: poetry run make ci

View File

@@ -1,4 +1,2 @@
include rfd/VERSION
recursive-exclude * __pycache__
recursive-include tests *

View File

@@ -12,8 +12,9 @@
- [View Hot Deals](#view-hot-deals)
- [View and Sort Hot Deals](#view-and-sort-hot-deals)
- [Search](#search)
- [Advanced](#advanced)
- [Regex](#regex)
- [View Posts](#view-posts)
- [JSON Output](#json-output)
- [Shell Completion](#shell-completion)
- [bash](#bash)
- [zsh](#zsh)
@@ -47,7 +48,6 @@ If you have [brew](https://brew.sh):
brew install davegallant/public/rfd
```
## Usage
All commands open up in a [terminal pager](https://en.wikipedia.org/wiki/Terminal_pager).
@@ -93,7 +93,7 @@ rfd threads --sort-by views --pages 10
rfd search 'pizza'
```
#### Advanced
#### Regex
Regular expressions can be used for search.
@@ -111,6 +111,16 @@ rfd posts https://forums.redflagdeals.com/kobo-vs-kindle-2396227/
This allows for easy grepping and searching for desired expressions.
### JSON Output
All commands support JSON output.
For example:
```sh
rfd threads --output json
```
## Shell Completion
Shell completion can be enabled if using `bash` or `zsh`.

888
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "rfd"
version = "0.8.0"
version = "0.9.0"
description = "view RedFlagDeals.com from the command line"
authors = ["Dave Gallant <davegallant@gmail.com>"]
license = "GPL-3.0-or-later"
@@ -8,17 +8,17 @@ readme = "README.md"
[tool.poetry.dependencies]
python = "^3.6"
beautifulsoup4 = "<4.10.1"
beautifulsoup4 = ">=4.10.1"
click = ">=7.0"
colorama = ">=0.4.3"
requests = ">=2.22.0"
soupsieve = "<3.0"
[tool.poetry.dev-dependencies]
pre-commit = "1.21.0"
pylint = "^2.11.1"
pre-commit = "2.1.1"
pylint = "^2.12.0"
pytest = ">=4.6.6"
rope = "0.20.1"
rope = "1.1.1"
[tool.poetry.scripts]
rfd = "rfd.__main__:cli"

View File

@@ -65,7 +65,7 @@ def get_posts(post):
Args:
post (str): either full url or postid
Yields:
Returns:
list(Post): Posts
"""
if is_valid_url(post):
@@ -81,22 +81,28 @@ def get_posts(post):
total_pages = response.json().get("pager").get("total_pages")
posts = []
for page in range(0, total_pages + 1):
response = requests.get(
f"{API_BASE_URL}/api/topics/{post_id}/posts?per_page=40&page={page}"
)
users = create_user_map(response.json().get("users"))
posts = response.json().get("posts")
current_posts = response.json().get("posts")
for i in posts:
for _post in current_posts:
# Sometimes votes is null
if i.get("votes") is not None:
calculated_score = calculate_score(i)
if _post.get("votes") is not None:
calculated_score = calculate_score(_post)
else:
calculated_score = 0
yield Post(
body=strip_html(i.get("body")),
score=calculated_score,
user=users[i.get("author_id")],
posts.append(
Post(
body=strip_html(_post.get("body")),
score=calculated_score,
user=users[_post.get("author_id")],
)
)
return posts

View File

@@ -3,6 +3,7 @@ from __future__ import unicode_literals
import logging
import sys
import json
import click
try:
@@ -11,8 +12,14 @@ except ImportError: # for Python<3.8
import importlib_metadata as metadata
from colorama import init
from .api import get_threads, get_posts
from .threads import parse_threads, search_threads, sort_threads, generate_thread_output
from .posts import generate_posts_output
from .threads import (
parse_threads,
search_threads,
sort_threads,
generate_thread_output,
ThreadEncoder,
)
from .posts import generate_posts_output, PostEncoder
init()
@@ -51,7 +58,10 @@ def cli(ctx):
@cli.command(short_help="Display all posts in a thread.")
@click.argument("post_id")
def posts(post_id):
@click.option(
"--output", default=None, help="Defaults to custom formatting. Other options: json"
)
def posts(post_id, output):
"""Iterate all pages and display all posts in a thread.
post_id can be a full url or post id only
@@ -63,12 +73,23 @@ def posts(post_id):
"""
try:
click.echo_via_pager(generate_posts_output(get_posts(post=post_id)))
if output == "json":
click.echo_via_pager(
json.dumps(
get_posts(post=post_id),
cls=PostEncoder,
indent=2,
sort_keys=True,
)
)
else:
click.echo_via_pager(generate_posts_output(get_posts(post=post_id)))
except ValueError:
click.echo("Invalid post id.")
sys.exit(1)
except AttributeError:
click.echo("The RFD API did not return the expected data.")
except AttributeError as err:
click.echo("The RFD API did not return the expected data. %s", err)
sys.exit(1)
@@ -76,7 +97,10 @@ def posts(post_id):
@click.option("--forum-id", default=9, help="The forum id number")
@click.option("--pages", default=1, help="Number of pages to show. Defaults to 1.")
@click.option("--sort-by", default=None, help="Sort threads by")
def threads(forum_id, pages, sort_by):
@click.option(
"--output", default=None, help="Defaults to custom formatting. Other options: json"
)
def threads(forum_id, pages, sort_by, output):
"""Display threads in the specified forum id. Defaults to 9 (hot deals).
Popular forum ids:
@@ -96,7 +120,18 @@ def threads(forum_id, pages, sort_by):
_threads = sort_threads(
parse_threads(get_threads(forum_id, pages)), sort_by=sort_by
)
click.echo_via_pager(generate_thread_output(_threads))
if output == "json":
click.echo_via_pager(
json.dumps(
sort_threads(_threads, sort_by=sort_by),
cls=ThreadEncoder,
indent=2,
sort_keys=True,
)
)
else:
click.echo_via_pager(generate_thread_output(_threads))
@cli.command(short_help="Search deals based on a regular expression.")
@@ -105,8 +140,11 @@ def threads(forum_id, pages, sort_by):
"--forum-id", default=9, help="The forum id number. Defaults to 9 (hot deals)."
)
@click.option("--sort-by", default=None, help="Sort threads by")
@click.option(
"--output", default=None, help="Defaults to custom formatting. Other options: json"
)
@click.argument("regex")
def search(pages, forum_id, sort_by, regex):
def search(pages, forum_id, sort_by, output, regex):
"""Search deals based on regex.
Popular forum ids:
@@ -129,6 +167,17 @@ def search(pages, forum_id, sort_by, regex):
_threads = parse_threads(get_threads(forum_id, pages=pages))
for thread in search_threads(threads=_threads, regex=regex):
matched_threads.append(thread)
click.echo_via_pager(
generate_thread_output(sort_threads(matched_threads, sort_by=sort_by))
)
if output == "json":
click.echo_via_pager(
json.dumps(
sort_threads(matched_threads, sort_by=sort_by),
indent=2,
sort_keys=True,
cls=ThreadEncoder,
)
)
else:
click.echo_via_pager(
generate_thread_output(sort_threads(matched_threads, sort_by=sort_by))
)

View File

@@ -1,5 +1,6 @@
# pylint: disable=old-style-class
import os
import json
from colorama import Fore, Style
from .scores import get_vote_color
@@ -11,6 +12,17 @@ class Post:
self.user = user
class PostEncoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, Post):
return dict(
body=o.body,
score=o.score,
user=o.user,
)
return json.JSONEncoder.default(self, o)
def get_terminal_width():
_, columns = os.popen("stty size", "r").read().split()
return int(columns)

View File

@@ -1,4 +1,5 @@
import re
import json
from colorama import Fore, Style
from . import API_BASE_URL
from .scores import calculate_score, get_vote_color
@@ -16,6 +17,19 @@ class Thread:
return f"Thread({self.title})"
class ThreadEncoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, Thread):
return dict(
dealer_name=o.dealer_name,
score=o.score,
title=o.title,
url=o.url,
views=o.views,
)
return json.JSONEncoder.default(self, o)
def build_web_path(slug):
return f"{API_BASE_URL}{slug}"