hydrusnetwork / hydrusnetwork/hydrus
Add quality precedence to other types of content parsers
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 3.2k
- Forks
- 207
- PR merge metrics
- No merged PRs in 30d
Description
The url content parser allows you to set a precedence score, so you can grab just one set of URLs if there are competing URL sets of varying quality.
I propose this be expanded to other types of content parsers, specifically the tags parser, although other content parsers could also potentially benefit from this.
To give an example of the intended use case: let's say you're writing a parser for a site in the style of Tumblr, X (Twitter), or similar where users can repost content posted by other users. You'd like your parser to be able to automatically grab the author of a post and add it as a creator tag, but you only want to tag the original poster, not the account which reposted it.
If the site doesn't offer a simple way to always grab the original poster (e.g. their API only returns an original_poster key/value pair on reposts, meaning you can't check for that pair on a link to an original post), it should still be possible to make it work through some complex setup with zipper formulas and string conversion or something, but it would make for simpler parser writing if you could have multiple tag parsers that can override each other like so:
| name | produces |
|---|---|
| creator tag ("author") | creator tag (priority 50) |
| creator tag ("original_poster", gets OP for reposts) | creator tag (priority 75) |
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the existing URL content parser precedence behavior and the tag parser implementation, then trace how parser results are combined. The change is done when tag parsers can define precedence so higher-quality results override lower-priority results, while preserving the current URL parser behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100