2015-06-24 2 views
0

Я ссылаюсь на этот ответ stackoverflow.mysql отсутствует информация о саундтреке после запуска imdbpy2sql.py

https://stackoverflow.com/a/20948609/4891914

Я не могу это комментировать, потому что моя репутация не выше 50. Я использовал точный код, но получаю эту ошибку:

Traceback (most recent call last): 
    File "search.py, line 47, in <module> 
    print inglorious['soundtrack'] 
    File "/usr/local/lib/python2.7/dist-packages/imdb/utils.py", line 1469, in __getitem__ 
    rawData = self.data[key] 
KeyError: 'soundtrack' 

Я также попробовал этот вариант:

from imdb import IMDb 
ia = IMDb('sql', uri='mysql://username:[email protected]/imdb') 
inglorious = ia.search_movie('Inglorious Basterds')[0] 
ia.update(inglorious, info=['soundtrack']) 
soundtrack = inglorious.get('soundtrack') 
print soundtrack 

И печатает "None". Когда imdbpy2sql.py был запущен, файл soundtracks.list.gz действительно существовал в каталоге, где все остальные файлы imdb где. Я действительно подтвердил, что на imdb.com для этого фильма существует саундтрек.

http://www.imdb.com/title/tt0361748/soundtrack?ref_=tt_trv_snd

Любая помощь будет принята с благодарностью.

ОБНОВЛЕНИЕ MySQL-запросы в таблице info_type и movie_info;

SELECT * FROM info_type WHERE info='alternate versions' OR info='goofs' OR info='crazy credits' OR info='soundtrack' OR info='quotes' OR info='trivia'; 

    id | info 
    ----------------------- 
    11 | alternate versions 
    12 | crazy credits 
    13 | goofs 
    15 | quotes 
    14 | soundtrack 
    17 | trivia 

SELECT COUNT(*) FROM movie_info WHERE info_type_id=11; 
    COUNT(*) 
    19716 
SELECT COUNT(*) FROM movie_info WHERE info_type_id=12; 
    COUNT(*) 
    21158 
SELECT COUNT(*) FROM movie_info WHERE info_type_id=13; 
    COUNT(*) 
    222002 
SELECT COUNT(*) FROM movie_info WHERE info_type_id=14; 
    COUNT(*) 
    0 
SELECT COUNT(*) FROM movie_info WHERE info_type_id=15; 
    COUNT(*) 
    693707 
SELECT COUNT(*) FROM movie_info WHERE info_type_id=17; 
    COUNT(*) 
    531702 

Таким образом, проблема связана с сценарием imdbpy2sql.py. Как указано выше, любая помощь в отладке этой проблемы будет с благодарностью оценена.

ответ

0

Вопрос относится к определению тега SNDT_START. См. Раздел ниже, который исправляет проблему импорта саундтреков.

diff my-imdbpy2sql.py imdbpy2sql.py 
796c796 
< SNDT_START = ('SOUNDTRACKS', '=============', '', '', '') 
--- 
> SNDT_START = ('SOUNDTRACKS LIST', '================', '', '', '') 
0

Ваш лучший способ понять, что происходит, это сохранить вывод вашей команды, добавив 2>&1 | tee imdbpy2sql-output.log в конце командной строки (в системе Linux).

Чтобы ускорить процесс, вы можете просто оставить файл саундтрека в каталоге.

+0

Благодарим за внимание, что мне нужен только файл саундтрека, чтобы ускорить этот процесс. Я ответил на вопрос с резолюцией. Дайте мне знать, если вы хотите, чтобы это было подано как ошибка. –

+0

Отлично! Спасибо за указание на это. Нет проблем, я напишу ошибку, чтобы напомнить себе, чтобы исправить ее как можно скорее. –