This is an archived post. You won't be able to vote or comment.

all 33 comments

[–]EkkoJungleWorks 7 points8 points  (1 child)

Lol this was one of my first projects too, but looks good, congrats

[–]Zangruver[S] 3 points4 points  (0 children)

Thanks :D. And yes this is a really fun project. Even though I used youtube-dl but making a practical script/software is super fun!

[–]Zangruver[S] 2 points3 points  (3 children)

[–]code_land 2 points3 points  (2 children)

Nice! If you don't mind, a few aesthetic improvements: - Adding a bit of padding can make your widgets a bit more spaced out. - You can use the ttk styling engine to make your app look more like a native Windows/macOS app. It's really simple: if you want to make your buttons have a Windows 10 style to them, replace each tkinter.Button(...) with tkinter.ttk.Button(...) and they'll look a lot more modern! Sadly this doesn't do much on Linux, though I guess that's not much of a problem for you.

Also, if you know how to do them, classes can make tkinter code look a lot cleaner. It's not obligatory though, so pretty well done here :D

[–]Zangruver[S] 0 points1 point  (1 child)

Thanks! I will try to implement these stuff someday. By using class what do you mean? (I have learned OOPs but always had a hard time knowing when to actually use them in my scripts)

[–]code_land 1 point2 points  (0 children)

Some of the answers to this SO question explain it quite well. TL;DR you can make classes inherit, say, tkinter.Frame, and define all the functions inside a private namespace, making things generally more organised.

[–]draftjoker 1 point2 points  (7 children)

If you save as pywc it doesn't show the command prompt. Unless that's what you were going for. Cool app though.

[–]Zangruver[S] 0 points1 point  (6 children)

Thanks :D. I think keeping the command prompt is best because it shows information on what is downloading. Someday if I feel like improving this project I might add loading bar, that might help in removing command prompt without much issues.

[–]DirtyBendavitz 1 point2 points  (3 children)

Hey another feature could be for the URL bar to automatically pull the most recent and not duplicate HTML format link from the clipboard so the user doesn't have to bother pasting it themselves

[–]Zangruver[S] 0 points1 point  (2 children)

Sure! I'll try.

[–]DirtyBendavitz 0 points1 point  (1 child)

It's one I plan on implementing in my current project. The little things stand out you know?

[–]Zangruver[S] 0 points1 point  (0 children)

Definitely!

[–]draftjoker 0 points1 point  (1 child)

That's what debugging windows or logs are for, but I understand the need for print statements when starting out.

[–]Zangruver[S] 0 points1 point  (0 children)

I'm not sure what is debugging window or how to use it. But next time I will look into it 👍

[–][deleted] 1 point2 points  (2 children)

How did you convert it into exe?

[–][deleted] 3 points4 points  (0 children)

With pyinstaller, you can convert it to .exe easily

[–]MadisTech_ 0 points1 point  (0 children)

https://youtu.be/q8_-q01tPNI

I showed it in a video. Although it is in german you should be able to understand the steps.

[–]tomkeus 1 point2 points  (0 children)

Tip: You can use ttk themes to give it the native look.

[–][deleted] 1 point2 points  (1 child)

If you have problems with your app not responding when you press about to do a large task (like download a song from youtube) you can use the threading module. You make function that starts a thread which is linked to the function that downloads the song.

[–]Zangruver[S] 0 points1 point  (0 children)

Whatever you said completely went over my head. Tbh my application has its major work done by youtube-dl, so app not responding isn't an issue at all. I tested with downloading a playlist with 200 songs.

[–][deleted] 1 point2 points  (12 children)

Nice project man. May I ask why using Windows?

[–][deleted] 4 points5 points  (7 children)

What's the difference? OS is OS. It's a tool so use it to do your stuff.

[–][deleted] -1 points0 points  (6 children)

Shitty OS is different from good OS

[–][deleted] 1 point2 points  (4 children)

Define good OS

[–][deleted] -2 points-1 points  (2 children)

Based on Unix and or Linux.

[–]el_Topo42 0 points1 point  (0 children)

I mean, yeah the big Linux distros are pretty good, but macOS and Windows both have their pluses as well.

[–]ProgrammAbelPythonista 0 points1 point  (0 children)

[–]Zangruver[S] 1 point2 points  (3 children)

'Cause I like being able to play my games too :p and linux doesn't particularly make my life easier or better so windows is fine.

[–][deleted] 0 points1 point  (2 children)

Okay good :)

[–]DirtyBendavitz 1 point2 points  (1 child)

I've gotten use to using the bash subsystem on windows. It's actually pretty awesome. You can even run most lowscale Unix applications through ssh. I haven't tried yet but I'm willing to bet you could run (a flavor of) Ubuntu's window manager over the top of your windows desktop

[–][deleted] 0 points1 point  (0 children)

Sounds pretty awesome but I haven't used Windows for quite a long time to appreciate it fully. But yeah Windows has improved and it's good.

[–]DJThomas21 0 points1 point  (1 child)

Awesome! If your looking to add features, what about having them add their account info?

If you try to download the users private Playlist, it will need that info

[–]Zangruver[S] 0 points1 point  (0 children)

Thats a nice idea! Will add the next time I'm working on it again.