arthurmoore85 / pi_romulus Goto Github PK
View Code? Open in Web Editor NEWRetropie ROM downloader - for on your Retropie
License: GNU General Public License v2.0
Retropie ROM downloader - for on your Retropie
License: GNU General Public License v2.0
There needs to be an easier method of installing on the raspberry pi. Considering this app is designed for RetroPie, it should also install an easy to access shortcut in the EmulationStation menu
Hi!
Is possible in the next versions have the possibility to download SCUMMVM games?
thx
Describe the bug
"sudo apt-get install python-pip libarchive-dev" does not install needed Python 3 pip
Should be "sudo apt install python3-pip"
To Reproduce
pi@retropie:/pi_romulus $ sudo apt-get install python-pip libarchive-dev/pi_romulus $ sudo pip install -r requirements.txt
pi@retropie:
pip3: command not found
Expected behavior
pi@retropie:~/pi_romulus $ sudo pip install -r requirements.txt
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Desktop (please complete the following information):
This app is currently not pip installable.
As a result, this app is difficult (especially for beginners) to install on their device. As part of the installable milestone, this app should be placed in PyPi
It would be nice to have a progress bar added.
This is helpful for downloads that may take longer such as PS downloads. This feature already exists in Romulus and would be good to have.
Hi,
I have no idea about this when I execute python romulus.py
. How to solve this problem? Thanks.
1 Traceback (most recent call last): 2 File "romulus.py", line 9, in <module> 3 from forms import SearchForm 4 File "/home/pi/pi_romulus/forms/__init__.py", line 8, in <module> 5 from forms.search import SearchForm 6 File "/home/pi/pi_romulus/forms/search.py", line 11, in <module> 7 from scraping.scraper import Scraper 8 File "/home/pi/pi_romulus/scraping/scraper.py", line 16, in <module> 9 from io_utils.compression import Compression 10 File "/home/pi/pi_romulus/io_utils/compression.py", line 10, in <module> 11 import libarchive.public 12 File "/usr/local/lib/python2.7/dist-packages/libarchive/public.py", line 1 , in <module> 13 from libarchive.adapters.archive_read import \ 14 File "/usr/local/lib/python2.7/dist-packages/libarchive/adapters/archive_r ead.py", line 7, in <module> 15 import libarchive.calls.archive_read 16 File "/usr/local/lib/python2.7/dist-packages/libarchive/calls/archive_read .py", line 3, in <module> 17 from libarchive.library import libarchive 18 File "/usr/local/lib/python2.7/dist-packages/libarchive/library.py", line 16, in <module> 19 libarchive = ctypes.cdll.LoadLibrary(_FILEPATH) 20 File "/usr/lib/python2.7/ctypes/__init__.py", line 443, in LoadLibrary 21 return self._dlltype(name) 22 File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__ 23 self._handle = _dlopen(self._name, mode) 24 OSError: libarchive.so: cannot open shared object file: No such file or directory
When a user selects a download, it results in the download of URIs and not the ROMs
pi@retropie:~/pi_romulus $ pip install -r requirements.txt
Downloading/unpacking beautifulsoup4==4.5.1 (from -r requirements.txt (line 1))
Downloading beautifulsoup4-4.5.1-py2-none-any.whl (83kB): 83kB downloaded
Downloading/unpacking bs4==0.0.1 (from -r requirements.txt (line 2))
Downloading bs4-0.0.1.tar.gz
Running setup.py (path:/tmp/pip-build-cX8xoj/bs4/setup.py) egg_info for package bs4
Downloading/unpacking EasyProcess==0.2.3 (from -r requirements.txt (line 3))
Downloading EasyProcess-0.2.3.tar.gz
Running setup.py (path:/tmp/pip-build-cX8xoj/EasyProcess/setup.py) egg_info for package EasyProcess
warning: no files found matching 'TODO*'
warning: no files found matching 'CHANGES*'
no previously-included directories found matching 'docs/_build'
Downloading/unpacking libarchive==0.4.3 (from -r requirements.txt (line 4))
Downloading libarchive-0.4.3-py2-none-any.whl
Downloading/unpacking mechanize==0.2.5 (from -r requirements.txt (line 5))
Downloading mechanize-0.2.5.tar.gz (383kB): 383kB downloaded
Running setup.py (path:/tmp/pip-build-cX8xoj/mechanize/setup.py) egg_info for package mechanize
Downloading/unpacking nose==1.3.7 (from -r requirements.txt (line 6))
Downloading nose-1.3.7-py2-none-any.whl (154kB): 154kB downloaded
Requirement already satisfied (use --upgrade to upgrade): npyscreen==4.10.5 in /usr/local/lib/python2.7/dist-packages/npyscreen-4.10.5-py2.7.egg (from -r requirements.txt (line 7))
Downloading/unpacking pyunpack==0.1.2 (from -r requirements.txt (line 8))
Downloading pyunpack-0.1.2.tar.gz
Running setup.py (path:/tmp/pip-build-cX8xoj/pyunpack/setup.py) egg_info for package pyunpack
warning: no files found matching 'TODO*'
warning: no files found matching 'CHANGES*'
no previously-included directories found matching 'docs/_build'
Downloading/unpacking requests==2.12.4 (from -r requirements.txt (line 9))
Downloading requests-2.12.4-py2.py3-none-any.whl (576kB): 576kB downloaded
Installing collected packages: beautifulsoup4, bs4, EasyProcess, libarchive, mechanize, nose, pyunpack, requests
Cleaning up...
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 295, in run
requirement_set.install(install_options, global_options, root=options.root_path)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1436, in install
requirement.install(install_options, global_options, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 672, in install
self.move_wheel_files(self.source_dir, root=root)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 902, in move_wheel_files
pycompile=self.pycompile,
File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 214, in move_wheel_files
clobber(source, lib_dir, True)
File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 204, in clobber
os.makedirs(destdir)
File "/usr/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/bs4'
after that when i try to run the script i get
I'm looking for some dreamcast roms and after, when i select the roms before the start of the download:
Traceback (most recent call last): File "romulus.py", line 34, in <module> app.run() File "/usr/local/lib/python2.7/dist-packages/npyscreen/apNPSApplication.py", line 30, in run return npyssafewrapper.wrapper(self.__remove_argument_call_main) File "/usr/local/lib/python2.7/dist-packages/npyscreen/npyssafewrapper.py", line 41, in wrapper wrapper_no_fork(call_function) File "/usr/local/lib/python2.7/dist-packages/npyscreen/npyssafewrapper.py", line 97, in wrapper_no_fork return_code = call_function(_SCREEN) File "/usr/local/lib/python2.7/dist-packages/npyscreen/apNPSApplication.py", line 25, in __remove_argument_call_main return self.main() File "/usr/local/lib/python2.7/dist-packages/npyscreen/apNPSApplicationManaged.py", line 174, in main self._THISFORM.afterEditing() File "/home/pi/RetroPie/pi_romulus/forms/results.py", line 33, in afterEditing self.emu.download(selection) File "/home/pi/RetroPie/pi_romulus/api/base.py", line 151, in download self.current_url = self.get_download_url() File "/home/pi/RetroPie/pi_romulus/api/providers/emuapi.py", line 73, in get_download_url link = self.base_url + soup.find('a', {'id': 'download-link'}).get('href') AttributeError: 'NoneType' object has no attribute 'get'
python version:
Python 2.7.13
debian stretch
thx
I tried to use the newest version with updates and it will not run. I tried removing the files and re adding them and got errors I also get errors trying to run it
running it gives the below output
pi@retropie:~/pi_romulus $ python romulus.py
Traceback (most recent call last):
File "romulus.py", line 9, in
from forms import SearchForm
File "/home/pi/pi_romulus/forms/init.py", line 8, in
from forms.search import SearchForm
File "/home/pi/pi_romulus/forms/search.py", line 12, in
from api.providers import EmuApi
File "/home/pi/pi_romulus/api/providers/init.py", line 12, in
from .emuapi import EmuApi
File "/home/pi/pi_romulus/api/providers/emuapi.py", line 17, in
from api.base import Api
File "/home/pi/pi_romulus/api/base.py", line 24, in
from io_utils.compression import Compression
File "/home/pi/pi_romulus/io_utils/compression.py", line 12, in
import py7zlib
ImportError: No module named py7zlib
and installing gives this
pi@retropie:~/pi_romulus $ sudo pip install -r requirements.txt
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in
load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 356, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2476, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2190, in load
['name'])
File "/usr/lib/python2.7/dist-packages/pip/init.py", line 74, in
from pip.vcs import git, mercurial, subversion, bazaar # noqa
File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in
from pip.download import path_to_url
File "/usr/lib/python2.7/dist-packages/pip/download.py", line 25, in
from requests.compat import IncompleteRead
ImportError: cannot import name IncompleteRead
Installing pi_romulus following the instructions produces the following error when attempting to start the app:
Traceback (most recent call last): File "romulus.py", line 8, in <module> import npyscreen as npyscreen ImportError: No module named npyscreen
Currently, Pi_romulus uses Emuparadise. There is however no failsafe, or check for the event that the website should change. This needs fixing. At the very least there should be a warning for the user, and that the dev is notified.
this is the logs
thx
File "romulus.py", line 43, in
app.run()
File "/usr/local/lib/python2.7/dist-packages/npyscreen/apNPSApplication.py", line 30, in run
return npyssafewrapper.wrapper(self.__remove_argument_call_main)
File "/usr/local/lib/python2.7/dist-packages/npyscreen/npyssafewrapper.py", line 41, in wrapper
wrapper_no_fork(call_function)
File "/usr/local/lib/python2.7/dist-packages/npyscreen/npyssafewrapper.py", line 97, in wrapper_no_fork
return_code = call_function(_SCREEN)
File "/usr/local/lib/python2.7/dist-packages/npyscreen/apNPSApplication.py", line 25, in __remove_argument_call_main
return self.main()
File "/usr/local/lib/python2.7/dist-packages/npyscreen/apNPSApplicationManaged.py", line 174, in main
self._THISFORM.afterEditing()
File "/home/pi/RetroPie-Setup/pi_romulus/forms/results.py", line 30, in afterEditing
selection = self.parentApp.RESULTS[selected_option]
KeyError: None
I just got this to try it out, It works well but does not work with all systems on the RPI. I tried with Nintendo DS and it downloaded them into the pi_romulus folder, so I went into directory_utils.py and added it there but this did not make it move the downloaded NDS games into the nds folder. I also added it into /home/pi/pi_romulus/api/resultitem.py
Another issue I noticed, emuparadise compresses some games into rar like psx the downloaded rar goes into the roms folder but not roms/psx and not unpacked
Hi,
Since few days, i notice pi_romulus download stop working.
I was using, and it working very fine before !
python program run correctly, showing search results roms as usualy.
After selecting rom, download windows appear, and back to main menu after 10 seconds.
I try with some roms, and result is same.
What log files should i check and report content here ?
Sorry for my english ;-)
Regards
As per email, the following issue has come to my attention:
For large roms, the raspberry pi will run out of memory.
Thanks Robin Eberhard for pointing this out.
Hello Arthur.
instead of using retropie, I use lakka, another retro gaming platform. Is there any way I can modify the script so that the roms get downloaded to different locations?
Thank you.
It has been brought to my attention that Emuparadise requires a referrer.
Thanks Robin Eberhard for pointing this out.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.