[Python-apps-team] Bug#933909: subdownloader: CLI broken

Jan Braun janbraun at gmx.de
Mon Aug 5 02:27:29 BST 2019


Package: subdownloader
Version: 2.1.0~rc4-1
Severity: normal

Dear Maintainer,
I just tried the subdownloader version in experimental.

Sadly, I couldn't get it to do anything useful.

Previously, I would call subdownloader as
| subdownloader -c --rename-subs -l en -V .
, and it would automatically download english subs for all movies in the
current directory. :)

Now, it just dumps me at a poorly documented interactive prompt:
| $ subdownloader -c --rename-video -l en -V .
| SubDownloader 2.1.0rc4
| Type "help" for more information.
| >>>

I managed to use "filescan" to get it to scan the videos in the current
directory, and "login" and "vidsearch" to possibly search for something.
I'm unable to figure out how to download subtitles, because there are
"Number of subs to download: 0" according to "viddownload" , and
"vidselect" just complains about "Value out of range." for every index I
can think of.
Log attached.

Filed as "normal" because I might be dense and there's a simple fix, but
otherwise this should probably be RC.

In any case, however, users shouldn't have to fiddle around on an
interactive prompt just to get subdownloader to do the only thing it
could sensibly do. :(

Thank you for maintaining subdownloader,
    Jan

P.S.: Changing the option which names the newly downloaded subs
    according to the video filename from "--rename-subs" to
    "--rename-video" seems *really* unfortunate.
P.P.S.: The manpage is missing a leading "-" for all the options at the
    start of a line.

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (990, 'testing'), (650, 'testing-debug'), (550, 'unstable-debug'), (550, 'unstable'), (10, 'experimental-debug'), (10, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.0-5-amd64 (SMP w/4 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages subdownloader depends on:
ii  python3              3.7.3-1
ii  python3-argcomplete  1.8.1-1
ii  python3-langdetect   1.0.7-3
ii  python3-progressbar  2.5-1
ii  python3-pymediainfo  3.0-2

Versions of packages subdownloader recommends:
ii  python3-pyqt5  5.11.3+dfsg-1+b3

subdownloader suggests no packages.

-- debconf-show failed
-------------- next part --------------
$ `which subdownloader` -c -l en -V . --debug
[2019-08-05 03:11:43,486] DEBUG: subdownloader.modules.metadata # Importing metadata parsing module ...
[2019-08-05 03:11:43,486] DEBUG: subdownloader.modules.metadata # Trying PyMediaInfoParser ...
[2019-08-05 03:11:43,504] DEBUG: subdownloader.modules.metadata # ... Succeeded
[2019-08-05 03:11:43,504] DEBUG: subdownloader.modules.metadata # Trying PyMediaInfoParser ...
[2019-08-05 03:11:43,505] DEBUG: subdownloader.modules.metadata # ... Succeeded
[2019-08-05 03:11:43,505] DEBUG: subdownloader.modules.metadata # ... Importing metadata parsing module finished
[2019-08-05 03:11:43,506] DEBUG: subdownloader.client.configuration # User-specific system configuration folder="/home/jani/.config"
[2019-08-05 03:11:43,506] DEBUG: subdownloader.client.configuration # User-specific SubDownloader configuration folder="/home/jani/.config/SubDownloader"
[2019-08-05 03:11:43,507] DEBUG: subdownloader.provider.factory # Attempting to import "subdownloader.provider.opensubtitles"...
[2019-08-05 03:11:43,507] DEBUG: subdownloader.provider.factory # ... OK
[2019-08-05 03:11:43,507] DEBUG: subdownloader.provider.factory # Attempting to get "providers" from module...
[2019-08-05 03:11:43,507] DEBUG: subdownloader.provider.factory # ... OK
[2019-08-05 03:11:43,507] DEBUG: subdownloader.provider.factory # Checking provider types:
[2019-08-05 03:11:43,508] DEBUG: subdownloader.provider.factory # - <class 'subdownloader.provider.opensubtitles.OpenSubtitles'>:
[2019-08-05 03:11:43,508] DEBUG: subdownloader.provider.factory # ... OK
[2019-08-05 03:11:43,508] DEBUG: subdownloader.provider.factory # Attempting to import "subdownloader.provider.provider"...
[2019-08-05 03:11:43,508] DEBUG: subdownloader.provider.factory # ... OK
[2019-08-05 03:11:43,508] DEBUG: subdownloader.provider.factory # Attempting to get "providers" from module...
[2019-08-05 03:11:43,509] DEBUG: subdownloader.provider.factory # ... FAILED
[2019-08-05 03:11:43,509] DEBUG: subdownloader.provider.factory # Attempting to import "subdownloader.provider.SDService"...
[2019-08-05 03:11:43,515] DEBUG: subdownloader.provider.factory # ... OK
[2019-08-05 03:11:43,515] DEBUG: subdownloader.provider.factory # Attempting to get "providers" from module...
[2019-08-05 03:11:43,516] DEBUG: subdownloader.provider.factory # ... OK
[2019-08-05 03:11:43,516] DEBUG: subdownloader.provider.factory # Checking provider types:
[2019-08-05 03:11:43,516] DEBUG: subdownloader.provider.factory # - <class 'subdownloader.provider.SDService.SDService'>:
[2019-08-05 03:11:43,516] DEBUG: subdownloader.provider.factory # ... FAILED: not a SubtitleProvider
[2019-08-05 03:11:43,516] DEBUG: subdownloader.provider.factory # Attempting to import "subdownloader.provider.factory"...
[2019-08-05 03:11:43,516] DEBUG: subdownloader.provider.factory # ... OK
[2019-08-05 03:11:43,517] DEBUG: subdownloader.provider.factory # Attempting to get "providers" from module...
[2019-08-05 03:11:43,517] DEBUG: subdownloader.provider.factory # ... FAILED
[2019-08-05 03:11:43,517] DEBUG: subdownloader.provider.factory # Attempting to import "subdownloader.provider.__init__"...
[2019-08-05 03:11:43,517] DEBUG: subdownloader.provider.factory # ... OK
[2019-08-05 03:11:43,518] DEBUG: subdownloader.provider.factory # Attempting to get "providers" from module...
[2019-08-05 03:11:43,518] DEBUG: subdownloader.provider.factory # ... FAILED
[2019-08-05 03:11:43,518] DEBUG: subdownloader.client.configuration # Reading settings from /home/jani/.config/SubDownloader/SubDownloader.conf ...
[2019-08-05 03:11:43,518] DEBUG: subdownloader.client.configuration # ... reading finished
SubDownloader 2.1.0rc4
Type "help" for more information.
>>> filescan
[2019-08-05 03:12:01,055] DEBUG: subdownloader.callback.ProgressCallback # init: min=None, max=None
[2019-08-05 03:12:01,055] DEBUG: subdownloader.client.callback # show()
[2019-08-05 03:12:01,056] DEBUG: subdownloader.callback.ProgressCallback # update(value=0, args=(), kwargs={})                                                                                  ]  0% ETA:  --:--:--
[2019-08-05 03:12:01,056] DEBUG: subdownloader.callback.ProgressCallback # init: min=None, max=None
[2019-08-05 03:12:01,056] DEBUG: subdownloader.filescan # scan_videopath(videopath="/home/jani/todel", recursive=False)
[2019-08-05 03:12:01,057] DEBUG: subdownloader.filescan # "/home/jani/todel" is a directory
[2019-08-05 03:12:01,057] DEBUG: subdownloader.filescan # __scan_folder(folder_path="/home/jani/todel", recursive=False)
[2019-08-05 03:12:01,057] DEBUG: subdownloader.filescan # filter_files_extensions: files="[PosixPath('/home/jani/todel/26c3-3266-de-hacking_the_universe.mp4')]"
[2019-08-05 03:12:01,058] DEBUG: subdownloader.filescan # filter_files_extensions result:[[], [PosixPath('/home/jani/todel/26c3-3266-de-hacking_the_universe.mp4')]]
[2019-08-05 03:12:01,058] DEBUG: subdownloader.filescan # merge_path_subvideo(path_subvideos=<#paths=1>)
[2019-08-05 03:12:01,058] DEBUG: subdownloader.callback.ProgressCallback # update(value=0, args=(), kwargs={})
[2019-08-05 03:12:01,058] DEBUG: subdownloader.callback.ProgressCallback # update(value=0.0, args=(), kwargs={})
[2019-08-05 03:12:01,059] DEBUG: subdownloader.video2 # VideoFile.__init__("/home/jani/todel/26c3-3266-de-hacking_the_universe.mp4")
[2019-08-05 03:12:01,059] DEBUG: subdownloader.callback.ProgressCallback # update(value=1, args=(), kwargs={})
[2019-08-05 03:12:01,059] DEBUG: subdownloader.callback.ProgressCallback # update(value=1.0, args=(), kwargs={})
[2019-08-05 03:12:01,060] DEBUG: subdownloader.callback.ProgressCallback # finish(args=(True,), kwargs={})>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]100% ETA:  0:00:00
[2019-08-05 03:12:01,060] DEBUG: subdownloader.callback.ProgressCallback # finish(args=(), kwargs={})
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]100% Time: 0:00:00
1/0 videos/subtitles have been found
>>> login
[2019-08-05 03:12:14,038] DEBUG: subdownloader.provider.opensubtitles # connect()
[2019-08-05 03:12:14,040] DEBUG: subdownloader.provider.opensubtitles # login()
[2019-08-05 03:12:14,153] DEBUG: subdownloader.provider.opensubtitles # check_result(<data>)
[2019-08-05 03:12:14,153] DEBUG: subdownloader.provider.opensubtitles # checking presence of "status" in result ...
[2019-08-05 03:12:14,153] DEBUG: subdownloader.provider.opensubtitles # ... FOUND
[2019-08-05 03:12:14,153] DEBUG: subdownloader.provider.opensubtitles # result["status"]="200 OK"
[2019-08-05 03:12:14,154] DEBUG: subdownloader.provider.opensubtitles # applying regex to status ...
[2019-08-05 03:12:14,154] DEBUG: subdownloader.provider.opensubtitles # ... regex SUCCEEDED
[2019-08-05 03:12:14,154] DEBUG: subdownloader.provider.opensubtitles # Checking code=200 ...
[2019-08-05 03:12:14,154] DEBUG: subdownloader.provider.opensubtitles # ... SUCCESS.
[2019-08-05 03:12:14,155] DEBUG: subdownloader.provider.opensubtitles # check_result() finished (data is ok)
Log in successful.
>>> vidsearch
[2019-08-05 03:12:20,967] DEBUG: subdownloader.callback.ProgressCallback # init: min=None, max=None
[2019-08-05 03:12:20,967] DEBUG: subdownloader.client.callback # show()
[2019-08-05 03:12:20,968] DEBUG: subdownloader.callback.ProgressCallback # init: min=None, max=None                                                                                             ]  0% ETA:  --:--:--
[2019-08-05 03:12:20,968] DEBUG: subdownloader.provider.opensubtitles # search_videos(#videos=1)
[2019-08-05 03:12:20,968] DEBUG: subdownloader.callback.ProgressCallback # update(value=0, args=(), kwargs={})
[2019-08-05 03:12:20,969] DEBUG: subdownloader.callback.ProgressCallback # update(value=0.0, args=(), kwargs={})
[2019-08-05 03:12:20,969] DEBUG: subdownloader.video2 # _calculate_OSDB_hash() of "/home/jani/todel/26c3-3266-de-hacking_the_universe.mp4" ...
[2019-08-05 03:12:20,972] DEBUG: subdownloader.video2 # hash("/home/jani/todel/26c3-3266-de-hacking_the_universe.mp4")=e2d42b34488e18b0
[2019-08-05 03:12:21,054] DEBUG: subdownloader.provider.opensubtitles # check_result(<data>)
[2019-08-05 03:12:21,054] DEBUG: subdownloader.provider.opensubtitles # checking presence of "status" in result ...
[2019-08-05 03:12:21,054] DEBUG: subdownloader.provider.opensubtitles # ... FOUND
[2019-08-05 03:12:21,055] DEBUG: subdownloader.provider.opensubtitles # result["status"]="200 OK"
[2019-08-05 03:12:21,055] DEBUG: subdownloader.provider.opensubtitles # applying regex to status ...
[2019-08-05 03:12:21,055] DEBUG: subdownloader.provider.opensubtitles # ... regex SUCCEEDED
[2019-08-05 03:12:21,055] DEBUG: subdownloader.provider.opensubtitles # Checking code=200 ...
[2019-08-05 03:12:21,056] DEBUG: subdownloader.provider.opensubtitles # ... SUCCESS.
[2019-08-05 03:12:21,056] DEBUG: subdownloader.provider.opensubtitles # check_result() finished (data is ok)
[2019-08-05 03:12:21,056] DEBUG: subdownloader.callback.ProgressCallback # finish(args=(), kwargs={})
[2019-08-05 03:12:21,056] DEBUG: subdownloader.callback.ProgressCallback # finish(args=(), kwargs={})
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]100% Time: 0:00:00
Search finished.
>>> viddownload
Number of subs to download: 0
>>> vidselect
Need an argument.
>>> vidselect 0
Value out of range.
>>> vidselect 1
Value out of range.
>>> vidselect 2
Value out of range.
>>> vidselect *
Invalid value
>>> vidselect -1
Value out of range.
>>> videos
Current videos:
- 26c3-3266-de-hacking_the_universe.mp4
>>> [2019-08-05 03:14:56,373] DEBUG: subdownloader.provider.opensubtitles # logout()
[2019-08-05 03:14:56,537] DEBUG: subdownloader.provider.opensubtitles # check_result(<data>)
[2019-08-05 03:14:56,537] DEBUG: subdownloader.provider.opensubtitles # checking presence of "status" in result ...
[2019-08-05 03:14:56,537] DEBUG: subdownloader.provider.opensubtitles # ... FOUND
[2019-08-05 03:14:56,538] DEBUG: subdownloader.provider.opensubtitles # result["status"]="200 OK"
[2019-08-05 03:14:56,538] DEBUG: subdownloader.provider.opensubtitles # applying regex to status ...
[2019-08-05 03:14:56,538] DEBUG: subdownloader.provider.opensubtitles # ... regex SUCCEEDED
[2019-08-05 03:14:56,539] DEBUG: subdownloader.provider.opensubtitles # Checking code=200 ...
[2019-08-05 03:14:56,539] DEBUG: subdownloader.provider.opensubtitles # ... SUCCESS.
[2019-08-05 03:14:56,539] DEBUG: subdownloader.provider.opensubtitles # check_result() finished (data is ok)
[2019-08-05 03:14:56,539] DEBUG: subdownloader.provider.opensubtitles # disconnect()
$ 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/python-apps-team/attachments/20190805/42ff6d9f/attachment.sig>


More information about the Python-apps-team mailing list