This commit is contained in:
LouiseSulyvahn
2022-06-06 14:22:51 -04:00
parent 9133dd98ac
commit 014473b04c
4 changed files with 105 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,91 @@
"""
⣞⢽⢪⢣⢣⢣⢫⡺⡵⣝⡮⣗⢷⢽⢽⢽⣮⡷⡽⣜⣜⢮⢺⣜⢷⢽⢝⡽⣝
⠸⡸⠜⠕⠕⠁⢁⢇⢏⢽⢺⣪⡳⡝⣎⣏⢯⢞⡿⣟⣷⣳⢯⡷⣽⢽⢯⣳⣫⠇
⠀⠀⢀⢀⢄⢬⢪⡪⡎⣆⡈⠚⠜⠕⠇⠗⠝⢕⢯⢫⣞⣯⣿⣻⡽⣏⢗⣗⠏⠀
⠀⠪⡪⡪⣪⢪⢺⢸⢢⢓⢆⢤⢀⠀⠀⠀⠀⠈⢊⢞⡾⣿⡯⣏⢮⠷⠁⠀⠀
⠀⠀⠀⠈⠊⠆⡃⠕⢕⢇⢇⢇⢇⢇⢏⢎⢎⢆⢄⠀⢑⣽⣿⢝⠲⠉⠀⠀⠀⠀
⠀⠀⠀⠀⠀⡿⠂⠠⠀⡇⢇⠕⢈⣀⠀⠁⠡⠣⡣⡫⣂⣿⠯⢪⠰⠂⠀⠀⠀⠀
⠀⠀⠀⠀⡦⡙⡂⢀⢤⢣⠣⡈⣾⡃⠠⠄⠀⡄⢱⣌⣶⢏⢊⠂⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢝⡲⣜⡮⡏⢎⢌⢂⠙⠢⠐⢀⢘⢵⣽⣿⡿⠁⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠨⣺⡺⡕⡕⡱⡑⡆⡕⡅⡕⡜⡼⢽⡻⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣼⣳⣫⣾⣵⣗⡵⡱⡡⢣⢑⢕⢜⢕⡝⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣴⣿⣾⣿⣿⣿⡿⡽⡑⢌⠪⡢⡣⣣⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⡟⡾⣿⢿⢿⢵⣽⣾⣼⣘⢸⢸⣞⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠁⠇⠡⠩⡫⢿⣝⡻⡮⣒⢽⠋⠀⠀⠀
NO COVERS?
"""
import re
from time import sleep
from urllib.error import HTTPError
from termcolor import colored
from colorama import init
import urllib.request
import os, sys
COVERS_URL = 'https://github.com/LouiseSulyvahn/DuckStation_Cover_Downloader/raw/main/covers/'
VERSION_URL = 'https://raw.githubusercontent.com/LouiseSulyvahn/DuckStation_Cover_Downloader/main/version'
VERSION = 1.0
def path():
if getattr(sys, 'frozen', False):
path = os.path.dirname(os.path.realpath(sys.executable))
elif __file__:
path = os.path.dirname(__file__)
return path
def check_version():
try:
version = urllib.request.urlopen(VERSION_URL)
if float(version.read().decode('utf-8').replace('\n','')) != VERSION:
print('[LOG]:', colored(f'New update available!\n', 'green'))
except:
pass
def serial_list(): # Get game serial
with open(f'{path()}\cache\gamelist.cache', errors='ignore') as file:
regex = re.compile('(\w{4}-\d{5})').findall(file.read())
serial_list = list(dict.fromkeys(regex))
print('[LOG]:', colored(f'Found {len(serial_list)} games', 'green'))
if len(serial_list) == 0:
print('[ERROR]:', colored(f'You have 0 games installed', 'red'))
input()
quit()
return serial_list
def existing_covers():
covers = [w.replace('.jpg', '') for w in os.listdir(f'{path()}\covers')]
return covers
def download_covers(serial_list:list): # Download Covers
existing_cover = existing_covers()
for i in range(len(serial_list)):
game_serial = serial_list[i]
if game_serial not in existing_cover:
print('[LOG]:',colored(f'Downloading {game_serial} cover...', 'green'))
try:
urllib.request.urlretrieve(f'{COVERS_URL}{game_serial}.jpg', f'covers/{game_serial}.jpg')
sleep(1)
except HTTPError:
print('[WARNING]',colored(f'{game_serial} Not found. Report it in GitHub please...','yellow'))
else:
print('[WARNING]:',colored(f'{game_serial} already exist in \covers. Skipping...','yellow'))
def run():
check_version()
download_covers(serial_list())
print('[LOG]:', colored(f'Done!', 'green'))
input()
init()
run()

11
README.md Normal file
View File

@@ -0,0 +1,11 @@
## DuckStation Cover Downloader
![](...)
## How to use
- Download DuckStation_Cover_Downloader.exe
- Put DuckStation_Cover_Downloader.exe in Documents\DuckStation folder
- Run
## Credits
* psxdatacenter.com

3
requirements.txt Normal file
View File

@@ -0,0 +1,3 @@
colorama==0.4.4
PyYAML==6.0
termcolor==1.1.0