Skip to content

Conversation

@b3yc0d3
Copy link
Owner

@b3yc0d3 b3yc0d3 commented Jun 6, 2025

No description provided.

b3yc0d3 and others added 30 commits December 31, 2024 13:30
version 2.1.0

# Changes

### Added

- Added new tests for rule34Py:
	* get_comments()
	* get_post()
	* icame()
	* iter_search()
	* tag_map()
	* tagmap()
	* top_tags()
	* version()
- Added test cases for all the new `html` module classes and static methods.
- Added a `rule34Py.iter_search()` method that returns a Post search iterator that transparently handles pagination.
- Added a `rule34Py._get()` method to handle HTTP GET requests from the servers. This logic was previously duplicated within most of the client's methods.
- Added a `rule34Py.tag_map()` method which parses and returns the top 100 global tags (that was previously being returned from the `tagmap()` method.)
- Added a `rule34Py.top_tags()` method, that parses the global Top-100 tags from the toptags page (like the deprecated `tagmap()` method.)

### Changed

- Began migrating the client's User-Agent string into a client-scope variable (from the module), so that users can alter it if they wish.
- Cleaned up the module docstrings, copyright header, and imports in rule34.py.
- Alpha-sorted the `rule34.py` file.
- **(Breaking)** `rule34Py` no longer inherits from the `Exception` class.
- Generally began migrating the HTML parsing logic out of the rule34Py client class and into a new `html` module.

### Deprecated

- Announced deprecation of the `rule34Py.rule34Py.version` property. Users should check the value of the module-scope `rule34Py.version` variable instead.
- Announced deprecation of the `rule34Py.rule34Py.tagmap()` method. Users should either call `rule34Py.top_tags()` to continue getting the Top-100 tags chart, or `rule34Py.tag_map()` to get the new Tag Map data points.

### Removed

- **(Breaking)** Removed the `deleted` and `ignore_max_limit` parameters from the `rule34Py.search()` method. Neither worked and only ever returned an exception.
- Removed the `limit` parameter from the `rule34Py.icame()` method, as it did nothing. Users are directed to use list slicing instead.

Big thanks to @ripariancommit
Add an initial implementation for sphinx documentation. Auto-generate
module documentation for the rule34Py module.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Add the intersphinx extension to automatically link to external sphinx
docs. Also enhance the autodoc configuration.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
The current canonical project documentation is a README.rst file that is
rather out of date, and has been replaced by the sphinx-based
documentation.

Remove the old file.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Convert the previous downloader example into a piece of tutorial
documentation.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Add python dependencies necessary to build the project documentation.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Add a github workflow to build the documentation on Pull Requests, so
that we can confirm the quality of the changes.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Add a job to the PR Checks workflow which confirms that the project
builds on Windows runners. This workflow does not generate artifacts
because they should be the same as the linux run.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Add a simple Makefile that comprehends how to build the project wheel,
source distribution, and HTML docs; and how to run the unit tests and
clean the project.

Update the PR Checks to use the Makefile.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Add a workflow to build and publish the project documentation to Github
Pages, on each push to the master ref.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Revitalize the module and class documentation for the Post class.

This commit contains no intentional changes to functionality.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Sphinx already does a good-enough job autodocumenting class
initialization under the class's heading in the docs. There is no need
to override the default value and force explicit documentation.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Add a python linter to the Makefile and a new target - lint - that lints
the python files for quality. Currently, it only lints for
docstring-related issues.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
The ruff linter reports several issues with the project docstrings and
type hinting. Fix them.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
During the PR checks, run the project linter.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
* Use the README markdown as the basis for the main documentation index.
* Move most of the information that is of interest to developers, to an
  independent developer-guide document in the docs.
* Add section descriptions to some of the sections.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Create a new contributing guide within the documentation, and move the
contributing information from the README to it.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Since the autodocs config statement to document __init__() methods was removed,
parameter documentation for __init__ must now go under the class
docstring.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Users will probably be understandably confused as to how to use the
captcha-clearance feature of the client class. Add a user guide on how
to use it.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
ripariancommit and others added 3 commits May 17, 2025 17:33
The dev/docs trigger was added to the gh-pages workflow for testing.
Remove it, now that the patchset is ready. Pages should only be
published from the master ref.

Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
Signed-off-by: Riparian Commit <ripariancommit@protonmail.com>
ripariancommit merge - Documentation

- Adds sphinx-based project documentation

- Adds complete module, class, and method documentation throughout the rule34Py package, in the Google python style.
- Adds a top-level Makefile, to provide easier entrypoints for building the project, running the tests, and linting.
- Moves developer-focused user content either into a new Developer Guide (in the docs) or a Contributing Guide (in the docs).
- Deprecates the old docs README.
- Converts the downloader example into a tutorial in the docs.
- Adds a PR check github workflow, that should check that each repo PR builds the docs.
- Adds a gh-pages workflow to build and publish the GH pages on each push (or merge) into the master ref.
- Adds a linter - ruff - which seems to be the new hotness in python linting, and was helpful to lint my docstrings.
- Adds a user-guide for how to clear Cloudflare captchas using the featuers in Revitalize the client module (part 2 / 2) #23.

No changelog changes for this PR - because nothing here should impact users.
@b3yc0d3 b3yc0d3 added the bug Something isn't working label Jun 6, 2025
@b3yc0d3 b3yc0d3 merged commit e22df72 into develop Jun 6, 2025
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants