Hacking [Release] GUI for FunKiiU

pyrofool

Active Member
OP
Newcomer
Joined
Apr 29, 2012
Messages
32
Trophies
1
XP
1,317
Country
United States
This is a frontend for FunKiiu.

Why? Because I wanted to and figured others might want to use it.

Thanks to cearp, cerea1killer and dojafoja.

https://github.com/christopher-roelofs/FunKiiUFrontend/releases/

Features:

search input
multiple downloads at once (change in settings)
RSS feed for title key site

Download and run frontend.py

Requirements:
python 2.7 with tkinter (should be in most distributions of python)

Things I might/want to do in the future:

A̶d̶d̶ ̶a̶ ̶c̶a̶n̶c̶e̶l̶ ̶o̶f̶ ̶c̶u̶r̶r̶e̶n̶t̶ ̶o̶r̶ ̶o̶n̶e̶ ̶o̶f̶ ̶t̶h̶e̶ ̶q̶u̶e̶u̶e̶d̶ ̶d̶o̶w̶n̶l̶o̶a̶d̶s̶ --done
Add a Library tab to list all games in a specific folder and show information (may not be same dir as downloads)
FTP. might end up in the same tab as library
Copy game/s to location. probably end up in the same spot as ftp.
Full wiiutdb info. --partially done in v1.4 (shows description of some games). Need a better way to link the gameid from wiiutdb to the game in titlekeys.json

Changelog

5-2-17
Stop download right away when canceling.
Remove game folder when canceled or failed.

4-30-17 v1.4
Preliminary wiiutdb support. Need better way to link 4-6 char id from wiiutdb to titlekeys.json.
Add ability to cancel downloads.
Add download_file to process_title_id class in FunKiiUmod and hook to callback log.

4-29-17 v1.3
Fork FunKiiU into FunKiiUmod.
Fix more unicode issues.
Show percent downloaded.
Improve wording of settings descriptions.
Handle cancel button for setting download directory.

4-24-17 v1.2.1
change startup threads a bit
update patch demo/dlc descriptions
add "compiled" versions for Windows and Linux

4-19-17 v1.2
inlcude modified FunKiiU until I refactor it later

4-19-17 v1.1
fix imports for FunKiiU

4-19-17 v1.0
initial release

screen1.png screen2.png settings.png
 
Last edited by pyrofool,

an07her

Well-Known Member
Member
Joined
Apr 9, 2014
Messages
117
Trophies
0
XP
203
Country
United States
Looks great. Thank you for developing this. It will be useful.:grog:
P.S. What does "patch demos" and "patch DLC" do?
 
Last edited by an07her,

pyrofool

Active Member
OP
Newcomer
Joined
Apr 29, 2012
Messages
32
Trophies
1
XP
1,317
Country
United States
  • Like
Reactions: pelago

dojafoja

life elevated
Member
Joined
Jan 2, 2014
Messages
696
Trophies
1
XP
2,607
Country
Yep. There were a couple things I wanted to change and decided to write my own. Mainly multiple downloads at once and having a listbox with search.
Always good to see more varieties. You've added some nice features in there. I honestly lost interest in my FunKii-UI project. With limited time on my hands, I would try and implement so many features at once and things tend to get sloppy fast when I do that. Right now I have zero time to fix some of the issues so this is definitely a good thing that you've decided to write this. Also, thanks for writing it in Python. Someone else wrote a gui for FunKiiU in .NET and no disrespect but I felt like a Python tool deserved a Python GUI just to keep everything cross platform and maintain that essence of Python. Good work!
 
  • Like
Reactions: pelago

pyrofool

Active Member
OP
Newcomer
Joined
Apr 29, 2012
Messages
32
Trophies
1
XP
1,317
Country
United States
Always good to see more varieties. You've added some nice features in there. I honestly lost interest in my FunKii-UI project. With limited time on my hands, I would try and implement so many features at once and things tend to get sloppy fast when I do that. Right now I have zero time to fix some of the issues so this is definitely a good thing that you've decided to write this. Also, thanks for writing it in Python. Someone else wrote a gui for FunKiiU in .NET and no disrespect but I felt like a Python tool deserved a Python GUI just to keep everything cross platform and maintain that essence of Python. Good work!

Thanks! I know what you mean about starting to get sloppy. I would like to go back and clean some things up later. I also want to update FunKiiU to make it more like a standalone library to make it easier to integrate.
 

dojafoja

life elevated
Member
Joined
Jan 2, 2014
Messages
696
Trophies
1
XP
2,607
Country
Thanks! I know what you mean about starting to get sloppy. I would like to go back and clean some things up later. I also want to update FunKiiU to make it more like a standalone library to make it easier to integrate.
I also had plans for better integrating FunKiiU and have actually made decent progress but I lost interest and haven't pushed any of my working copies to github. Even simple changes like having process_title_id() return True on successful downloads instead of implicitly returning None. I also had it reporting download progress to the GUI. I tried implementing multi threaded downloading but I got in over my head with that one lol. Either way thanks for contributing.
 
  • Like
Reactions: pelago

pelago

Member
Member
Joined
Feb 20, 2006
Messages
1,019
Trophies
0
XP
565
Country
I also had plans for better integrating FunKiiU and have actually made decent progress but I lost interest and haven't pushed any of my working copies to github. Even simple changes like having process_title_id() return True on successful downloads instead of implicitly returning None. I also had it reporting download progress to the GUI. I tried implementing multi threaded downloading but I got in over my head with that one lol. Either way thanks for contributing.
I totally understand about the problems of having enough time, and/or losing interest. It would be really great if you could push your FunKiiU changes, even if in half-completed state, for someone else (maybe the OP) to work on. I really think it's good to have an open-source and cross-platform alternative to things with Wii U USB Helper, good as it is, and tighter integration between a GUI and the command-line app would be part of this.
 
Last edited by pelago,

pyrofool

Active Member
OP
Newcomer
Joined
Apr 29, 2012
Messages
32
Trophies
1
XP
1,317
Country
United States
Queue doesn't work for me. They just stay queued.

Is that with the newest version that has the binaries? I did notice an issue with the multiple downloads after I put the release up. Maybe try the previous version. I won't be able to check it out until after next week.
 

an07her

Well-Known Member
Member
Joined
Apr 9, 2014
Messages
117
Trophies
0
XP
203
Country
United States
No, it's the 1.2 python version. I'm gonna try the 1.2.1.

P.S. Still the same.

Code:
Unhandled exception in thread started by <function download_games at 0x00000000037D03C8>
Traceback (most recent call last):
  File "downloader.py", line 27, in download_games
    download.start()
  File "downloader.py", line 66, in start
    log("downloading:" + self.game.listname)
  File "logger.py", line 8, in log
    print(time.strftime("%I:%M:%S") + ": " + msg)
  File "C:\Python27\lib\encodings\cp866.py", line 12, in encode
    return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u2122' in position 36: character maps to <undefined>
-----
Unhandled exception in thread started by <function download_games at 0x00000000035C03C8>
Traceback (most recent call last):
  File "downloader.py", line 27, in download_games
    download.start()
  File "downloader.py", line 66, in start
    log("downloading:" + self.game.listname)
  File "logger.py", line 8, in log
    print(time.strftime("%I:%M:%S") + ": " + msg)
  File "C:\Python27\lib\encodings\cp866.py", line 12, in encode
    return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u2122' in position 42: character maps to <undefined>

I think this happens on games with : and TM characters.
 
Last edited by an07her,

pyrofool

Active Member
OP
Newcomer
Joined
Apr 29, 2012
Messages
32
Trophies
1
XP
1,317
Country
United States
No, it's the 1.2 python version. I'm gonna try the 1.2.1.

P.S. Still the same.

Code:
Unhandled exception in thread started by <function download_games at 0x00000000037D03C8>
Traceback (most recent call last):
  File "downloader.py", line 27, in download_games
    download.start()
  File "downloader.py", line 66, in start
    log("downloading:" + self.game.listname)
  File "logger.py", line 8, in log
    print(time.strftime("%I:%M:%S") + ": " + msg)
  File "C:\Python27\lib\encodings\cp866.py", line 12, in encode
    return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u2122' in position 36: character maps to <undefined>
-----
Unhandled exception in thread started by <function download_games at 0x00000000035C03C8>
Traceback (most recent call last):
  File "downloader.py", line 27, in download_games
    download.start()
  File "downloader.py", line 66, in start
    log("downloading:" + self.game.listname)
  File "logger.py", line 8, in log
    print(time.strftime("%I:%M:%S") + ": " + msg)
  File "C:\Python27\lib\encodings\cp866.py", line 12, in encode
    return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u2122' in position 42: character maps to <undefined>

I think this happens on games with : and TM characters.

Thanks. I had some issues with Unicode that I kind of just worked around and it looks like it doesn't work everywhere. I'll have to figure out the right way to do it. I also reverted the threaded download code. I rewrote it last minute before ver 1.0 and I guess I didn't test it enough. I'll be working on the Unicode stuff this weekend.
 
  • Like
Reactions: pelago

dojafoja

life elevated
Member
Joined
Jan 2, 2014
Messages
696
Trophies
1
XP
2,607
Country
Thanks. I had some issues with Unicode that I kind of just worked around and it looks like it doesn't work everywhere. I'll have to figure out the right way to do it. I also reverted the threaded download code. I rewrote it last minute before ver 1.0 and I guess I didn't test it enough. I'll be working on the Unicode stuff this weekend.
You can check out my latest pull request in the official FunKiiU github here https://github.com/llakssz/FunKiiU/pull/31 to get an idea on how I modified log() to handle all the Unicode errors. It works in all my testing on python 2 and python3
 
  • Like
Reactions: pelago

pyrofool

Active Member
OP
Newcomer
Joined
Apr 29, 2012
Messages
32
Trophies
1
XP
1,317
Country
United States
You can check out my latest pull request in the official FunKiiU github here https://github.com/llakssz/FunKiiU/pull/31 to get an idea on how I modified log() to handle all the Unicode errors. It works in all my testing on python 2 and python3

Awesome. Thanks. I updated the logger. I also set it to default utf-8 if the system encoding was not set which was the case when running with the binary made with pyinstaller.

@an07her When you get a chance, download a zip of the master branch and see if it fixes your issue.

edit - ver 1.3 should have the fix plus some extras in it.
 
Last edited by pyrofool,
  • Like
Reactions: dojafoja

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Julie_Pilgrim @ Julie_Pilgrim: @Psionic Roshambo i have 16 gb in my pc and i run into issues with ram more than i'd like to admit