Скрипты Джефа модернизация-корректировка

Добавление новых сайтов в Movienizer. Индивидуальная настройка программы.
dima29101977
The leading part candidate
Posts: 157
Joined: Tue Feb 16, 2010 1:49 pm

Re: Перестал работать скрипт kinopoisk

Post by dima29101977 » Mon Jul 18, 2016 6:02 am

Поискал по теме, но что-то Джеффовском скрипте не нашел. Обращусь снова к TerribleFloaterу, если конечно не задолбал. Подскажите как в в скрипте Джеффа (если конечно не затруднит) переменную написать. Смысл, хочу из просмотренных фильмов, но в которых отсутствуют фото (заглавное фото-обложка) для данного фильма вывести данные. Вот типа как Вы писали, ну очень давно , еще 15.01.2013 сграбил у Вас инфу по (люди в коллекции без фото) и (люди не в коллекции с фото), кстати очень и не раз помогло при выравнивании фильмографии актеров. Ну к примеру на КП есть сериал, недавно вышедший http://www.kinopoisk.ru/level/1/film/984331/ ван хельсинг, просмотрел пилотную и первую серию где то месяц назад, отметил, закачал в мувинизер инфу (актеры, режиссеры, описание и т.п),но у него нет заглавной фотки, а вот как по прошествии энного времени можно обновить инфу, в частности заглавную обложку? Ну то есть пробить инфу у фильмов которые просмотрены, отмечены, но у которых отсутствует заглавное фото (обложка). Вот как у актеров (есть в фильмографии ,но нет фото, или наоборот)

TerribleFloater
Superstar
Posts: 1926
Joined: Thu Feb 28, 2008 4:20 pm

Re: Перестал работать скрипт kinopoisk

Post by TerribleFloater » Mon Jul 18, 2016 1:28 pm

Попробуем модернизировать Джефовский пример:

Code: Select all

P0094=select p.code from persons p left outer join images i on i.person=p.code where p.in_collection=1 and i.code is null order by p.name
P0094D=Люди в коллекции без фото
Заменяем людей на фильмы:

Code: Select all

select m.code from movies m left outer join images i on i.movie=m.code where m.in_collection=1 and i.code is null order by m.title
Добавляем просмотренность:

Code: Select all

select m.code from movies m left outer join images i on i.movie=m.code where ((m.in_collection=1 and m.seen=1) and (i.code is null)) order by m.title
Так мы вроде бы получим просмотренные фильмы в коллекции без картинок вообще. А вот как вычленить фильмы именно без обложек, моих знаний SQL маловато :-(
Хочу: чёрные списки, пол людей, пользовательские поля изданий.
Кинопоиск: Image ПлюсКинопоиск: Image

User avatar
ilychuk
Star
Posts: 396
Joined: Mon Oct 22, 2012 1:58 pm
Location: Minsk, Belarus
Contact:

Re: Перестал работать скрипт kinopoisk

Post by ilychuk » Fri Jul 22, 2016 11:45 am

Чтобы получить список фильмов без обложки надо выполнить следующий запрос

Code: Select all

select m.title from movies m  where m.code not in (select movie from images where mode=1) order by m.title

TerribleFloater
Superstar
Posts: 1926
Joined: Thu Feb 28, 2008 4:20 pm

Re: Перестал работать скрипт kinopoisk

Post by TerribleFloater » Fri Jul 22, 2016 4:28 pm

Совершенно верно!
Хочу: чёрные списки, пол людей, пользовательские поля изданий.
Кинопоиск: Image ПлюсКинопоиск: Image

dima29101977
The leading part candidate
Posts: 157
Joined: Tue Feb 16, 2010 1:49 pm

Скрипты Джефа модернизация-корректировка

Post by dima29101977 » Mon Aug 01, 2016 3:21 am

Добрый день и всем привет! Создал новую тему, что бы скрипт кинопоиска не мусорить. TerribleFloater, Вы как модер можете перенесете наше обсуждение из "перестал работать скрипт кинопоиска" сюда, а то шлак полный получится.
Что-то у меня никак не получается с выводом инфы. Попробовал изменить по рекомендациям с
P0094=select p.code from persons p left outer join images i on i.person=p.code where p.in_collection=1 and i.code is null order by p.name
P0094D=Люди в коллекции без фото
на
select m.code from movies m left outer join images i on i.movie=m.code where m.in_collection=1 and i.code is null order by m.title
и
select m.code from movies m left outer join images i on i.movie=m.code where ((m.in_collection=1 and m.seen=1) and (i.code is null)) order by m.title по Вашим рекомендациям
потом на ilychuk
select m.title from movies m where m.code not in (select movie from images where mode=1) order by m.title
не получается, однако. При загрузке Джефа почему-то абсолютный ноль результатов выдает. Как (если правильно) понял, результат по итогам скрипта - в коллекции без картин. Удалил ради интереса обложку первого фильма, снова прогнал и снова ноль??? Хотя скорее всего мой косяк - не много не так выразился в своих пожеланиях. Ну к примеру фильмец на КП - "бог грома" 2015 г.в. https://www.kinopoisk.ru/film/898798/ или "праздник непослушания" 2015 г.в. https://www.kinopoisk.ru/film/765125/. Т.е. есть фильм на КП, я его просмотрел, проставил оценку, занес в БАЗУ, а не КОЛЛЕКЦИЮ, но у него к сожалению нет обложки (встречаются и у которых нет и описания, нету фото, да и актеров раз-два и обчелся). Что весьма актуально для фильмов вышедших 1-2 неделю назад, приходится инфу о фильме и обложку грабить с кинопиратского сайта. Что весьма актуально для аниме. На World Arte, несмотря на вышедший сериал или полнометражное аниме где-то пол/месяц назад инфы предостаточно - ну пусть не полностью, но всё таки не так. Спустя день-два-неделю-три решаю базу на недостатки прогнать, прогоняю, вижу результат у фильма "Терминатор" "Рэмбо" "Кровавый спорт" занесенные в базу (коллекцию как вариант), само главное просмотренные, отмеченные, нету заглавных обложек (фото) к фильму. Так вот и сам вопрос - как вывести эту инфу в Джефовсом интерфейсе? И кстати что за роль играет в скрипте Джефа буква М(анг) или Р(анг), я менял в скрипте в строке P0094 сперва на TerribleFloaterа а потом на ilychukа. Но что-то ноль результатов. Или может не туда переменные вставлял?
Если проще говоря что хочу:
1. Фильм просмотрен отмечен на КП (особо не важно)
2. Скачиваю инфу по нему в мувинизер - в базу (важно), ставлю просмотр - оценку.
3. Вижу обложек (заглавного фото нету)
4. Спустя N-ое количество времени решаю недостатки устранить (если конечно на КП за это время инфа обновилась, фото заглавное появилось новые актеры, новая инфа)
5. при поиске, при выводе в Джефовском интерфейсе вижу - в данном фильме фильме нету обложек, в примечаниях, как сейчас - (в разделе "описание" нет информации, и т.д.) о данном фильме, и что следует - снова перезакачать инфу.
6. Реально ли это?
Ну т.е как раньше в скрипте Джефа было поиск
1. люди в коллекции, но без фото
2. люди не в коллекции, но с фото
принцип тот же самый только с фильмами (обложки)

TerribleFloater
Superstar
Posts: 1926
Joined: Thu Feb 28, 2008 4:20 pm

Re: Скрипты Джефа модернизация-корректировка

Post by TerribleFloater » Wed Aug 03, 2016 4:55 am

"– А что такое "глобус"?
– Вот с этого-то мы и начнём!" (с)
dima29101977 wrote:И кстати что за роль играет в скрипте Джефа буква М(анг) или Р(анг), я менял в скрипте в строке P0094 сперва на TerribleFloaterа а потом на ilychukа. Но что-то ноль результатов. Или может не туда переменные вставлял?
Вы не поверите :-) "M" — "Movies", "P" — "Persons", "Z" — всё остальное ("Другие списки" на страничке). Поэтому, чтобы увидеть свой запрос именно в списке запросов по фильмам, ему нужно присвоить букву "M". Иначе он окажется в списках людей (но работать всё равно будет).
Далее. Под запросом должно стоять его описание (то, что видно на странице). Его номер должен совпадать с номером запроса, но с добавленной буквой "D" ("Description") в конце.
Далее. Нумерация у всех запросов сквозная, независимо от первой буквы. То есть не может быть запросов P094 и M094 (или Z094) одновременно. Общее количество всех запросов, если я правильно помню, не должно превышать 200. Что меня очень огорчает.
Итого по оформлению: Ваш запрос должен начинаться с буквы "M" (чтобы фигурировать в списках фильмов); его номер должен быть уникальным по всему файлу запросов и не превышать 200; под запросом должно идти его описание с той же буквой в начале и буквой "D" на конце.
По содержанию: пример запроса от ilychuk (начну с него, он последний) не[до конца] корректен. С точки зрения чистого SQLite — вполне, а для Джефа выбирать нужно не название фильма[имя человека], а его код. Потому что код уникален. Кроме того, в нём написано про обложки, а про условие "в коллекции" ни слова.
Я набросал такой объединяющий запрос:

Code: Select all

M0138=select m.code from movies m where m.in_collection=1 and m.code not in (select movie from images where mode=1) order by m.title
M0138D=Фильмы в коллекции без обложек
Он выбирает именно то, что Вам надо. Кстати: совершенно необязательно для проверок удалять обложки. Жалко ведь. Достаточно сделать обложку чем-нибудь другим (кадром, постером, обоями…), а потом вернуть статус-кво. Я так и проверял правильность запроса.
Так что попробуйте мой вариант, обязательно сделав ему подходящий для своего файла номер. И конечно, проверьте, чтобы текст запроса был в одну строку, без переносов!
Хочу: чёрные списки, пол людей, пользовательские поля изданий.
Кинопоиск: Image ПлюсКинопоиск: Image

dima29101977
The leading part candidate
Posts: 157
Joined: Tue Feb 16, 2010 1:49 pm

Re: Скрипты Джефа модернизация-корректировка

Post by dima29101977 » Wed Aug 03, 2016 9:19 am

Что-то не получается. Вставил Ваш запрос
M0138=select m.code from movies m where m.in_collection=1 and m.code not in (select movie from images where mode=1) order by m.title
M0138D=Фильмы в коллекции без обложек
Не ищет почему то. Удалил ради интереса обложку из первого попавшего фильма, ноль результатов. Хотя по выше написанному хотелось бы не из коллекции, а из базы. Т.е, повторюсь,
1. фильм просмотрен, занесен в базу мувинизера (скачан) не важно с КП, Вордл Арта.
2. нету обложек (главного фото)
3. прогоняю спустя N-ое время, вижу у данного фильма нету обложки
4. перезакачиваю инфу.

TerribleFloater
Superstar
Posts: 1926
Joined: Thu Feb 28, 2008 4:20 pm

Re: Скрипты Джефа модернизация-корректировка

Post by TerribleFloater » Wed Aug 03, 2016 3:36 pm

dima29101977 wrote:Что-то не получается. Вставил Ваш запрос
M0138=select m.code from movies m where m.in_collection=1 and m.code not in (select movie from images where mode=1) order by m.title
M0138D=Фильмы в коллекции без обложек
Вопросы:
Куда вставили?
Под каким номером вставили?
Что щёлкали?

Ответы можно скриншотами.
PS: Я почему спрашиваю: есть два варианта. Первый: Вы что-то делаете не так. Вот я и хочу это проверить. Потому что второй вариант гораздо хуже: база Ваша разрушена :-(
Хочу: чёрные списки, пол людей, пользовательские поля изданий.
Кинопоиск: Image ПлюсКинопоиск: Image

dima29101977
The leading part candidate
Posts: 157
Joined: Tue Feb 16, 2010 1:49 pm

Re: Скрипты Джефа модернизация-корректировка

Post by dima29101977 » Fri Aug 12, 2016 6:08 am

Добрый день. Вот наконец-то выбралось свободное время и предоставляю Вам свою итоговую лабораторную работу.
1. Беру оригинальный Джефовский скрипт (JeF_program_sql.ini еще 13 года). Начинаю эксперимент.
C0051=select code, title, year, rating, filename from movies where date_add is not null and in_collection=1 order by date_add desc, code
C0051D=Последние добавленные фильмы:
C0052=select code, title, year, rating, filename from movies where date_update is not null and in_collection=1 order by date_update desc, code
C0052D=Последние измененные фильмы:
C0053=select code, name, rating from persons where date_add is not null and in_collection=1 order by date_add desc, code
C0053D=Последние добавленные люди:
C0054=select code, name, rating from persons where date_update is not null and in_collection=1 order by date_update desc, code
C0054D=Последние измененные люди:
C0055=select code, title, year, rating, filename from movies where date_add is not null and in_collection>=0 and wanted=1 order by date_add desc, code
C0055D=Фильмы в поиске по дате добавления
C0056=select m.code, m.title, m.year, m.rating, e.code from movies m left outer join editions e on e.movie=m.code where e.disc_nom='$1' order by m.date_add desc, m.code
C0056D=Фильмы в поиске по дате добавления
Z0057=select imdb_code from movies where imdb_code > '' and in_collection=1 order by imdb_code
Z0057D=Экспортировать IMDB IDs
M0081=select code, title, year, rating from movies where in_collection=1 and code not in (select distinct movie from editions where filename>"") order by date_add desc, code
M0081D=Фильмы без имен файлов
M0082=select code, title, year, rating from movies where in_collection=1 and imdb_code="" order by date_add desc, code
M0082D=Фильмы без идентификатора imdb
M0083=select distinct m.code, m.title, m.year, m.rating from movies m inner join episodes e on e.movie=m.code where m.in_collection=1 order by m.date_add desc, m.code
M0083D=Сериалы (фильмы с эпизодами)
M0084=select code, title, year from movies where code in (select distinct movie from editions where sort_order > 1) and code not in (select distinct movie from episodes)
M0084D=Фильмы с несколькими изданиями (исключая сериалы)
M0138=select m.code from movies m where m.in_collection=1 and m.code not in (select movie from images where mode=1) order by m.title
M0138D=Фильмы в коллекции без обложек

P0094=select p.code from persons p where p.in_collection=1 and p.code not in (select distinct person from images) order by p.date_add desc, p.code
P0094D=Люди без фото
C0301=select code, title, year, rating, filename from movies where in_collection=1 order by date_add desc, code
C0301-a=select code, title, year, rating, filename from movies where title like "%s%%" and in_collection=1 order by title, code
C0301-g=select m.code, m.title, m.year, m.rating, m.filename from movies m inner join movies_manuals mm on mm.movie=m.code and mm.reference=8 inner join manuals mg on mg.code=mm.ref_code where mg.code=%s and m.in_collection=1 order by m.title
C0302=select code, name from persons where in_collection=1 order by date_add desc, code
C0302-a=select code, name from persons where (name like "%s%%" or name like "%% %s%%") and in_collection=1 order by name, date_add desc, code
Как видно М0138 нигде выше-ниже не встречается, так что с чистой совестью вставляю Ваш кусочек.
Загружаю джефа, делаю перезагрузку SQL запросов - видим
Снимок.PNG
Снимок.PNG (10.57 KiB) Viewed 8057 times
что весьма very good
Берем анимеху не в коллекции, недавно просмотренную "Ван Пис Золотое сердце" , на кинопоиске правда еще без русского названия "One Piece Film: Gold" https://www.kinopoisk.ru/film/952702/ для чистоты эксперимента. Начинаю её искать, результат ё-моё???
Снимок 1 джеф.PNG
Снимок 1 джеф.PNG (37.16 KiB) Viewed 8057 times
. Нашел мульты Диснея. Ничего не понимаю. Перезагружаю бризовский интерфейс, снова ищу, и с первого прогона всё нашлось
Снимок 2 бриз.PNG
Снимок 2 бриз.PNG (23.31 KiB) Viewed 8057 times
Это искал подопытную мышь. Ладно - нашлось, выставляю, что она в коллекции. Возвращаюсь в джефовский интерфейс. Снова делаю перезагрузку SQL запросов, щелкаю по "фильмы в коллекции без обложек", и о - чудо

dima29101977
The leading part candidate
Posts: 157
Joined: Tue Feb 16, 2010 1:49 pm

Re: Скрипты Джефа модернизация-корректировка

Post by dima29101977 » Fri Aug 12, 2016 6:39 am

появляется
Снимок 3.PNG
Снимок 3.PNG (44.88 KiB) Viewed 8057 times
Сразу возникает резонный вопрос - что это было? Когда первый раз писал в середине июля и последний - неделю назад, ну ни в какую не хотелось выводится, хотя не раз и не два пробовал и Ваш и ilychukа скрипт, не выводится хоть лопни, полный ноль результатов. Может все таки из-за новой сборки мувинизера? На сборку 456 обновлялся дней 5 назад, когда глюки на КП пошли и vlad посоветовал всем обновить версию. И что джефовский скрипт так некорректно ищет результаты. Решил другое название прогнать - снова Дисней вылазит
Снимок 4 джеф.PNG
Снимок 4 джеф.PNG (84.14 KiB) Viewed 8057 times
И насчет целостности базы, сколько лет пользуюсь мувинизером, при архивации и при прогоне копий ни разу (тьфу-тьфу) мувинизер не пожаловался, что база битая, чего и всем желаю. :D

Post Reply