Call for testing my first packaging of an app: a web interface for youtube-dl!

Hello everyone!

I’m finally confident enough to share with you my first try at packaging an existing application for Yunohost: it’s a web interface for Youtube-dl, a tool that allows you to download Youtube videos. I’d love to have people testing it, and also to suggest improvements on the packaging itself!

The repo is https://github.com/roukydesbois/youtube-dl-flask-webui_ynh

I’m also open for a name for the app before asking it to be added to the Yunohost apps: there is an existing youtube-dl-webui already!

Thanks!

3 Likes

Isn’t it the same upstream app ?

Dunno, the repo it’s pointing to doesn’t exist anymore: https://github.com/p1rox/Youtube-dl-WebUI

Indeed, I can’t say.

Well, sure users will be happy to have a new one.

1 Like

Did you try your app with package check ?

Ok, found this https://ci-apps-dev.yunohost.org/jenkins/job/youtube-dl-webui_ynh%20(rouky)

Well, that’s the first thing to do as it will help you trig errors in your package.
And actually, I just tried and got a level 0.

A check_process would help you.

Thanks for the package.
I have just started to work with yunohost.
However, I have been using the CLI version of youtube-dl on my Ubuntu computer for some time.
I use it to download videos not only from youtube but also from other media libraries.
That doesn’t seem to work with the web UI?
This URL https://www.zdf.de/kinder/robin-hood/der-verhexte-pokal-100.html can be downloaded by CLI Version but dos not seem to be processed via web ui.

May be it uses an outdated version of youtube-dl?
Do you know which version works in the background and how could update it?
I also didn’t find any debug logs. The directory /var/log/youtube-dl-webui/ is empty.

@roukydesbois About the name i suggest you to rename in https://github.com/roukydesbois/youtube-dl-webui_ynh because the other app doesn’t exists so the name is free.

Hello @swinter and thanks for installing the app!

I haven’t tested with other links than youtube ones. In the backend, I’m installing youtube-dl through pip. So if you want to know what version you’re running, ssh in your server and run:

source /opt/yunohost/youtube-dl-webui/venv/activate
youtube-dl --version

There is a CRON job running every night to update it, on top of that. So it should be a quite recent version, and I’m guessing the issue comes from the application itself. I haven’t yet spend too much time looking into how it worked but more in packaging it, I’ll have a look now.

Regarding the logs, I’ll have the same answer: I don’t really know how/where they are stored, I’ll look into it.

I have created 2 issues based on your feedback:


Isn’t it an issue for people who have installed the first version? I guess I could handle this through an upgrade script, but I have no idea how the previous one was or worked…

I took a little look at the application. It is clearly arranged, so even I as a beginner can understand how it should work.

The cause of the issue seems to be in the web-ui app. Youtube provides numerous meta-information for each download order, what other providers don’t do. If not all expected information is available, the main process crashes in the module db.py. The method “update_info” tries to assign the expected properties to the dictionary “info_dict”. Before doing so, the program should ensure that the keys are available at all.

Because of the missing logging, I found that the module main.py is expected to initialize the logging. But as far as I see, this module is not called at all. I have copied the corresponding program parts to init.py and changed file locations in logging.json, to make logging work.

I also noticed the following entry in /var/log/syslog:

  • Serving Flask app “youtube_dl_webui.server” (lazy loading)
  • Environment: production
    WARNING: This is a development server. Do not use it in a production deployment.
    Use a production WSGI server instead.

I don’t know if the warning indicates a security problem?

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.