evilhero / mylar

An automated Comic Book downloader (cbr/cbz) for use with SABnzbd, NZBGet and torrents
GNU General Public License v3.0
976 stars 172 forks source link

Uncaught Exception Error on manual post process #1774

Closed xkelly closed 6 years ago

xkelly commented 6 years ago

On the dev channel using docker on Synology NAS.
Mylar Version:  development-- git build a226658876af19d60d3c4291ea158644731f143b. Python Version : 2.7.13

Kicked off a manual post process on a folder, got the below error:

2017-11-16 16:55:03 ERROR Uncaught exception: Traceback (most recent call last):File "/app/mylar/mylar/logger.py", line 165, in new_runold_run(*args, *kwargs)File "/usr/lib/python2.7/threading.py", line 754, in runself.__target(self.args, **self.kwargs)File "/app/mylar/mylar/PostProcessor.py", line 317, in Processfilelist = flc.listFiles()File "/app/mylar/mylar/filechecker.py", line 134, in listFilesrunresults = self.parseit(self.dir, filename, filedir)File "/app/mylar/mylar/filechecker.py", line 787, in parseitelif 'XCV' in issue_number:TypeError: argument of type 'NoneType' is not iterable

To put some context around this, this folder (comics.old) has a bunch of series in it. Stuff I've needed to sort and incorporate into Mylar for a while now. To that effect, I've tried to manually import from this folder--some get imported, most do not. Not sure why. Haven't done a deep drive into the logs to see. Instead, I thought I would add a few of the series to mylar and try to post process that folder to see if it would pick up the related comics. Thus the error.

Not sure if this matters, but comics.old is not monitored by mylar. But It is owned by the same user (dockeruser) as the folders mylar points to.

Thanks for the great app. And thanks in advance for any guidance you can offer.

evilhero commented 6 years ago

Can you paste the debug log lines that precede that error?

The characters XCV is what mylar replaces Unicode characters with when performing filename parsing, but I'm not sure why it's saying it's a None value (it only kicks off if it detects a Unicode character).

I'm thinking a filename has a Unicode character present in it, and maybe Mylar just doesn't know how to handle it properly (it accounts for a good majority, but something is tripping it up in this case - possibly because it appears it's occuring in the issue number)

xkelly commented 6 years ago

Sure. Here's the entire page. Not sure how far back was needed:

2017-11-16 18:54:36 DEBUG Git output: a226658876af19d60d3c4291ea158644731f143b
2017-11-16 18:54:36 DEBUG Trying to execute: "git rev-parse HEAD" with shell in /app/mylar
2017-11-16 16:55:03 ERROR Uncaught exception: Traceback (most recent call last):File "/app/mylar/mylar/logger.py", line 165, in new_runold_run(*args, *kwargs)File "/usr/lib/python2.7/threading.py", line 754, in runself.__target(self.args, **self.kwargs)File "/app/mylar/mylar/PostProcessor.py", line 317, in Processfilelist = flc.listFiles()File "/app/mylar/mylar/filechecker.py", line 134, in listFilesrunresults = self.parseit(self.dir, filename, filedir)File "/app/mylar/mylar/filechecker.py", line 787, in parseitelif 'XCV' in issue_number:TypeError: argument of type 'NoneType' is not iterable
2017-11-16 16:55:03 DEBUG No issue number present in filename.
2017-11-16 16:55:03 DEBUG issue_position: 0
2017-11-16 16:55:03 DEBUG highest_series_position: 1
2017-11-16 16:55:03 DEBUG No year present within title - ignoring as a variable.
2017-11-16 16:55:03 DEBUG datecheck: []
2017-11-16 16:55:03 DEBUG Improperly formatted filename - there is no seperation using appropriate characters between wording.
2017-11-16 16:55:03 DEBUG NEW split_file3: ['#1']
2017-11-16 16:55:03 DEBUG Improperly formatted filename - there is no seperation using appropriate characters between wording.
2017-11-16 16:55:03 DEBUG [SUB-PATH] subpath set to : Marvel Comics/Ultimate Marvel/Ultimatum/Ultimatum
2017-11-16 16:55:03 DEBUG [SUB-PATH] Sub-directory : /ebooks/comics.old/Marvel Comics/Ultimate Marvel/Ultimatum/Ultimatum
2017-11-16 16:55:03 DEBUG [SUB-PATH] Original Path : /ebooks/comics.old
2017-11-16 16:55:03 DEBUG [SUB-PATH] Checking Folder Name for more information.
2017-11-16 16:55:03 DEBUG [CORRECTION] Sub-directory found. Altering path configuration.
2017-11-16 16:55:03 INFO [FILENAME]: #1.cbr
2017-11-16 16:55:03 DEBUG Cannot parse the filename properly. I'm going to make note of this filename so that my evil ruler can make it work.
2017-11-16 16:55:03 DEBUG series title possibly: Ultimatum
2017-11-16 16:55:03 DEBUG No issue number present in filename.
2017-11-16 16:55:03 DEBUG issue_position: 0
2017-11-16 16:55:03 DEBUG highest_series_position: 1
2017-11-16 16:55:03 DEBUG year verified as: 2008
2017-11-16 16:55:03 DEBUG year verified as : 2008
2017-11-16 16:55:03 DEBUG sctd: 2017
evilhero commented 6 years ago

Ahh ok that's what I needed to see.

It's having a problem due to the naming of the file - in order for mylar to be able to parse it, it needs to have a series title and issue #. That just has the issue number only (#1.cbr), which is causing the problems.

I've been testing out reading the parent folder for more info when the filename doesn't have enough to parse, but it's not finished as of yet. If the files were .cbz with metadata in them, the filenames wouldn't matter as then Mylar would read/use the tags.

I'll trap that error better as it should be handing it more gracefully and reporting back as to why, but it would appear that you would have to rename those issues so they contain (at a minimum) the series title and issue number. Adding in the issue year, and/or volume gives Mylar even more information to use when doing the import and you will get better automatching results as well.

xkelly commented 6 years ago

Cool. I'll rename them. Thanks for the help.

I have an auto post processing problem with NZBGet I'll be posting about later. I'm sure it's something I'm doing wrong, but hoping for some guidance.

Take care.