57 Commits
v0.7.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
dependabot[bot]
31ff0e480f Bump pylint from 2.9.6 to 2.11.1 (#108)
* Bump pylint from 2.9.6 to 2.11.1

Bumps [pylint](https://github.com/PyCQA/pylint) from 2.9.6 to 2.11.1.
- [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.9.6...v2.11.1)

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

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

* Use f strings everywhere

* Add black.yml

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave G <davegallant@gmail.com>
2021-09-25 13:30:01 -04:00
dependabot[bot]
d0103f0733 Bump beautifulsoup4 from 4.9.3 to 4.10.0 (#107)
Bumps [beautifulsoup4](http://www.crummy.com/software/BeautifulSoup/bs4/) from 4.9.3 to 4.10.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>
Co-authored-by: Dave G <davegallant@gmail.com>
2021-09-20 16:54:32 -04:00
dependabot[bot]
46af76750e Bump pytest from 6.2.4 to 6.2.5 (#106)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 6.2.4 to 6.2.5.
- [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.4...6.2.5)

---
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>
2021-09-20 16:53:47 -04:00
dependabot[bot]
8a9e84a30a Bump rope from 0.19.0 to 0.20.1 (#109)
Bumps [rope](https://github.com/python-rope/rope) from 0.19.0 to 0.20.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/commits)

---
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>
2021-09-20 16:53:16 -04:00
DG
062baa7707 Update README.md (#104) 2021-08-10 00:00:02 -04:00
DG
31ed869d05 Add brew/pipx instructions (#103)
* Add easier ways to install
2021-08-09 23:54:07 -04:00
dependabot[bot]
eb349c0ff9 Bump pylint from 2.9.5 to 2.9.6 (#102)
Bumps [pylint](https://github.com/PyCQA/pylint) from 2.9.5 to 2.9.6.
- [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.9.5...v2.9.6)

---
updated-dependencies:
- dependency-name: pylint
  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>
2021-07-29 09:19:13 -04:00
dependabot[bot]
f4afe538e5 Bump pylint from 2.9.3 to 2.9.5 (#101)
Bumps [pylint](https://github.com/PyCQA/pylint) from 2.9.3 to 2.9.5.
- [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.9.3...v2.9.5)

---
updated-dependencies:
- dependency-name: pylint
  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>
2021-07-21 09:40:56 -04:00
dependabot[bot]
0cb97f56e7 Bump requests from 2.25.1 to 2.26.0 (#100)
Bumps [requests](https://github.com/psf/requests) from 2.25.1 to 2.26.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/master/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.25.1...v2.26.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>
2021-07-14 08:51:47 -04:00
dependabot[bot]
460ea6eef0 Bump click from 7.1.2 to 8.0.1 (#95)
* Bump click from 7.1.2 to 8.0.1

Bumps [click](https://github.com/pallets/click) from 7.1.2 to 8.0.1.
- [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/7.1.2...8.0.1)

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

* Get version using importlib.metdata

* Conditionally import metadata

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Gallant <dave.gallant@rewind.io>
2021-07-11 09:27:36 -04:00
dependabot[bot]
f73fdc71b6 Bump pylint from 2.9.2 to 2.9.3 (#99)
Bumps [pylint](https://github.com/PyCQA/pylint) from 2.9.2 to 2.9.3.
- [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.9.2...v2.9.3)

---
updated-dependencies:
- dependency-name: pylint
  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>
2021-07-02 09:27:06 -04:00
dependabot[bot]
398cb19161 Bump pylint from 2.9.0 to 2.9.2 (#98)
Bumps [pylint](https://github.com/PyCQA/pylint) from 2.9.0 to 2.9.2.
- [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.9.0...v2.9.2)

---
updated-dependencies:
- dependency-name: pylint
  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>
2021-07-01 09:54:53 -04:00
dependabot[bot]
1c28c9875e Bump pylint from 2.8.3 to 2.9.0 (#97)
Bumps [pylint](https://github.com/PyCQA/pylint) from 2.8.3 to 2.9.0.
- [Release notes](https://github.com/PyCQA/pylint/releases)
- [Changelog](https://github.com/PyCQA/pylint/blob/master/ChangeLog)
- [Commits](https://github.com/PyCQA/pylint/compare/v2.8.3...v2.9.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-06-30 11:16:58 -04:00
dependabot[bot]
027e79739e Bump pylint from 2.8.2 to 2.8.3 (#96)
Bumps [pylint](https://github.com/PyCQA/pylint) from 2.8.2 to 2.8.3.
- [Release notes](https://github.com/PyCQA/pylint/releases)
- [Changelog](https://github.com/PyCQA/pylint/blob/master/ChangeLog)
- [Commits](https://github.com/PyCQA/pylint/compare/v2.8.2...v2.8.3)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-01 08:48:45 -04:00
dependabot[bot]
2d98bc54f6 Bump pytest from 6.2.3 to 6.2.4 (#93)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 6.2.3 to 6.2.4.
- [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.3...6.2.4)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-05 07:40:24 -04:00
Dave Gallant
11837addf1 Add poetry script as a replacement for console_scripts (#92)
After switching to poetry, the console script `rfd` was removed meaning the `rfd` command did not work.

This fixes the issue by using [poetry scripts](https://python-poetry.org/docs/pyproject/#scripts).
2021-05-03 18:22:02 -04:00
Dave Gallant
185700447e Update README.md 2021-05-02 17:36:00 -04:00
Dave Gallant
ae91f7e419 Update README.md 2021-05-02 11:10:33 -04:00
Dave Gallant
9ecc413eb0 Update README.md 2021-05-02 11:09:05 -04:00
Dave Gallant
6a4242434f Update README.md 2021-05-02 11:08:23 -04:00
16 changed files with 700 additions and 511 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

10
.github/workflows/black.yml vendored Normal file
View File

@@ -0,0 +1,10 @@
name: Black
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- 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

@@ -7,13 +7,14 @@
<!-- BEGIN mktoc -->
- [Description](#description)
- [Motivation](#motivation)
- [Install](#install)
- [Installation](#installation)
- [Usage](#usage)
- [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)
@@ -21,7 +22,7 @@
## Description
This is a CLI utility that allows you to view [Redflagdeals.com](https://forums.redflagdeals.com) on the command line.
This is a CLI utility that allows you to view [RedFlagDeals.com](https://forums.redflagdeals.com) on the command line.
![screenshot](https://user-images.githubusercontent.com/4519234/85969861-e10a4100-b996-11ea-9a31-6203322c60ee.png)
@@ -29,10 +30,22 @@ This is a CLI utility that allows you to view [Redflagdeals.com](https://forums.
It is often faster to use a CLI than to load up a web page and navigate web elements. This tool can search for deals and sort them based on score and views. It is also able to load entire threads (without pagination) for additional analysis.
## Install
## Installation
```bash
pip install rfd
### pip
```sh
pip3 install --user rfd
```
This can also be installed with [pipx](https://github.com/pypa/pipx).
### brew
If you have [brew](https://brew.sh):
```sh
brew install davegallant/public/rfd
```
## Usage
@@ -80,7 +93,7 @@ rfd threads --sort-by views --pages 10
rfd search 'pizza'
```
#### Advanced
#### Regex
Regular expressions can be used for search.
@@ -98,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`.

View File

@@ -1 +0,0 @@
rfd/VERSION

919
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.7.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,20 @@ readme = "README.md"
[tool.poetry.dependencies]
python = "^3.6"
beautifulsoup4 = "<4.9.4"
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.8.2"
pre-commit = "2.1.1"
pylint = "^2.12.0"
pytest = ">=4.6.6"
rope = "0.19.0"
rope = "1.1.1"
[tool.poetry.scripts]
rfd = "rfd.__main__:cli"
[build-system]
requires = ["poetry-core>=1.0.0"]

View File

@@ -1 +0,0 @@
0.7.0

View File

@@ -1,12 +0,0 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from os.path import dirname, abspath, join
def load_version():
with open(join(dirname(abspath(__file__)), "VERSION")) as handle:
return handle.read()
version = load_version()

View File

@@ -27,7 +27,7 @@ def get_safe_per_page(limit):
def create_user_map(users):
"""Create a map of user ids to usernames."""
m = dict()
m = {}
for user in users:
m[user.get("user_id")] = user.get("username")
return m
@@ -47,12 +47,12 @@ def get_threads(forum_id, pages):
try:
for page in range(1, pages + 1):
response = requests.get(
"{}/api/topics?forum_id={}&per_page=40&page={}".format(
API_BASE_URL, forum_id, page
)
f"{API_BASE_URL}/api/topics?forum_id={forum_id}&per_page=40&page={page}"
)
if response.status_code != 200:
raise Exception("When collecting threads, received a status code: %s" % response.status_code)
raise Exception(
f"When collecting threads, received a status code: {response.status_code}"
)
threads += response.json().get("topics")
except JSONDecodeError as err:
logging.error("Unable to decode threads. %s", err)
@@ -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):
@@ -76,29 +76,33 @@ def get_posts(post):
raise ValueError()
response = requests.get(
"{}/api/topics/{}/posts?per_page=40&page=1".format(API_BASE_URL, post_id)
f"{API_BASE_URL}/api/topics/{post_id}/posts?per_page=40&page=1"
)
total_pages = response.json().get("pager").get("total_pages")
posts = []
for page in range(0, total_pages + 1):
response = requests.get(
"{}/api/topics/{}/posts?per_page={}&page={}".format(
API_BASE_URL, post_id, 40, page
)
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,12 +3,24 @@ from __future__ import unicode_literals
import logging
import sys
import json
import click
try:
from importlib import metadata
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 .__version__ import version as current_version
from .threads import (
parse_threads,
search_threads,
sort_threads,
generate_thread_output,
ThreadEncoder,
)
from .posts import generate_posts_output, PostEncoder
init()
@@ -18,12 +30,13 @@ logging.getLogger().addHandler(logging.StreamHandler())
def get_version():
return "rfd v" + current_version
return "rfd v" + metadata.version("rfd")
def print_version(ctx, value):
def print_version(ctx, _, value):
if not value or ctx.resilient_parsing:
return
click.echo(get_version(), nl=False)
click.echo(get_version(), nl=True)
ctx.exit()
@@ -45,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
@@ -57,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)
@@ -70,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:
@@ -87,8 +117,21 @@ def threads(forum_id, pages, sort_by):
74 \t shopping discussion
88 \t cell phones
"""
_threads = sort_threads(parse_threads(get_threads(forum_id, pages)), sort_by=sort_by)
click.echo_via_pager(generate_thread_output(_threads))
_threads = sort_threads(
parse_threads(get_threads(forum_id, pages)), sort_by=sort_by
)
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.")
@@ -97,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:
@@ -121,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,21 +1,36 @@
# pylint: disable=old-style-class
import os
import json
from colorama import Fore, Style
from .scores import get_vote_color
class Post:
def __init__(self, body, score, user):
self.body = body
self.score = score
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)
def generate_posts_output(posts):
output = ""
output += ("-" * get_terminal_width())
output += "-" * get_terminal_width()
for post in posts:
output += (
" -"
@@ -23,10 +38,10 @@ def generate_posts_output(posts):
+ Fore.RESET
+ post.body
+ Fore.YELLOW
+ " ({})".format(post.user)
+ f" ({post.user})"
)
output += (Style.RESET_ALL)
output += Style.RESET_ALL
output += "\n"
output += ("-" * get_terminal_width())
output += "-" * get_terminal_width()
output += "\n"
return output

View File

@@ -1,9 +1,10 @@
import re
import json
from colorama import Fore, Style
from . import API_BASE_URL
from .scores import calculate_score, get_vote_color
# pylint: disable=old-style-class
class Thread:
def __init__(self, title, dealer_name, score, url, views):
self.dealer_name = dealer_name
@@ -13,11 +14,24 @@ class Thread:
self.views = views
def __repr__(self):
return "Thread(%s)" % self.title
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 "{}{}".format(API_BASE_URL, slug)
return f"{API_BASE_URL}{slug}"
def get_dealer(topic):
@@ -88,12 +102,12 @@ def generate_thread_output(threads):
+ "."
+ get_vote_color(thread.score)
+ Fore.RESET
+ "%s%s" % (dealer, thread.title)
+ f"{dealer}{thread.title}"
+ Fore.LIGHTYELLOW_EX
+ " (%d views)" % thread.views
+ f" ({thread.views} views)"
+ Fore.RESET
)
output += Fore.BLUE + " {}".format(thread.url)
output += Fore.BLUE + f" {thread.url}"
output += Style.RESET_ALL
output += "\n\n"
yield output