GeovanniMCh / ACO_WUP_DOWNLOADER

9 stars 10 forks source link

Please do not remove credits to original developers. #1

Closed dojafoja closed 5 years ago

dojafoja commented 5 years ago

In the world of free and open source software. It is considered disrespectful to remove the names of the original developers when modifying their work for redistribution under a different name. You can't just replace the icon and logo, translate English strings to Spanish and call it your own work. You took all credit away from me for Funkii-UI and the Funkiiu devs and gave all credits to you and your team. I'm totally fine with you modifying my work but please add credits in the Readme and in the source for the developers who's work you've taken. Thank you

GeovanniMCh commented 5 years ago

my dear friend I regret what happened I never wanted to take away your credits, I was trying to find a way to update the gui within the same tool but I will upload everything again and put the credits as they were at the beginning if you give me clear permission, if I do not erase everything and thanks for the warning

GeovanniMCh commented 5 years ago

already erase all true friend who regretted what happened

dojafoja commented 5 years ago

It's fine if you modify the program and use it how you want. I'm not upset about any of that. All I'm saying is to include the names of original developers somewhere in the program and in the Readme file. It's the respectful thing to do. I spent many hours writing Funkii-UI. Cearp wrote FunkiiU originally and cerea1killer re-wrote it in cleaner Python code. I also contributed to FunkiiU as well as modified FunkiiU quite a bit to work with version 2.1.8 of Funkii-UI. Just include the developers names in the program and readme, everyone will be happy. Also please update the program being distributed at alucardianos.com to include proper credits. Thank you. I am not saying that you can not modify and redistribute Funkii-UI, it's just a matter of including credits in the program.

GeovanniMCh commented 5 years ago

this good friend thank you very much I will fix all the content of githut and the one that is distributed in alucardianos.com, the truth that of all the tools of downloading games funki ui is the best stable and light

dojafoja commented 5 years ago

Thank you and I appreciate the kind words. The goal of the program was to be lightweight, fast, stable and work on Windows, Mac, Linux, and in Python2 and Python3. I think it's good that there is a Spanish version floating around now. If you need help getting something to work just ask, I know this program better than anybody! Github is a community where we support and help other people with projects.

GeovanniMCh commented 5 years ago

if alucardianos.com and Alucardio Official Community on Facebook. they are a group of more than 5000 thousand members that look for food for their wiiu. my team and I have brought a lot of virtual console games injected into Spanish and other similar tools in Spanish, and the truth is that a developer as brilliant as you are who wants to support us would be something wonderful in order to grow more in this field. we do not want wiiu to die

GeovanniMCh commented 5 years ago

Greetings friend, I tried everything to be able to put dark mode to the gui that is no longer gray if not black as could be achieved

dojafoja commented 5 years ago

There are a lot of widgets in Funkii-UI and each widget will need to have a background and possibly a foreground color set. The easiest way to accomplish this is through the Style class so the style can be inherited for any particular widget. For example you can set the style for all frame widgets using something like: ttk.Style().configure("TFrame", background = "black") After this declaration, all Frame widgets should inherit a black background. You will need to do the same for all widgets you want to change. Let me know if you need more help. Remember that if you set a label to have a black background, you will need to change it to have a white foreground. Otherwise you won't be able to read the text because it will also be black. I hope this all makes sense. I'm better at writing code than I am at explaining it so if you still need more help, just let me know. Good luck.

dojafoja commented 5 years ago

I thought that I should also mention that you can use hex color codes too. So instead of background = "black" you can use background = "#000000"

dojafoja commented 5 years ago

You will also need to use the map method of the Style class to handle dynamic behavior such as color changes on active or selected widgets. For example when your mouse hovers over a button, separate colors can be defined. I will theme the entire program with a dark theme and you can use my code to create your own custom theme and play around with different colors yourself. It's actually very easy to do

GeovanniMCh commented 5 years ago

I can not enter the line for black your code is very complicated I was checking code with the PAGE program and it is totally different

dojafoja commented 5 years ago

I know it's complicated but it's not hard once you know what you are doing. I themed it for you in a dark/black theme. Look at this version here: http://www.mediafire.com/file/6kpfktvoqxdtoyq/themed_gui.py/file Everything is in the theme() method that starts on line 1622. You can play with different colors there.

GeovanniMCh commented 5 years ago

image have errors

dojafoja commented 5 years ago

Sorry, I've been working on some new features and you will need to use this guisettings.json here: http://www.mediafire.com/file/exja1f4513tjw4c/guisettings.json/file

GeovanniMCh commented 5 years ago

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information.

===== RESTART: C:\Users\Dafiorema\Desktop\FunKii-UI-2.1.8\themed_gui.py ===== Checking for program updates, this might take a few seconds.......

Traceback (most recent call last): File "C:\Users\Dafiorema\Desktop\FunKii-UI-2.1.8\themed_gui.py", line 1653, in root.attributes('-zoomed',True) File "C:\Users\Dafiorema\AppData\Local\Programs\Python\Python37-32\lib\tkinter__init__.py", line 1785, in wm_attributes return self.tk.call(args) _tkinter.TclError: wrong # args: should be "wm attributes window ?-alpha ?double?? ?-transparentcolor ?color?? ?-disabled ?bool?? ?-fullscreen ?bool?? ?-toolwindow ?bool?? ?-topmost ?bool??"

dojafoja commented 5 years ago

Oops lol. I have not tested any of my new code on Windows yet. I develop on Linux. I know the theme works but I guess some of my other code doesn't on Windows. Im booting up Windows 10 right now and I will fix it before I send it to you again, sorry friend. Give me 5 minutes.

dojafoja commented 5 years ago

OK I got the errors fixed on Windows. I also noticed that Windows is more restrictive with it's theming. The system theme was overriding a couple of elements causing them to look weird so I disabled them. It still looks really good though, even with the couple of elements that I had to disable. http://www.mediafire.com/file/diiotghbcc93uyy/themed_gui.py/file

GeovanniMCh commented 5 years ago

friend if it worked you are a genius my team and I have agreed to make a minimum donation of a weekly dollar for your contributions to the gui we have many ideas that only you can achieve, just pass us your PayPal account

dojafoja commented 5 years ago

Thank you and I really appreciate the offer but I'm not interested in taking any money from you guys. That's not why I do this. I truly believe in the heart and soul of free open source software and helping others when I can. I don't know how often I can help but I will try to help as much as possible. Please also remember that the Tkinter GUI toolkit used can be fairly limited sometimes. There are certain things that just can not be done using tkinter. I'm always willing to try though so let me know some of your ideas and I will see what I can do. If you upload the project again on Github I can fork it and send pull requests for code changes that I make while keeping up on any changes that your team has made.

GeovanniMCh commented 5 years ago

thank you very much for all the help we really want to collaborate although you do it with love and with the heart but we know that everything is work and time invested, also we have many ideas to improve the tool that the truth that our limited knowledge can not achieve,

dojafoja commented 5 years ago

All that's left to do is to implement the framework for the dual language support and do the actual translations. I have decided that the easiest way to do this is to map the translations in a separate file. I think that will be the easiest way without changing how the program works too much. Less code to write and less bugs to introduce. I think I can probably finish it tomorrow. I also decided to create a new branch of Funkii-UI where I can push my work, although I haven't actually pushed anything to it yet. It will be much easier to maintain changes that way.

GeovanniMCh commented 5 years ago

excellent bro you are a genius, the truth we are pleased that you continue working in such a wonderful tool, as I had mentioned before for us it is the best even more that the other options have been abandoned, and we do not want wiiu to die we believe that it still has a lot to give

dojafoja commented 5 years ago

It's taking me a little longer than I thought. I have added the support for mapping the different languages. It's currently hardcoded to Spanish mappings because I still need to add the option in the GUI. I'm also trying to implement a way so the languages can be changed without the need to restart the program. I also want to add an option to switch between dark theme and original theme. I will figure all of that out soon but for now I need your team to start the Spanish translations.

Here is a link to the new branch where I'm pushing all my changes: https://github.com/dojafoja/FunKii-UI/tree/dark_theme

Download this branch and you will see a file called translations.py. Open this file in any editor and you will see a section at the top where the Spanish mappings are located. There are phrases in English that need to be translated to Spanish. Anything that isn't translated will just be displayed in the program as English. Anywhere that you see something that looks like this {} in the phrases, this is where the program inserts data. For example if you see the phrase"Thread {} finished downloading {}.app for title {}" In the program this would say something like: "Thread 2 finished downloading 00054.app for title 00050000101ac700"

I will report back when I finish the other tasks. All of this is still highly untested and should be considered experimental until thorough testing is done. I've mapped all the strings to a different language and there are certain checks and comparisons in the program that rely on these strings. If I mapped everything correctly, it shouldn't be an issue. It's very possible that something might need to be fixed but we won't know until all the language translations are done.

GeovanniMCh commented 5 years ago

friend and I could review the material and the truth is that I am surprised with all the knowledge you have, I will start mapping the Spanish in translation code. my team is very grateful to you, in the page of alucardianos we made an exclusive section for the tool we are going to mention you there that we got collaboration from a renowned developer of githut and gbatemp.

GeovanniMCh commented 5 years ago

translations rev.zip done friend

dojafoja commented 5 years ago

Thank you, looks great!. I can already tell that I'm going to need to fix a few things because no games or updates are showing up in the list. Only DLC and Demo are showing up. I have already identified the problem and I will fix it later today when I get home from work.

GeovanniMCh commented 5 years ago

I know what is the error recognizes only DLC and demo because it is word in English game and update was translated and creates conflict

dojafoja commented 5 years ago

I pushed all my working files. The error was because I forgot to map a few strings in load_title_data(). I have 3 different themes added. Unfortunately you need to restart the program for language changes to take effect, for now. I may just leave it that way until I find more time to add support for changing it without restarting. I added a few more things to translate in the translations file as well if you could take a look at it. Thanks and let me know what you think so far.

GeovanniMCh commented 5 years ago

the gui works very well and it's good that you could aplocarle white, gray and black theme and the language change is great, but you have a problem I do not know if you deleted it but in the options it does not have the reset button configuration, and where it says that if you want to download at the start the ticket says yes or no and download if you are given in download send error in lines after.

Traceback (most recent call last): File "C:\Users\Dafiorema\Desktop\FunKii-UI-dark_theme\gui.py", line 1741, in root = RootWindow() File "C:\Users\Dafiorema\Desktop\FunKii-UI-dark_theme\gui.py", line 702, in init self.populate_selection_list() File "C:\Users\Dafiorema\Desktop\FunKii-UI-dark_theme\gui.py", line 925, in populate_selection_list if self.check_config_keysite(): File "C:\Users\Dafiorema\Desktop\FunKii-UI-dark_theme\gui.py", line 857, in check_config_keysite keysite = fnku.get_keysite() File "C:\Users\Dafiorema\Desktop\FunKii-UI-dark_theme\FunKiiU_mod.py", line 160, in get_keysite keysite = user_input_keysite() NameError: name 'user_input_keysite' is not defined

but if it's very nice everything

dojafoja commented 5 years ago

Ok that error was because the download button was clicked to download the titlekeys.json but there was no key site saved in the config.json file. I fixed that problem now. The other error where the reset settings button wasn't showing, I'm not sure why. Maybe you'r screen is too small? Maybe you need to maximize the window? I reduced the overall size of the Options and placed the reset button next to the save button instead of underneath it. Hopefully this will fix the problem. Thank you for helping me test everything. A lot of changes at once causes these kinds of problems. Check it out now and see if all the problems are fixed on your end.

Also, there are a few new items in the translations.py file that need to be translated.

GeovanniMCh commented 5 years ago

The team is already testing the new revision to see any possible errors.

another thing friend you think you can make a database with injected games.

example: that is a window equal to the downloads that shows a list of injected games that can be marked and give a button to go or something similar that can open the navigator to download from our mediafire servers.

something like zelda 1 = (shortener / mediafire.com ")

seeing that you can upload content to the gui of an extra file such as translations

GeovanniMCh commented 5 years ago

greetings bro we found an error the translation of a gui in English works well but in Spanish for the grammar and other words there are more words for their respective uses, line 85 is the word "update" which refers to game but in line 223 refers to updating gui. we would use in line 85 "Actualizacion" and in 223 "actualizar". In English, it would be useful for both, that's why it's difficult to learn Spanish

dojafoja commented 5 years ago

Ok. You are saying that in English we use the same word for the Noun AND the Verb of "update" but in Spanish you would use "actualizacion" for the Noun and "actualizar" for the Verb. Is this the only case that you have found of a word being used incorrectly? I've been working on adding support for downloading files from custom sources, such a your mediafire. I'm almost done and I will push new files soon. I will also fix the incorrect use of the "update" translation.

GeovanniMCh commented 5 years ago

friend another error that we found is that users who have a mini computer when opening the tool does not appear the box to enter the page of keys we do not know if it is the resolution of the central image. the other thing I do not know if in Linux it will be the same but in Windows it opens a console of mdos that could be hidden?

GeovanniMCh commented 5 years ago

and again thanks for the job what are you really doing that you are a pro in Python programming. I deeply desire to study that I started some online courses but it is pure theory

dojafoja commented 5 years ago

The image is a physical size and doesn't scale, that's probably the error and there is no way to fix that. The best solution for that is to open the config.json file and enter it manually.

If you change the file extension of gui.py to gui.pyw it will tell Python to run without invoking the console window.

dojafoja commented 5 years ago

You can learn Python yourself. That's what I did, I taught myself when I was 31 years old and I'm 36 now. I wrote a lot of Funkii-UI while I was learning still. That's why there is so much bad code 😝

dojafoja commented 5 years ago

I pushed all my working files. Its not 100% finished but very close. There are some things you need to know about hosting your own files to download with this program.

  1. There is a file called customsources.json that defines the Name, URL, and Size of the files that you want to have show up in the program.

  2. The URL to the file MUST be a direct download link. No redirected links. This might be a problem with mediafire because they don't provide direct download links for most file types. You can still get a direct download link by choosing to share the file, follow the link in your browser, and right-click on the download button, then select "copy link address". The problem is that I think these links will expire with services like mediafire. You would be better to host the files yourself with a paid service that provides direct download links.

  3. You need to put the exact size of the file, in bytes, in the customsources.json. This is for the download progress to be displayed in the GUI. I provided a file called get_sizes.py. When you run this file it will show you the exact size of every file in that directory. Put this file in a directory with all the files that you are going to host and run get_sizes.py. Use the sizes shown to enter in the customsources.json

GeovanniMCh commented 5 years ago

We will proceed to test the GUI with downloads. Then you mention bro that you can not use shorteners we have mediafire premiun

dojafoja commented 5 years ago

It might workwith mediafire Premium, I'm not sure. I just know that you need a direct download link. Think in mediafire you can click share, then more sharing options, then they might provide direct links with premium. Just give it a try and report back

dojafoja commented 5 years ago

If it doesn't work with the shorteners then I will try something different. I just read about something that might work with them.

GeovanniMCh commented 5 years ago

And I see that you are the kind of person who likes the challenges that are difficult in the things you do

GeovanniMCh commented 5 years ago

Try to put games in the injected ones and they do not leave me in the list I do not know if I am doing wrong the line

dojafoja commented 5 years ago

They don't show up in the injects list? Can you send me your customsources.json file?

GeovanniMCh commented 5 years ago

good morning friend seeing that the shorteners do not work but the direct downloads if, there is no way to earn funds with the downloads with an advertising banner or so. beforehand we know that everything is free but to pay for the premium server and the alucardianos page we need funds

dojafoja commented 5 years ago

If I had an example shortened URL I can try to make it work. Without an example URL to test with, its like guesswork. Can you give me a shortened URL so I can test with it?

GeovanniMCh commented 5 years ago

http://bc.vc/GeRXRf9

dojafoja commented 5 years ago

Perfect let me see what I can do. I read yesterday about a way to allow redirection and I want to try it out. I will report back later today. This is how I learn new things, by overcoming challenges and making things work. There is almost always a way to do something with python.

GeovanniMCh commented 5 years ago

https://code.i-harness.com/es/q/257285 an info that may be useful for the shorteners

dojafoja commented 5 years ago

I tried many different things with no success. I even tried external Python libraries that are designed to resolve shortened url's. Every one of them just returned back the original url as the redirected destination. The shortener you are using is ad supported and they have systems in place to prevent bots from downloading. I think the best solution to all of this is to simply open the users internet browser to the url so they can click the download link themselves. I pushed working files for this just now. There is a lot of unused code in the source now that still needs to be cleaned up.

There is also something else I wanted to point out regarding the shortening service you are using. I understand that it is ad supported and that's how you make money. However, some of the ads that I encountered were LOADED with malware. I had pop-ups and ads that were very intrusive and impossible to close. I would consider using a more trustworthy and reputable shortening service if I were you. Your users are going to have a bad experience when they are bombarded with porn ads and ads saying they have a virus that are impossible to close if you don't know what you are doing.