From 0a2163200fdd80589d6716b21315c7cbf7a85ab4 Mon Sep 17 00:00:00 2001 From: Gemba Date: Fri, 3 Jan 2025 20:28:14 +0100 Subject: [PATCH] minor doc updates (#111) --- README.md | 7 +++-- docs/CLIHELP.md | 8 +++--- docs/PLATFORMS.md | 2 +- docs/index.md | 27 +++++++++++++++---- .../scraperdata/mame_map_update_csv.py | 14 +++++++++- .../scraperdata/peas_and_idmap_verify.py | 7 ++--- 6 files changed, 47 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 7dc938a8..8f44a3de 100644 --- a/README.md +++ b/README.md @@ -101,11 +101,10 @@ Two Docker setups exist: One general in the `docker/` folder. The other resides When you've installed the prerequisites as described above for Linux or macOS, you can install Skyscraper by typing in the following commands: ``` $ cd -$ mkdir skysource -$ cd skysource +$ mkdir -p skysource && cd skysource $ wget -q -O - https://raw.githubusercontent.com/Gemba/skyscraper/master/update_skyscraper.sh | bash ``` -The last command will download and run the latest update script from Github. The script installs the latest release of Skyscraper. During the installation you might be asked for your sudo password. On RetroPie the default password is `raspberry`. +The last command will download and run the latest update script from Github. The script installs the latest release of Skyscraper, by default with the prefix `/usr/local/`. During the installation you might be asked for your sudo password. On RetroPie the default password is `raspberry`. If you want also bash completion, then copy the [Skyscraper.bash](https://github.com/Gemba/skyscraper/blob/master/supplementary/bash-completion/Skyscraper.bash) to the folder of bash completion scripts according to your distribution. @@ -127,7 +126,7 @@ git clone --depth 1 https://github.com/Gemba/skyscraper.git cd skyscraper [[ -f Makefile ]] && make --ignore-errors clean rm --force .qmake.stash -QT_SELECT=5 qmake +QT_SELECT=5 qmake # Add PREFIX=/path/to if you want a different PREFIX than /usr/local make -j$(nproc) sudo make install ``` diff --git a/docs/CLIHELP.md b/docs/CLIHELP.md index 21234028..3a99f620 100644 --- a/docs/CLIHELP.md +++ b/docs/CLIHELP.md @@ -115,10 +115,6 @@ Skyscraper --help Skyscraper -h ``` -### --hint - -Displays one of Skyscrapers's 'Did you know?' tips and exits. - ### -i <PATH> Sets the rom input folder. By default Skyscraper will look for roms in the `/home//RetroPie/roms/` folder. If your roms are located in a non-default location, you can set the input path using this option. Consider setting this in [`config.ini`](CONFIGINI.md#inputfolder) instead. @@ -609,6 +605,10 @@ Overrides the default gamelist filename of the frontend. If you are using a vari Skyscraper -p megadrive -f pegasus --gamelistfilename metadata.txt # default for pegasus frontend is metadata.pegasus.txt ``` +### --hint + +Displays one of Skyscrapers's 'Did you know?' tips and exits. + ### --includefrom <FILENAME> Tells Skyscraper to only include the files listed in FILENAME. One filename per line (with _absolute_ path, eg. '/home/pi/RetroPie/roms/snes/subdir/somefile.zip'). diff --git a/docs/PLATFORMS.md b/docs/PLATFORMS.md index fd18c9c6..71b1252f 100644 --- a/docs/PLATFORMS.md +++ b/docs/PLATFORMS.md @@ -219,7 +219,7 @@ additional information on this. Thus, Skyscraper expects to find ROMs in `/home/pi/RetroPie/roms/satellaview`. - Line 6 contains the extensions which are recognized by EmulationStation. These extensions should be also be present in the `"formats":` block of `peas.json`. - However, Skyscraper uses case insensitive extension mapping. The + However, Skyscraper uses case insensitive file extension mapping. The extensions `.7z` and `.zip` are added automagically by Skyscraper, thus the `"formats":` list is usually shorter than the EmulationStation `` list. diff --git a/docs/index.md b/docs/index.md index f6404c4f..ce906b7d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -6,14 +6,31 @@ Welcome to the powerful one-stop scraping-tool to maintain your gamelists! -This fork is based on commit `654a31b` (2022-10-26) from [this +This repo is the official successor of [Lars Muldjord's +Skyscraper]((https://github.com/muldjord/skyscraper?tab=readme-ov-file#code-contributions-and-forks)). + +### Key New Features at a Glance + +- Several platforms added and supported out-of-the-box +- Platforms to scrape can be added via configuration files +- Support for EmulationStation Desktop Edition (ES-DE) as frontend +- Added scraping of game manuals as PDF +- Support for XDG Base Directory standard +- Commandline Bash completion on Linux systems +- Various configuration options added to fine-tune scraping and gamelist + creation +- Skyscraper manual also available in mkdocs/material layout + +See also [all new features](CHANGELOG.md) + +Backstory: This fork is based on commit `654a31b` (2022-10-26) from [this fork](https://github.com/detain/skyscraper), which was a short-lived fork of -Lars' project. See also [features](CHANGELOG.md) applied here since Lars' -retired his project. +Skyscraper project after Lars retired his project. Skyscraper focuses on RetroPie integration but it can also be used without RetroPie. However, the RetroPie-Setup has a [scriptmodule](https://github.com/RetroPie/RetroPie-Setup/blob/master/scriptmodules/supplementary/skyscraper.sh) -to install this Skyscraper fork. +to install this Skyscraper fork. In essence Skyscraper only relies on a C++ 17 +toolchain and the Qt framework. -Ready? Let's [dive in](USECASE.md) or use the navigation pane on the left. \ No newline at end of file +Ready? Let's [dive in](USECASE.md) or use the navigation pane on the left. diff --git a/supplementary/scraperdata/mame_map_update_csv.py b/supplementary/scraperdata/mame_map_update_csv.py index ac906127..756c3e61 100644 --- a/supplementary/scraperdata/mame_map_update_csv.py +++ b/supplementary/scraperdata/mame_map_update_csv.py @@ -10,7 +10,7 @@ import csv import pandas as pd import requests - +import sys URL = ( "https://raw.githubusercontent.com/" @@ -23,6 +23,18 @@ lines = req.text.split("\n") hdr = lines[0].replace("", "").strip() print(f"[+] File info: {hdr}") + +prev_hdr = "" +try: + with open(OUTFILE, "r") as prev: + prev_hdr = prev.readline().replace("# ","").strip() +except IOError: + pass + +if (hdr == prev_hdr): + print(f"[*] No changes detected. No new {OUTFILE.name} written.") + sys.exit(0) + lines[0] = "" lines.append("") df = pd.read_xml("".join(lines), xpath="//root/*") diff --git a/supplementary/scraperdata/peas_and_idmap_verify.py b/supplementary/scraperdata/peas_and_idmap_verify.py index b07659b2..597d4f91 100644 --- a/supplementary/scraperdata/peas_and_idmap_verify.py +++ b/supplementary/scraperdata/peas_and_idmap_verify.py @@ -19,8 +19,8 @@ from pathlib import Path import json -import pandas as pd import sys +import pandas as pd replacements = { "amigacd32": "cd32", @@ -37,6 +37,7 @@ def print_platform_tree(): df = pd.read_csv(pid_map_fn) df = df[~df.folder.str.contains("#")] df = df.astype({col: int for col in df.columns[1:]}) + df = df.sort_values("folder") last_folder = df["folder"].values[-1] print(f"[*] {pid_map_fn.name}:") @@ -94,8 +95,8 @@ def print_coverage(df): print( f" The Games DB : {tgdb_count:3d}/{total} ({100.0 * tgdb_count/total:.1f}%)" ) - print(" Any not covered/matched platform can most likely be scraped by " - "utilizing the 'aliases' list of the peas.json file. Read the details: " + print(" Any not covered/matched platform can most likely be scraped by " + "utilizing the 'aliases' list in the peas.json file.\n Read the details: " "https://gemba.github.io/skyscraper/PLATFORMS/#updating-peasjson-and-platforms_idmapcsv")