Code Monkey home page Code Monkey logo

undertaker141's Introduction

UnderTaker141

This project is for educational purposes only, do not use it against any law or to harm anyone, I will not be responsible for any misuse of this project.

UnderTaker141 (very creative name)

UnderTaker is a free and opensource game-center and qbittorrent client for Linux, UnderTaker141 fetches all the repacks uploaded by johncena141 on 1337x, then fetch their summary and cover art from IGDB and displayes them in a "nice" UI :3.

just download the game and run it! everything is pre-configuired for you thank's to johncena141 repacks!

IMPORTANT

  • please read johncena141's guide to understand more about how their repacks work, and double check the dependencies for their repacks

  • if you are using a VPN, do not forget to set the network interface in qbittorent to your VPN interface.

Dependencies

  • appimage launcher
  • latest qbitorent with webui enabled
  • all the dependencies for johncena141's repacks (check their guide

Installation

  • download the latest release from here
  • run the appimage and enjoy!

Configuration

after you run the appimage head to the settings tab.

qbittorent

  • enter your qbittorent webui host (default is localhost)
  • enter your qbittorent webui port (default is 8080)
  • enter your qbittorent webui username (default is admin)
  • enter your qbittorent webui password (default is adminadmin)

Igdb

  • create a twitch api app and get a client id and from here

Updating the database

to update the database and fetch new releases by jc141 head to the settings tab and click on the "update database" button, this will take a few minutes and will freeze the app (and might freeze your system), just wait until it finishes and everything will return to normal.

undertaker141's People

Contributors

abdelrhmannile avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

undertaker141's Issues

Geting "IndexError: list index out of range"

Describe the bug
The app crashes after opening whenever the qBittorrent client is open (or if it has some torrent downloading). It also crashes when trying to download any game, sending the download command to qBittorrent before closing.
I've tried with both flatpak and rpm versions of qBittorrent

To Reproduce
Steps to reproduce the behavior:

  1. Try download any game.
  2. Crash

Expected behavior
It shouldn't crash, dead simple.

Desktop (please complete the following information):

  • OS: Fedora 38

EDIT: Running latest version 2.1.1 released 3 hours ago at the time of writing.

Additional context

[DEBUG  ] Login successful
[DEBUG  ] [http          ]//localhost:8080 "POST /api/v2/torrents/info HTTP/1.1" 200 826
 Traceback (most recent call last):
   File "/tmp/.mount_UnderTJ1Xx82/opt/src/app.py", line 19, in <module>
     UnderTaker141().run()
   File "/tmp/.mount_UnderTJ1Xx82/opt/python3.11/lib/python3.11/site-packages/kivy/app.py", line 955, in run
     self._run_prepare()
   File "/tmp/.mount_UnderTJ1Xx82/opt/python3.11/lib/python3.11/site-packages/kivy/app.py", line 925, in _run_prepare
     root = self.build()
            ^^^^^^^^^^^^
   File "/tmp/.mount_UnderTJ1Xx82/opt/src/app.py", line 16, in build
     return MainScreen(__version__)
            ^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderTJ1Xx82/opt/src/widgets/core/core.py", line 56, in __init__
     self.load_screens()
   File "/tmp/.mount_UnderTJ1Xx82/opt/src/widgets/core/core.py", line 126, in load_screens
     screen = screen_class(name=plugin.name, qbt_client=self.qbt_client) # create instance of a screen class
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderTJ1Xx82/opt/src/screens/library.py", line 37, in __init__
     self.load_library()
   File "/tmp/.mount_UnderTJ1Xx82/opt/src/screens/library.py", line 48, in load_library
     self.layout.add_widget(GameLibraryCard(game_torrent=game, qbt_client=self.qbt_client))            
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderTJ1Xx82/opt/src/widgets/game/game.py", line 85, in __init__
     self.game_obj = self.query_game(self.game_name)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderTJ1Xx82/opt/src/widgets/game/game.py", line 183, in query_game
     return db.get_game(partial_name)[0]
            ~~~~~~~~~~~~~~~~~~~~~~~~~^^^
 IndexError: list index out of range

Appimage opens for a second and closes immediately on SteamOS

When trying to launch the appimage, it closes after about 2 seconds. I've copied my log from console.

[INFO   ] [Logger      ] Record log in /home/deck/.kivy/logs/kivy_23-09-07_6.txt
[INFO   ] [Kivy        ] v2.2.1
[INFO   ] [Kivy        ] Installed at "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/site-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.11.4 (main, Aug  6 2023, 22:32:50) [GCC 10.2.1 20210130 (Red Hat 10.2.1-11)]
[INFO   ] [Python      ] Interpreter at "/home/deck/Downloads/UnderTaker141.AppImage"
[INFO   ] [Logger      ] Purge log fired. Processing...
[INFO   ] [Logger      ] Purge finished!
[INFO   ] [KivyMD      ] 1.1.1, git-Unknown, 2023-09-06 (installed at "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/site-packages/kivymd/__init__.py")
[INFO   ] [Factory     ] 190 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL" graphics system
[INFO   ] [GL          ] Backend used <sdl2>
[INFO   ] [GL          ] OpenGL version <b'4.6 (Compatibility Profile) Mesa 22.2.0 (git-17e5312102)'>
[INFO   ] [GL          ] OpenGL vendor <b'AMD'>
[INFO   ] [GL          ] OpenGL renderer <b'AMD Custom GPU 0405 (vangogh, LLVM 14.0.6, DRM 3.45, 5.13.0-valve37-1-neptune)'>
[INFO   ] [GL          ] OpenGL parsed version: 4, 6
[INFO   ] [GL          ] Shading version <b'4.60'>
[INFO   ] [GL          ] Texture max size <16384>
[INFO   ] [GL          ] Texture max units <32>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
sh: line 1: qbittorrent: command not found
[DEBUG  ] Re-initializing context...
sh: line 1: qbittorrent: command not found
[DEBUG  ] Re-initializing context...
[INFO   ] [Clipboard   ] Provider: sdl2(['clipboard_xclip', 'clipboard_xsel', 'clipboard_dbusklipper', 'clipboard_gtk3'] ignored)
[CRITICAL] [Cutbuffer   ] Unable to find any valuable Cutbuffer provider. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes
xclip - FileNotFoundError: [Errno 2] No such file or directory: 'xclip'
  File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
    mod = importlib.__import__(name='{2}.{0}.{1}'.format(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1283, in __import__
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/site-packages/kivy/core/clipboard/clipboard_xclip.py", line 17, in <module>
    p = subprocess.Popen(['xclip', '-version'], stdout=subprocess.PIPE,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/subprocess.py", line 1950, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)

xsel - FileNotFoundError: [Errno 2] No such file or directory: 'xsel'
  File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
    mod = importlib.__import__(name='{2}.{0}.{1}'.format(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1283, in __import__
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/site-packages/kivy/core/clipboard/clipboard_xsel.py", line 16, in <module>
    p = subprocess.Popen(['xsel'], stdout=subprocess.PIPE)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/subprocess.py", line 1950, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)

[INFO   ] [Loader      ] using a thread pool of 2 workers
[DEBUG  ] [Parsed user URL] ParseResult(scheme='', netloc='localhost', path='', params='', query='', fragment='')
[DEBUG  ] Detecting scheme for URL...
[DEBUG  ] [Starting new HTTP connection (1)] localhost:8080
[DEBUG  ] [http          ]//localhost:8080 "HEAD / HTTP/1.1" 200 0
[DEBUG  ] Using HTTP scheme
[DEBUG  ] [Base URL    ] http://localhost:8080/
[DEBUG  ] [Starting new HTTP connection (1)] localhost:8080
[DEBUG  ] [http          ]//localhost:8080 "POST /api/v2/torrents/info HTTP/1.1" 404 0
 Traceback (most recent call last):
   File "/tmp/.mount_UnderT7AvCtk/opt/src/app.py", line 19, in <module>
     UnderTaker141().run()
   File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/site-packages/kivy/app.py", line 955, in run
     self._run_prepare()
   File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/site-packages/kivy/app.py", line 925, in _run_prepare
     root = self.build()
            ^^^^^^^^^^^^
   File "/tmp/.mount_UnderT7AvCtk/opt/src/app.py", line 16, in build
     return MainScreen()
            ^^^^^^^^^^^^
   File "/tmp/.mount_UnderT7AvCtk/opt/src/widgets/core/core.py", line 42, in __init__
     self.load_screens()
   File "/tmp/.mount_UnderT7AvCtk/opt/src/widgets/core/core.py", line 102, in load_screens
     screen = screen_class(name=plugin.name) # create instance of a screen class
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderT7AvCtk/opt/src/screens/library.py", line 39, in __init__
     self.load_library()
   File "/tmp/.mount_UnderT7AvCtk/opt/src/screens/library.py", line 44, in load_library
     torrs = qbt.get_torrents()
             ^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderT7AvCtk/opt/src/utils/qbt.py", line 25, in get_torrents
     return self.qbt_client.torrents_info(tag="jc141")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/site-packages/qbittorrentapi/decorators.py", line 117, in wrapper
     return func(client, *args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/site-packages/qbittorrentapi/decorators.py", line 91, in wrapper
     return func(client, *args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/site-packages/qbittorrentapi/torrents.py", line 1801, in torrents_info
     return self._post(
            ^^^^^^^^^^^
   File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/site-packages/qbittorrentapi/request.py", line 390, in _post
     return self._request_manager(
            ^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/site-packages/qbittorrentapi/request.py", line 465, in _request_manager
     return self._request(
            ^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/site-packages/qbittorrentapi/request.py", line 542, in _request
     self._handle_error_responses(data, params, response)
   File "/tmp/.mount_UnderT7AvCtk/opt/python3.11/lib/python3.11/site-packages/qbittorrentapi/request.py", line 773, in _handle_error_responses
     raise NotFound404Error(error_message)
     qbittorrentapi.exceptions.NotFound404Error

Debrid support

Is your feature request related to a problem? Please describe.
i like to not be harrassed by lawyers

Describe the solution you'd like
in some countries using torrents is out of the question,Debrid services came to save the day. if this client could interface with the alldebrid or realdebrid API it would make using it safer for people in those countries(like Stremio and others do)

Describe alternatives you've considered
using a vpn is an option but in my opinion is much more risky

Additional context

LinuxRuleZ and Debrid support

I haven't tried the program yet but I really like the idea ๐Ÿ‘

Is your feature request related to a problem? Please describe.
No but it would expand the catalog a bit and provide access to "all" cracked games for Linux, I think :)

Describe the solution you'd like
I'd like for LinuxRuleZ to also be supported. He is releasing pre-configured and ready to play games on Torrminatorr

Describe alternatives you've considered
None. I don't know anyone besides LinuxRuleZ and johncena14 releasing games for Linux.

Additional contexthttps://real-debrid.com/
Futhermore, support for Debrid services such as Real-Debrid (Insterad of qBittorrent), would allow for me to use this program, since that's how I get my Torrents/Files - Real Debrid kinda acts like a tool to convert torrents into DLL files while caching them on their servers, so everyone with the service has access to the cached file.

Also, I completely understand if this is not possible or even wanted, I just though it would be cool :) ... A Flatpak would also be nice but that might deserve it's own thread.

Question about Twitch Client ID & Secret

Hello there, I just saw your software and it seems very interesting to use, only issue I have with this is the mention of the Twitch ID & Secret in the readme.

My question is : Is it mandatory for the use of the app, and if yes, what do you use the ID for ?

Getting a 404 :)

Describe the bug
Getting a 404 that crashes the app!

To Reproduce
Open the app!

Desktop (please complete the following information):

  • OS: Steam Deck

Additional context

INFO   ] [Loader      ] using a thread pool of 2 workers
[DEBUG  ] [Parsed user URL] ParseResult(scheme='', netloc='localhost', path='', params='', query='', fragment='')
[DEBUG  ] Detecting scheme for URL...
[DEBUG  ] [Starting new HTTP connection (1)] localhost:8080
[DEBUG  ] [http          ]//localhost:8080 "HEAD / HTTP/1.1" 200 0
[DEBUG  ] Using HTTP scheme
[DEBUG  ] [Base URL    ] http://localhost:8080/
[DEBUG  ] [Starting new HTTP connection (1)] localhost:8080
[DEBUG  ] [http          ]//localhost:8080 "POST /api/v2/torrents/info HTTP/1.1" 404 0
 Traceback (most recent call last):
   File "/tmp/.mount_UnderTtiZQaA/opt/src/app.py", line 12, in <module>
     UnderTaker141().run()
   File "/tmp/.mount_UnderTtiZQaA/opt/python3.11/lib/python3.11/site-packages/kivy/app.py", line 955, in run
     self._run_prepare()
   File "/tmp/.mount_UnderTtiZQaA/opt/python3.11/lib/python3.11/site-packages/kivy/app.py", line 925, in _run_prepare
     root = self.build()
            ^^^^^^^^^^^^
   File "/tmp/.mount_UnderTtiZQaA/opt/src/app.py", line 9, in build
     return MainScreen()
            ^^^^^^^^^^^^
   File "/tmp/.mount_UnderTtiZQaA/opt/src/widgets/core/core.py", line 41, in __init__
     self.load_screens()
   File "/tmp/.mount_UnderTtiZQaA/opt/src/widgets/core/core.py", line 101, in load_screens
     screen = screen_class(name=plugin.name) # create instance of a screen class
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderTtiZQaA/opt/src/screens/library.py", line 41, in __init__
     self.load_library()
   File "/tmp/.mount_UnderTtiZQaA/opt/src/screens/library.py", line 46, in load_library
     torrs = qbt.get_torrents()
             ^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderTtiZQaA/opt/src/utils/qbt.py", line 25, in get_torrents
     return self.qbt_client.torrents_info(tag="jc141")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderTtiZQaA/opt/python3.11/lib/python3.11/site-packages/qbittorrentapi/decorators.py", line 117, in wrapper
     return func(client, *args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderTtiZQaA/opt/python3.11/lib/python3.11/site-packages/qbittorrentapi/decorators.py", line 91, in wrapper
     return func(client, *args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderTtiZQaA/opt/python3.11/lib/python3.11/site-packages/qbittorrentapi/torrents.py", line 1801, in torrents_info
     return self._post(
            ^^^^^^^^^^^
   File "/tmp/.mount_UnderTtiZQaA/opt/python3.11/lib/python3.11/site-packages/qbittorrentapi/request.py", line 390, in _post
     return self._request_manager(
            ^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderTtiZQaA/opt/python3.11/lib/python3.11/site-packages/qbittorrentapi/request.py", line 465, in _request_manager
     return self._request(
            ^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderTtiZQaA/opt/python3.11/lib/python3.11/site-packages/qbittorrentapi/request.py", line 542, in _request
     self._handle_error_responses(data, params, response)
   File "/tmp/.mount_UnderTtiZQaA/opt/python3.11/lib/python3.11/site-packages/qbittorrentapi/request.py", line 773, in _handle_error_responses
     raise NotFound404Error(error_message)
 qbittorrentapi.exceptions.NotFound404Error

Updating database crashes the app.

Describe the bug
Crashes whenever I try to update the database

To Reproduce
Steps to reproduce the behavior:

  1. Arch linux, with all needed dependencies installed
  2. Click on settings and then click update database
  3. The app Crashes

Expected behavior
Database update should have been completed instead the app crashes.

Desktop (please complete the following information):

  • OS: [Arch Linux x86_64 6.5.5-arch1-1 ]

IndexError: list index out of range

Downloading Blasphemous 2 resulted in the following error

Traceback (most recent call last):                                                                                                                                                                                                           
   File "/tmp/.mount_UnderTsv4Mio/opt/src/app.py", line 19, in <module>                                                                                                                                                                       
     UnderTaker141().run()                                                                                                                                                                                                                    
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/app.py", line 956, in run                                                                                                                                  
     runTouchApp()                                                                                                                                                                                                                            
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/base.py", line 574, in runTouchApp                                                                                                                         
     EventLoop.mainloop()                                                                                                                                                                                                                     
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/base.py", line 339, in mainloop                                                                                                                            
     self.idle()                                                                                                                                                                                                                              
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/base.py", line 383, in idle         
     self.dispatch_input()                                 
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/base.py", line 334, in dispatch_input
     post_dispatch_input(*pop(0))                          
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/base.py", line 263, in post_dispatch_input
     listener.dispatch('on_motion', etype, me)                                                                         
   File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch                                           
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/core/window/__init__.py", line 1691, in on_motion
     self.dispatch('on_touch_down', me)                                                                                
   File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch                                           
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/core/window/__init__.py", line 1708, in on_touch_down
     if w.dispatch('on_touch_down', touch):                                                                            
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                             
   File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch                                           
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/uix/modalview.py", line 266, in on_touch_down
     super().on_touch_down(touch)                          
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/uix/widget.py", line 589, in on_touch_down
     if child.dispatch('on_touch_down', touch):                                                                        
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                         
   File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch                                           
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivymd/uix/behaviors/ripple_behavior.py", line 352, in on_touch_down
     super().on_touch_down(touch)                          
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/uix/behaviors/button.py", line 138, in on_touch_down
     if super(ButtonBehavior, self).on_touch_down(touch):                                                              
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                               
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/uix/widget.py", line 589, in on_touch_down
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/uix/widget.py", line 589, in on_touch_down
     if child.dispatch('on_touch_down', touch):
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/uix/widget.py", line 589, in on_touch_down
     if child.dispatch('on_touch_down', touch):
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/uix/widget.py", line 589, in on_touch_down
     if child.dispatch('on_touch_down', touch):
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivymd/uix/button/button.py", line 1173, in on_touch_down
     return super().on_touch_down(touch)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivymd/uix/behaviors/ripple_behavior.py", line 352, in on_touch_down
     super().on_touch_down(touch)
   File "/tmp/.mount_UnderTsv4Mio/opt/python3.11/lib/python3.11/site-packages/kivy/uix/behaviors/button.py", line 151, in on_touch_down
     self.dispatch('on_press')
   File "kivy/_event.pyx", line 727, in kivy._event.EventDispatcher.dispatch
   File "kivy/_event.pyx", line 1307, in kivy._event.EventObservers.dispatch
   File "kivy/_event.pyx", line 1231, in kivy._event.EventObservers._dispatch
   File "/tmp/.mount_UnderTsv4Mio/opt/src/widgets/game/game.py", line 73, in download
     library.layout.add_widget(GameLibraryCard(game_torrent=qbt.get_torrent(self.magnet)))
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderTsv4Mio/opt/src/widgets/game/game.py", line 84, in __init__
     self.game_obj = db.get_game(self.game_name)[0]
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
 IndexError: list index out of range
                                                                                                                                                                                                 

launcher failed to open on Linux Mint

rexton@LinuxMint:~/Downloads$ ./UnderTaker141.AppImage 
[INFO   ] [Logger      ] Record log in /home/rexton/.kivy/logs/kivy_23-10-14_2.txt
[INFO   ] [Kivy        ] v2.2.1
[INFO   ] [Kivy        ] Installed at "/tmp/.mount_UnderTEUAlqB/opt/python3.11/lib/python3.11/site-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.11.4 (main, Aug  6 2023, 22:32:50) [GCC 10.2.1 20210130 (Red Hat 10.2.1-11)]
[INFO   ] [Python      ] Interpreter at "/home/rexton/Downloads/UnderTaker141.AppImage"
[INFO   ] [Logger      ] Purge log fired. Processing...
[INFO   ] [Logger      ] Purge finished!
[INFO   ] [KivyMD      ] 1.1.1, git-Unknown, 2023-09-29 (installed at "/tmp/.mount_UnderTEUAlqB/opt/python3.11/lib/python3.11/site-packages/kivymd/__init__.py")
[INFO   ] [Factory     ] 190 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL" graphics system
[INFO   ] [GL          ] Backend used <sdl2>
[INFO   ] [GL          ] OpenGL version <b'4.6 (Compatibility Profile) Mesa 23.2.0-devel'>
[INFO   ] [GL          ] OpenGL vendor <b'AMD'>
[INFO   ] [GL          ] OpenGL renderer <b'AMD Radeon RX 6600 XT (navi23, LLVM 16.0.6, DRM 3.54, 5.15.0-86-generic)'>
[INFO   ] [GL          ] OpenGL parsed version: 4, 6
[INFO   ] [GL          ] Shading version <b'4.60'>
[INFO   ] [GL          ] Texture max size <16384>
[INFO   ] [GL          ] Texture max units <32>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
 Traceback (most recent call last):
   File "/tmp/.mount_UnderTEUAlqB/opt/src/app.py", line 19, in <module>
     UnderTaker141().run()
   File "/tmp/.mount_UnderTEUAlqB/opt/python3.11/lib/python3.11/site-packages/kivy/app.py", line 955, in run
     self._run_prepare()
   File "/tmp/.mount_UnderTEUAlqB/opt/python3.11/lib/python3.11/site-packages/kivy/app.py", line 925, in _run_prepare
     root = self.build()
            ^^^^^^^^^^^^
   File "/tmp/.mount_UnderTEUAlqB/opt/src/app.py", line 9, in build
     check_config()
   File "/tmp/.mount_UnderTEUAlqB/opt/src/utils/settings.py", line 28, in check_config
     user_name = os.getlogin()
                 ^^^^^^^^^^^^^
 OSError: [Errno 6] No such device or address

Error running appimage

Describe the bug

   File "/tmp/.mount_UnderT8Io2Py/opt/src/app.py", line 19, in <module>
     UnderTaker141().run()
   File "/tmp/.mount_UnderT8Io2Py/opt/python3.11/lib/python3.11/site-packages/kivy/app.py", line 955, in run
     self._run_prepare()
   File "/tmp/.mount_UnderT8Io2Py/opt/python3.11/lib/python3.11/site-packages/kivy/app.py", line 925, in _run_prepare
     root = self.build()
            ^^^^^^^^^^^^
   File "/tmp/.mount_UnderT8Io2Py/opt/src/app.py", line 16, in build
     return MainScreen(__version__)
            ^^^^^^^^^^^^^^^^^^^^^^^
   File "/tmp/.mount_UnderT8Io2Py/opt/src/widgets/core/core.py", line 27, in __init__
     self.qbt_client = JCQbt(settings["qbittorrent_api"]["host"],
                             ~~~~~~~~^^^^^^^^^^^^^^^^^^^
 TypeError: 'NoneType' object is not subscriptable

Desktop:

  • Arch Hyprland

Additional context
qbittorrent webui is enabled, and all the dependencies mentioned by johncena is installed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.