{"id":31650426,"url":"https://github.com/ashref-dev/art-book-next-es-de-artwork-picker","last_synced_at":"2026-04-20T06:02:24.637Z","repository":{"id":318315396,"uuid":"1070763602","full_name":"Ashref-dev/art-book-next-es-de-artwork-picker","owner":"Ashref-dev","description":"A web-based tool to browse and select custom system carousel artwork (ES-DE Art Book Next Theme ). For each console, view slanted previews of all available game images, then pick your favorite to use as the system background.","archived":false,"fork":false,"pushed_at":"2025-10-06T12:12:03.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-06T14:20:38.168Z","etag":null,"topics":["art-book-next","es-de","flask","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ashref-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-06T12:07:27.000Z","updated_at":"2025-10-06T12:12:35.000Z","dependencies_parsed_at":"2025-10-06T14:21:11.072Z","dependency_job_id":"e4f15e5f-43fc-4a8c-8c54-f61ce288277e","html_url":"https://github.com/Ashref-dev/art-book-next-es-de-artwork-picker","commit_stats":null,"previous_names":["ashref-dev/art-book-next-es-de-artwork-picker"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Ashref-dev/art-book-next-es-de-artwork-picker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashref-dev%2Fart-book-next-es-de-artwork-picker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashref-dev%2Fart-book-next-es-de-artwork-picker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashref-dev%2Fart-book-next-es-de-artwork-picker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashref-dev%2Fart-book-next-es-de-artwork-picker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ashref-dev","download_url":"https://codeload.github.com/Ashref-dev/art-book-next-es-de-artwork-picker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashref-dev%2Fart-book-next-es-de-artwork-picker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32035276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["art-book-next","es-de","flask","python"],"created_at":"2025-10-07T08:29:20.072Z","updated_at":"2026-04-20T06:02:24.594Z","avatar_url":"https://github.com/Ashref-dev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# art-book-next-es-de-artwork-picker\n\nThis file documents how to run and configure `artwork_picker.py` (the Art Book Next interactive artwork picker) and includes tips for common scenarios.\n\n## Purpose\n\n`artwork_picker.py` is a small Flask-based web tool that:\n\n- Scans your ES-DE `downloaded_media` for game images (fanart / screenshots / titlescreens / miximages).\n- Generates slanted previews using the theme's artwork mask.\n- Lets you pick an image and save a per-system PNG into the theme artwork folders.\n\n## Important behaviour\n\n- The script determines the theme root using the script file location (Path(__file__).resolve().parent). This means:\n  - You do NOT need to `cd` into the theme folder before running the script.\n  - You can run the script from any directory as long as you call the script by path, e.g. `python3 /path/to/artwork_picker.py`.\n- The script still requires that it resides in the correct theme root directory (it checks that `_inc/systems/artwork` exists relative to the script). If you move the script out of the theme folder it will exit with an error.\n\n## Requirements\n\n- Python 3.8+\n- Pillow (PIL)\n- Flask\n\nInstall requirements (recommended inside a virtual environment):\n\n```bash\npip3 install pillow flask\n```\n\n## Run examples\n\n- From the theme directory (recommended):\n\n```bash\ncd /Users/you/ES-DE/themes/art-book-next-es-de\npython3 artwork_picker.py\n```\n\n- From any other directory (script still resolves theme root from its file location):\n\n```bash\ncd ~/Downloads\npython3 /Users/you/ES-DE/themes/art-book-next-es-de/artwork_picker.py\n```\n\nOpen http://localhost:5000 in your browser after the server starts.\n\n## ES-DE auto-detection\n\nThe script tries to find your ES-DE installation by checking these default locations (edit `ESDE_PATHS` in the script if needed):\n\n- `~/ES-DE`\n- `~/Library/Application Support/ES-DE`\n- `/Users/\u003cyour-username\u003e/ES-DE`\n\nIt looks for a `downloaded_media` folder inside the ES-DE root. If you installed ES-DE elsewhere, add that path to `ESDE_PATHS` at the top of `artwork_picker.py`.\n\n## Output (where selected images are saved)\n\nThe script writes the composite PNG for each system into the theme artwork directories it finds. By default these are (relative to the theme root):\n\n- `_inc/systems/artwork`\n- `_inc/systems/artwork-noir`\n- `_inc/systems/artwork-circuit`\n- `_inc/systems/artwork-outline`\n- `_inc/systems/artwork-screenshots`\n\nIt only writes into directories present in your theme; missing directories are skipped.\n\n## Quick troubleshooting\n\n- \"❌ ERROR: Not in Art Book Next theme directory\" — make sure `artwork_picker.py` is inside the theme directory and `_inc/systems/artwork` exists.\n- \"❌ ERROR: ES-DE installation not found\" — either install ES-DE in a default location or add your ES-DE root to `ESDE_PATHS` in the script.\n- Missing Python packages — run `pip3 install pillow flask`.\n- Mask load failures — ensure `_inc/systems/artwork` contains at least one non-`_default.png` PNG file used to extract the alpha mask.\n\n## Optional improvements\n\nIf you'd like I can modify the script to accept command-line arguments, for example:\n\n- `--theme-root /path/to/theme` to explicitly override the detected theme root\n- `--esde-root /path/to/ES-DE` to override ES-DE detection\n\nThis makes running from other scripts or CI easier.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashref-dev%2Fart-book-next-es-de-artwork-picker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashref-dev%2Fart-book-next-es-de-artwork-picker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashref-dev%2Fart-book-next-es-de-artwork-picker/lists"}