Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[UI] Add a view to show what rippers are supported and give examples that can be tried at a click #2089

Open
metaprime opened this issue Jan 27, 2025 · 1 comment

Comments

@metaprime
Copy link
Contributor

The error messages are more useful to know what isn't supported, but it's harder to know at a glance what sites are supported and what patterns they might support within the app itself.

A view should be added to surface this information. Probably add a checkbox that should be toggled on to show NSFW options.

I think we should add a method or two to the AbstractRipper that should be implemented by each ripper to provide information about which sites, supported URL formats in a human-readable format rather than Regex, and examples of URLs that should rip correctly. This will make it easier for people to see what should work and signal us if something is supposed to work actually doesn't work. Another method to indicate whether the ripper is typically for NSFW content as well so that the checkbox on that view knows.

The view should pull the data from the rippers to populate its interface. This way users could theoretically bring their own sets of rippers to the app. Separating out the core app from implementations of rippers has been a goal I've had in the back of my mind for a while and it would be good to continue to support that future possibility.

By the way, I think our major version should capture whether the family of AbstractRipper classes are modified. That's essentially the only interface we have. Changes to that interface should result in semver-compatible changes to our version number. Adding methods to the AbstractRippers with a default implementation is a minor version change because new interface is backwards compatible. Adding methods that require implementations would be a major breaking change to the rippers.

For our own sanity, we should have a default implementation of this info because we won't want to have to update all the rippers at once.

@metaprime
Copy link
Contributor Author

When this is done, create an issue to track which rippers need to be updated to include implementations of the new methods. Those implementations will likely guide creation of a basic ripper test for whatever rippers currently lack tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant