drandreaskrueger / drandreaskrueger/epic-ratings
feature request: for missing data, also download ratings pages for other platforms
- Dominant language
- Python
- Stars
- 0
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
# feature request:
## for missing data, also download ratings pages for other platforms
### Problem
If my main platform ( /pc/ ) has **not enough reviews (or is missing data completely)**, then the **meta/user-score on another platform** is better than having no data - right?
Random example "prison-architect":
* [pc/prison-architect](https://www.metacritic.com/game/pc/prison-architect) has metascore=83 **but userscore=None**
* [playstation-4/prison-architect](https://www.metacritic.com/game/playstation-4/prison-architect) has (metascore=80 and) userscore=6.8 **with 44 ratings**
* [xbox-one/prison-architect](https://www.metacritic.com/game/xbox-one/prison-architect) has (metascore=75 and) userscore=6.3 **with 12 ratings**
### wish
I would prefer to have `userscore=6.8 with 44 ratings` in my results CSV table, perhaps additional to (or perhaps even _instead of_) the `userscore=None`
### solutions
There are different routes to solve this:
1. BruteForce: Always download everything for all platforms, parse later. Disadvantages: Too much data is not always helpful. Plus, much more traffic load for metacritic. And more waiting time.
1. create a combined `downloadAndParse.py` which parses the downloaded page already, and immediately goes to the next platform if it detects good reasons to do so. The basic code for that is there already, but at the moment it tries the next platform (see `platformsOrdered` in settings.py, and where it is used in `downloader.py`) only if `not page.status_code==200`.
1. create a `downloadPatcher.py` which takes the CSV file that filesparser.py has output, identifies the missing data, and then downloads only the needed files on other platforms.
### open questions
What is with "the other score", i.e. in this example case the "metascore=83" on /pc/ ?
Do I also drop that, i.e. drop all /pc/ data, and instead everywhere use the /playstation-4/ results, i.e. "metascore=80" ?
Opinions please. Thanks.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading settings.py and downloader.py, especially platformsOrdered and the existing status-code fallback, then review filesparser.py and its CSV output. Compare the proposed downloadAndParse.py and downloadPatcher.py approaches, and resolve how platform scores should be selected before implementation. Done means missing or insufficient scores can be filled from other platforms without downloading unnecessary pages.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100