1
0
mirror of https://github.com/Melon-Bread/RetroUFO synced 2024-11-28 10:18:20 -05:00

Compare commits

..

13 Commits

Author SHA1 Message Date
510e219161 Fixed some metadata 2019-12-11 01:16:08 -05:00
f020623389 Fixed GUI Command 2019-12-11 01:12:35 -05:00
1cd5199c69 Better wording 2019-12-11 01:08:35 -05:00
d75cca5382 Updated badges some 2019-12-11 01:04:02 -05:00
bdd5986bb0 Have to bump the version to fix PyPi info 2019-12-11 00:52:47 -05:00
5f3ad0ccc4 I had one job, and I goofed 2019-12-11 00:50:40 -05:00
9314750c49 Don't need useless comments 2019-12-11 00:45:35 -05:00
03784e2dba Don't assume pip is in the $PATH 2019-12-11 00:37:00 -05:00
d21e4b93dc Python 2 is EOL 2019-12-11 00:36:01 -05:00
d1bd33b80a Restructured for PyPi 2019-12-11 00:33:48 -05:00
14a06dcac6 Cleaned up 2019-12-11 00:32:52 -05:00
df131bb6f3 Initial Commit 2019-12-10 22:49:59 -05:00
90fc6b69ff Added VSCode 2019-12-10 21:24:54 -05:00
8 changed files with 85 additions and 39 deletions

3
.gitignore vendored
View File

@ -108,3 +108,6 @@ venv.bak/
# folders from script
cores/
# VSCode
.vscode/

View File

@ -1,35 +1,47 @@
# RetroUFO
[![Platform](https://img.shields.io/badge/platform-linux%20%7C%20macos%20%7C%20windows-yellow.svg)](https://www.youtube.com/watch?v=NLGoKxh8Aq4)
[![Python Version](https://img.shields.io/pypi/pyversions/Django.svg)](https://www.python.org/downloads/) [![License.](https://img.shields.io/github/license/mashape/apistatus.svg)](https://opensource.org/licenses/MIT)
[![Python Version](https://img.shields.io/pypi/pyversions/Django.svg)](https://www.python.org/downloads/) [![PyPI license](https://img.shields.io/pypi/l/ansicolortags.svg)](https://opensource.org/licenses/MIT) [![PyPI version](https://badge.fury.io/py/RetroUFO.svg)](https://pypi.org/project/RetroUFO/)
A ~~messy~~ Python script that grabs the latest version of every libretro core from the [build bot](https://buildbot.libretro.com/).
***
### Usage-CLI
Just run the script with _Python 3_:
### Installation
The package can be installed via pip:
```bash
python3 ./RetroUFO.py
python -m pip install --user RetroUFO
```
### Usage-CLI
Just run the script from the terminal:
```bash
RetroUFO
```
It will then download and extract all the latest versions of each core to their default location based on `retroarch.default.cfg` for each platform
_(Which is only Linux & Windows for right now)_
_(Which is only Linux, macOS, & Windows for right now)_
If you are more of a advance user, and want to do things a bit more manually, you can view all the scripts arguments by:
```bash
python3 ./RetroUFO.py --help
RetroUFO --help
```
### Usage-GUI
The GUI script uses [Qt for Python](https://wiki.qt.io/Qt_for_Python) ([PySide2](https://pypi.org/project/PySide2/)). So you can make sure you have that package installed by running:
The GUI script uses [Qt for Python](https://wiki.qt.io/Qt_for_Python) ([PySide2](https://pypi.org/project/PySide2/)). So you can make sure you have that package installed if you plan to run the script manually:
```bash
pip3 install --user PySide2
python -m pip install --user PySide2
```
After that you can just run the script like so:
```bash
python3 ./RetroUFO_GUI.py
RetroUFO-GUI
```
You can then just click the `Grab Cores` button at the bottom and then you should be all set.
@ -57,3 +69,4 @@ If you have your core directory set somewhere special you can override where the
- ~~Make GUI~~
- Real error handling
- Support for ARM detection
- ~~Make a PyPi package~~

View File

@ -25,13 +25,29 @@ CORE_LOCATION = {
}
def main(_args):
def main():
""" Where the magic happens """
parser = argparse.ArgumentParser()
parser.add_argument('-p', '--platform', metavar='STRING', required=False,
help='Platform you desire to download for')
parser.add_argument('-a', '--architecture', metavar='STRING', required=False,
help='Architecture for the platform you desire to download for')
parser.add_argument('-l', '--location', metavar='STRING', required=False,
help='Location you wish the cores to extract to')
parser.add_argument('-k', '--keep', action='store_true',
help='Keeps downloaded core archives')
args = parser.parse_args()
# If a platform and/or architecture is not supplied it is grabbed automatically
target_platform = _args.platform if _args.platform else get_platform()
architecture = _args.architecture if _args.architecture else get_architecture()
location = _args.location if _args.location else CORE_LOCATION[target_platform]
target_platform = args.platform if args.platform else get_platform()
architecture = args.architecture if args.architecture else get_architecture()
location = args.location if args.location else CORE_LOCATION[target_platform]
download_cores(target_platform, architecture)
extract_cores(location)
@ -117,20 +133,4 @@ def clean_up():
if __name__ == "__main__":
""" This is executed when run from the command line """
parser = argparse.ArgumentParser()
parser.add_argument('-p', '--platform', metavar='STRING', required=False,
help='Platform you desire to download for')
parser.add_argument('-a', '--architecture', metavar='STRING', required=False,
help='Architecture for tha platform you desire to download for')
parser.add_argument('-l', '--location', metavar='STRING', required=False,
help='Location you wish the cores to extract to')
parser.add_argument('-k', '--keep', action='store_true',
help='Keeps downloaded core archives')
args = parser.parse_args()
main(args)
main()

View File

@ -260,8 +260,7 @@ class Form(QDialog):
if os.path.isdir('cores'):
rmtree('cores/')
if __name__ == '__main__':
def main():
# Create the Qt Application
app = QApplication(sys.argv)
# Create and show the form
@ -271,3 +270,6 @@ if __name__ == '__main__':
form.show()
# Run the main Qt loop
sys.exit(app.exec_())
if __name__ == '__main__':
main()

0
RetroUFO/__init__.py Normal file
View File

BIN
icon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -1,7 +1,2 @@
altgraph==0.16.1
future==0.17.1
macholib==1.11
pefile==2019.4.18
PyInstaller==3.4
PySide2==5.12.3
shiboken2==5.12.3
PySide2>=5.12.3

33
setup.py Normal file
View File

@ -0,0 +1,33 @@
import setuptools
with open("README.md", "r") as fh:
long_description = fh.read()
setuptools.setup(
name="RetroUFO",
version="0.9.5-1",
author="Melon Bread",
author_email="rain@melonbread.dev",
description="Easily upgrade all libreto cores from the build bot",
long_description=long_description,
long_description_content_type="text/markdown",
license="MIT",
keywords=["libretro", "retroarch", "core"],
url="https://github.com/Melon-Bread/RetroUFO",
packages=["RetroUFO"],
install_requires=[
'PySide2',
],
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
python_requires='>=3.6',
entry_points={
'console_scripts': [
"RetroUFO=RetroUFO.RetroUFO:main",
"RetroUFO-GUI=RetroUFO.RetroUFO_GUI:main"
]
},
)