ZeroQI / Absolute-Series-Scanner

Seasons, absolute mode, Subfolders...
1.01k stars 155 forks source link

No Module in Absolute Series Scanner & No module in VideoFiles #234

Closed honinboshindou closed 5 years ago

honinboshindou commented 5 years ago

Hi,

This scanner used to work perfectly. This past few weeks, however, I can't seem to get it to add new series. And when I tried to recreate the library, no files is showing. Nothing has changed in the folder structure, aside from new series getting added.

I'm using Plex version: 1.14.1.5488 with the latest version of ASS. Upgraded to latest Plex version: 1.17.0.1709 does not help

I'm attaching the required log file:

https://1drv.ms/u/s!ArnBvBUyHcFGgaqaMOWAJp-s6ttW65g?e=4BIXR8

Thank you.

Regards,

SH

ZeroQI commented 5 years ago

Scanner crashes, but no much information... Please paste you absolute series scanner.py file, i would like to check something

honinboshindou commented 5 years ago

The file was actually the ones hosted on here as of today:

https://github.com/ZeroQI/Absolute-Series-Scanner/blob/master/Scanners/Series/Absolute%20Series%20Scanner.py

My file: https://1drv.ms/u/s!ArnBvBUyHcFGgaqbJr0B8nrhYV71TCw?e=NZo63g

ZeroQI commented 5 years ago

No issue on my side [Windows 10 x64] You use Ubuntu 16.04.6 (Xenial Xerus) "ERROR - No module in Absolute Series Scanner" is probably linked to the import lines on top

Maybe try "python -c "import " with the library in each import statement at the beginning of my code If we could generate an error at the beginning, trial and test could be used to narrow down the problematic part of the code...

Question: are other scanners impacted?

Senshi00 commented 5 years ago

Hi, I have the same issue. Plex does not find any files to add to the library when using ASS. Is there an older version i can try? When using another scanner e.g the default one from plex the files get added to the library. I am on Windows 10 latest updates.

Regards

ZeroQI commented 5 years ago

You have that one https://github.com/ZeroQI/Absolute-Series-Scanner/blob/master/Scanners/Series/Absolute%20Series%20Scanner%20(legacy).py

try a '#' to comment in front of 'import VideoFiles'

honinboshindou commented 5 years ago

I tried executing the code directly, and it's throwing this:

File "Absolute Series Scanner.py", line 12, in import Utils # SplitPath

I'm not an expert in python, so your help would be appreciated.

Thanks.

Regards,

SH

ZeroQI commented 5 years ago

Nice thinking! Shame there is no error number... I can't test so here are the changes:

honinboshindou commented 5 years ago

Then, it complains with this:

  File "Absolute Series Scanner.py", line 13, in <module>
    import Media                                                         # Episode
ZeroQI commented 5 years ago

Please try latest

honinboshindou commented 5 years ago

Still stuck here:

  File "Absolute Series Scanner.py", line 12, in <module>
    import Media                                                         # Episode
ZeroQI commented 5 years ago

You need to launch the scanner manually and get the error message or try the legacy scanner for comparison

honinboshindou commented 5 years ago

I did launch the scanner manually via SSH. and this is what it throws:

  File "Absolute Series Scanner.py", line 12, in <module>
    import Media                                                         # Episode
ImportError: No module named Media

The legacy code run, throws this error:

Traceback (most recent call last):
  File "Absolute Series Scanner (legacy).py", line 3, in <module>
    import sys, os, time, re, fnmatch, unicodedata, urllib2, Utils, VideoFiles, Media #import Stack ### Plex Media Server\Plug-ins\Scanners.bundle\Contents\Resources\Common ###
ImportError: No module named Utils

Could it be that my python installation is missing some modules? I noticed that utils.py is actually in one of the directories, but it's not listed under sys.path. However, I can't find Media.py anywhere.

ZeroQI commented 5 years ago

It seems it fails on all the modules provided by the Plex framework (modules are declared in scanner code). Could be a path folder missing...

honinboshindou commented 5 years ago

I'm still trying.

Do you know how to execute python from Plex without Plex's UI? I mean to execute it from shell.

honinboshindou commented 5 years ago

Now that I understand how to execute py script with plex, here's the real output:

Traceback (most recent call last):
  File "/usr/lib/python2.7/site.py", line 563, in <module>
    main()
  File "/usr/lib/python2.7/site.py", line 545, in main
    known_paths = addusersitepackages(known_paths)
  File "/usr/lib/python2.7/site.py", line 272, in addusersitepackages
    user_site = getusersitepackages()
  File "/usr/lib/python2.7/site.py", line 247, in getusersitepackages
    user_base = getuserbase() # this will also set USER_BASE
  File "/usr/lib/python2.7/site.py", line 237, in getuserbase
    USER_BASE = get_config_var('userbase')
  File "/usr/lib/python2.7/sysconfig.py", line 582, in get_config_var
    return get_config_vars().get(name)
  File "/usr/lib/python2.7/sysconfig.py", line 528, in get_config_vars
    _init_posix(_CONFIG_VARS)
  File "/usr/lib/python2.7/sysconfig.py", line 412, in _init_posix
    from _sysconfigdata import build_time_vars
  File "/usr/lib/python2.7/_sysconfigdata.py", line 6, in <module>
    from _sysconfigdata_nd import *
ImportError: No module named _sysconfigdata_nd
EndOfLine369 commented 5 years ago

Clone the env variables on the system plugin process, pull down your library keys, then run a scan directly against the library using ASS.

eval $(grep . /proc/$(ps -e -o pid,args | grep -w 'Plex Plug-in' | grep 'com.plexapp.system' | grep -v grep | awk '{print $1}' | head -1)/environ | sed 's/"/\\"/g' | sed -e 's/^/export /' -e 's/=/="/' -e 's/$/"/' | tr '\n' ';')
cd $PLEXLOCALAPPDATA/..
curl "http://localhost:32400/library/sections/?X-Plex-Token=$PLEXTOKEN" 2>/dev/null | egrep "^.Directory|^.Location" | sed -e 's/.*key=\(.*\) language=.*/key=\1/' -e 's/^.Location .* path=\("[^"]*"\).*/\t\1/' -e 's/^/# /'
# take a key from the curl output above and place in the below command
./Plex\ Media\ Scanner --scan --refresh --section "<key>"
honinboshindou commented 5 years ago

Was thinking of doing a downgrade on python, but I'd rather not going through that dangerous route. EndOfLine369, your suggestion results in the same error above.

EndOfLine369 commented 5 years ago

Issue is on your system. Google "ImportError: No module named _sysconfigdata_nd" on entries on how you can try to fix it.

honinboshindou commented 5 years ago

That got solved, now this one pops up:

Traceback (most recent call last):
  File "./Absolute Series Scanner.py", line 6, in <module>
    import tempfile                                                      # NamedTemporaryFile
  File "/usr/lib/python2.7/tempfile.py", line 32, in <module>
    import io as _io
  File "/usr/lib/python2.7/io.py", line 51, in <module>
    import _io
ImportError: No module named _io

Bear in mind that I do not have virtualenv installed, not even use one.

honinboshindou commented 5 years ago

Seems like this is not the script problem, but more my server environment problem. I'll close this ticket. However, if you have any idea on how to fix this, please message me. Thanks.