[Approved] [Russian] kinopoisk.ru (2 Viewers)

ajs

Development Group
  • Team MediaPortal
  • February 29, 2008
    15,616
    10,544
    Kyiv
    Home Country
    Ukraine Ukraine
    Ага, т.е. ты в правила не дбавил на основе моих, что я добавлял?
    Зачем если на трекерах такого нет? Мы же пишем универсальную а не заточенную для двоих версию.
    Я встречаю на трекерах как web, так и webdl(-dl) и другие, себе помечают просто [Web], чтобы знать, что это рип с айтюнза, к примеру.
    На трекере то оно как бла.бла.бла720р.D.WEB.avi никаких квадратных скобок.
    Ага, я примерно такое правило добавлял, точнее более расширенное даже
    Ну это уже по желанию :)
     

    ajs

    Development Group
  • Team MediaPortal
  • February 29, 2008
    15,616
    10,544
    Kyiv
    Home Country
    Ukraine Ukraine
    Скобки у года вроде тоже должен срезать?
    Зачем? Но если уж надо то даже не знаю :) можно попробовать добавить правило типа (\[|\]) или [\]\[] но как оно все скопом будет работать надо проверять :)
     

    RabinoVich

    Portal Pro
    December 29, 2009
    258
    36
    Khabarovsk
    Home Country
    Russian Federation Russian Federation
    Ну это я уже добавил, у года скобки режет, но почему-то режет все пробелы сейчас:

    Code:
    Kinopoisk.ru decode/strip search string: %d0%9e%d1%81%d1%82%d0%b0%d0%bd%d1%8c%d1%81%d1%8f+-+Stay+%5b2005%5d+%5b720%5d -> ОстаньсяStay2005

    Вот мои текущие правила обрезки:

    XML:
      <strips>
      <strip>[\(\[]?(240|360|480|720|1080|1280|2160)(p|i)?[\(\]]?</strip>
      <strip>([\._\s\(\[]|^)(rus|ukr|eng|(hard|soft)?sub)([\._\s\)\]]|$)</strip>
      <strip>(h|x)26(3|4|5)</strip>
      <strip>VC-?1</strip>
      <strip>-?AVC</strip>
      <strip>-?AC(3|C)</strip>
      <strip>(Xvid|DivX)</strip>
      <strip>X?VCD</strip>
      <strip>Tele(cine|sync)</strip>
      <strip>BluRay</strip>
      <strip>HD(TS|TV)</strip>
      <strip>(DVD|VHS)Scr(eener)?</strip>
      <strip>DVD(-?(5|9))</strip>
      <strip>(Super|HQ[\.\s_]?)DVD</strip>
      <strip>(((i|n)?VOD|CAM|SAT|DS|VHS|(PD)?TV|IPTV|DVB(-T[\s\._]?)?|DT(heater)?|L(aser)?D(isc)?|WEB|BD|B(lu)?R(ay)?|HD(TV)?|(HD-?)?DVD)-?((DL-?)?Rip|DL|Remux))</strip>
      <strip>([\._\s\(\[]|^)(S?CAM|(Super-?)?TS|TC|SCR|R5|WP)([\._\s\)\]]|$)</strip>
      <strip>([\._\s\(\[]|^)(((A|S|1|2|D|M)VO)|((D|S)UB))([\._\s\)\]]|$)</strip>
      <strip>(\.\d{3,4}MB)</strip>
      <strip>([_\.]\d\.\d{2}([^\d\.]|$))</strip>
      <strip>[\.\(\[](Extended|Director's.cut|Unrated|Web)[\)\]]?</strip>
      <strip>[\[\(]?(((ru-?)?(t(racke|o)r(rent)?)\.([a-z]{2,3})(?![a-z]))|((HD|nnm|IRON)-?Club|HELLYWOOD|iTunes))[\]\)]?</strip>
      <strip>[\._]by[\._][^\._]+?$</strip>
      <strip>\[[a-zA-Z]+?\]\s?</strip>
      <strip>\[|\]</strip>
      <strip>-\s</strip>
      </strips>

    Сдаётся мне, что причина в скрипте между 777-797 строками:

    XML:
      private string GetsearchString(string str) {
      string searchString = HttpUtility.UrlDecode(str);
      string rx_strip = string.Empty;
      foreach (string strip in SearchConfig.GetInstance().Strips) {
      if (!string.IsNullOrEmpty(rx_strip)) {
      rx_strip += "|";
      }
      rx_strip += @"[\+\s]*" + strip;
      }
      Log.Debug("Kinopoisk.ru regexp: {0}", rx_strip);
      if (!string.IsNullOrEmpty(rx_strip)) {
      searchString = Regex.Replace(searchString, rx_strip, string.Empty, RegexOptions.IgnoreCase);
      }
      rx_strip = @"[\.\s_]+";
      searchString = Regex.Replace(searchString, rx_strip, " ", RegexOptions.IgnoreCase).Trim();
       
      Log.Debug("Kinopoisk.ru decode/strip search string: {0} -> {1}", str, searchString);
      // Log.Info("Debug - 1251 search string: {0}", HttpUtility.UrlEncode(searchString, Encoding.GetEncoding("windows-1251")));
      // Log.Info("Debug - utf8 search string: {0}", HttpUtility.UrlEncode(searchString, Encoding.GetEncoding("utf-8")));
      return HttpUtility.UrlEncode(searchString, Encoding.GetEncoding("windows-1251"));
      }
    Только не знаю как правильно исправить
     

    ajs

    Development Group
  • Team MediaPortal
  • February 29, 2008
    15,616
    10,544
    Kyiv
    Home Country
    Ukraine Ukraine
    Сдаётся мне, что причина в скрипте между 777-797 строками:
    Причина чего? Пропадания пробелов?
    Финальное правило:
    Code:
    [\.\s_]+[\(\[]?(240|360|480|720|1080|1280|2160)(p|i)?[\(\]]?|[\.\s_]+([\._\s\(\[]|^)(rus|ukr|eng|(hard|soft)?sub)([\._\s\)\]]|$)|[\.\s_]+(h|x)26(3|4|5)|[\.\s_]+VC-?1|[\.\s_]+-?AVC|[\.\s_]+-?AC(3|C)|[\.\s_]+(Xvid|DivX)|[\.\s_]+X?VCD|[\.\s_]+Tele(cine|sync)|[\.\s_]+BluRay|[\.\s_]+HD(TS|TV)|[\.\s_]+(DVD|VHS)Scr(eener)?|[\.\s_]+DVD(-?(5|9))|[\.\s_]+(Super|HQ[\.\s_]?)DVD|[\.\s_]+(((i|n)?VOD|CAM|SAT|DS|VHS|(PD)?TV|IPTV|DVB(-T[\s\._]?)?|DT(heater)?|L(aser)?D(isc)?|WEB|BD|B(lu)?R(ay)?|HD(TV)?|(HD-?)?DVD)-?((DL-?)?Rip|DL|Remux))|[\.\s_]+([\._\s\(\[]|^)(S?CAM|(Super-?)?TS|TC|SCR|R5|WP)([\._\s\)\]]|$)|[\.\s_]+([\._\s\(\[]|^)(((A|S|1|2|D|M)VO)|((D|S)UB))([\._\s\)\]]|$)|[\.\s_]+(\.\d{3,4}MB)|[\.\s_]+([_\.]\d\.\d{2}([^\d\.]|$))|[\.\s_]+[\.\(\[](Extended|Director's.cut|Unrated|Web)[\)\]]?|[\.\s_]+[\[\(]?(((ru-?)?(t(racke|o)r(rent)?)\.([a-z]{2,3})(?![a-z]))|((HD|nnm|IRON)-?Club|HELLYWOOD|iTunes))[\]\)]?|[\.\s_]+[\._]by[\._][^\._]+?$|[\.\s_]+\[[a-zA-Z]+?\]\s?|[\.\s_]+\[|\]|[\.\s_]+-\s
    Для Останься - Stay [2005] Вернет ОстаньсяStay2005
    upload_2016-1-7_19-6-10.png
    Т.е. все как просили :)
     

    RabinoVich

    Portal Pro
    December 29, 2009
    258
    36
    Khabarovsk
    Home Country
    Russian Federation Russian Federation
    Т.е. все как просили
    Не-а!
    Финальное правило
    Откуда это финальное? У меня финальное, которое я потом ещё подправил другое. Но если в это финальное вставить "хвост" с моего, то начинает удалять правильно
    Code:
    [\.\s_]+[\(\[]?(240|360|480|720|1080|1280|2160)(p|i)?[\(\]]?|[\.\s_]+([\._\s\(\[]|^)(rus|ukr|eng|(hard|soft)?sub)([\._\s\)\]]|$)|[\.\s_]+(h|x)26(3|4|5)|[\.\s_]+VC-?1|[\.\s_]+-?AVC|[\.\s_]+-?AC(3|C)|[\.\s_]+(Xvid|DivX)|[\.\s_]+X?VCD|[\.\s_]+Tele(cine|sync)|[\.\s_]+BluRay|[\.\s_]+HD(TS|TV)|[\.\s_]+(DVD|VHS)Scr(eener)?|[\.\s_]+DVD(-?(5|9))|[\.\s_]+(Super|HQ[\.\s_]?)DVD|[\.\s_]+(((i|n)?VOD|CAM|SAT|DS|VHS|(PD)?TV|IPTV|DVB(-T[\s\._]?)?|DT(heater)?|L(aser)?D(isc)?|WEB|BD|B(lu)?R(ay)?|HD(TV)?|(HD-?)?DVD)-?((DL-?)?Rip|DL|Remux))|[\.\s_]+([\._\s\(\[]|^)(S?CAM|(Super-?)?TS|TC|SCR|R5|WP)([\._\s\)\]]|$)|[\.\s_]+([\._\s\(\[]|^)(((A|S|1|2|D|M)VO)|((D|S)UB))([\._\s\)\]]|$)|[\.\s_]+(\.\d{3,4}MB)|[\.\s_]+([_\.]\d\.\d{2}([^\d\.]|$))|[\.\s_]+[\.\(\[](Extended|Director's.cut|Unrated|Web)[\)\]]?|[\.\s_]+[\[\(]?(((ru-?)?(t(racke|o)r(rent)?)\.([a-z]{2,3})(?![a-z]))|((HD|nnm|IRON)-?Club|HELLYWOOD|iTunes))[\]\)]?|[\.\s_]+[\._]by[\._][^\._]+?$|\[[a-zA-Z]+?\]\s?|\[|\]|-\s
    Но это "правильно" по regexr.com (спасибо за сайт этот, я не знал что есть такой), я только что проверил!
    Затем я превращаю это правило в вид для конфига:
    Code:
      <strip>[\.\s_]+[\(\[]?(240|360|480|720|1080|1280|2160)(p|i)?[\(\]]?</strip>
      <strip>[\.\s_]+([\._\s\(\[]|^)(rus|ukr|eng|(hard|soft)?sub)([\._\s\)\]]|$)</strip>
      <strip>[\.\s_]+(h|x)26(3|4|5)</strip>
      <strip>[\.\s_]+VC-?1</strip>
      <strip>[\.\s_]+-?AVC</strip>
      <strip>[\.\s_]+-?AC(3|C)|[\.\s_]+(Xvid|DivX)</strip>
      <strip>[\.\s_]+X?VCD</strip>
      <strip>[\.\s_]+Tele(cine|sync)</strip>
      <strip>[\.\s_]+BluRay</strip>
      <strip>[\.\s_]+HD(TS|TV)</strip>
      <strip>[\.\s_]+(DVD|VHS)Scr(eener)?</strip>
      <strip>[\.\s_]+DVD(-?(5|9))</strip>
      <strip>[\.\s_]+(Super|HQ[\.\s_]?)DVD</strip>
      <strip>[\.\s_]+(((i|n)?VOD|CAM|SAT|DS|VHS|(PD)?TV|IPTV|DVB(-T[\s\._]?)?|DT(heater)?|L(aser)?D(isc)?|WEB|BD|B(lu)?R(ay)?|HD(TV)?|(HD-?)?DVD)-?((DL-?)?Rip|DL|Remux))</strip>
      <strip>[\.\s_]+([\._\s\(\[]|^)(S?CAM|(Super-?)?TS|TC|SCR|R5|WP)([\._\s\)\]]|$)</strip>
      <strip>[\.\s_]+([\._\s\(\[]|^)(((A|S|1|2|D|M)VO)|((D|S)UB))([\._\s\)\]]|$)</strip>
      <strip>[\.\s_]+(\.\d{3,4}MB)</strip>
      <strip>[\.\s_]+([_\.]\d\.\d{2}([^\d\.]|$))</strip>
      <strip>[\.\s_]+[\.\(\[](Extended|Director's.cut|Unrated|Web)[\)\]]?</strip>
      <strip>[\.\s_]+[\[\(]?(((ru-?)?(t(racke|o)r(rent)?)\.([a-z]{2,3})(?![a-z]))|((HD|nnm|IRON)-?Club|HELLYWOOD|iTunes))[\]\)]?</strip>
      <strip>[\.\s_]+[\._]by[\._][^\._]+?$</strip>
      <strip>\[[a-zA-Z]+?\]\s?</strip>
      <strip>\[|\]</strip>
      <strip>-\s</strip>
    Сохраняю, ребутаю конфигуратор, запускаю новое сканирвоание и он режет пробелы, а по факту в логе правило куда более жирное:
    Code:
    [\+\s]*[\.\s_]+[\(\[]?(240|360|480|720|1080|1280|2160)(p|i)?[\(\]]?|[\+\s]*[\.\s_]+([\._\s\(\[]|^)(rus|ukr|eng|(hard|soft)?sub)([\._\s\)\]]|$)|[\+\s]*[\.\s_]+(h|x)26(3|4|5)|[\+\s]*[\.\s_]+VC-?1|[\+\s]*[\.\s_]+-?AVC|[\+\s]*[\.\s_]+-?AC(3|C)|[\.\s_]+(Xvid|DivX)|[\+\s]*[\.\s_]+X?VCD|[\+\s]*[\.\s_]+Tele(cine|sync)|[\+\s]*[\.\s_]+BluRay|[\+\s]*[\.\s_]+HD(TS|TV)|[\+\s]*[\.\s_]+(DVD|VHS)Scr(eener)?|[\+\s]*[\.\s_]+DVD(-?(5|9))|[\+\s]*[\.\s_]+(Super|HQ[\.\s_]?)DVD|[\+\s]*[\.\s_]+(((i|n)?VOD|CAM|SAT|DS|VHS|(PD)?TV|IPTV|DVB(-T[\s\._]?)?|DT(heater)?|L(aser)?D(isc)?|WEB|BD|B(lu)?R(ay)?|HD(TV)?|(HD-?)?DVD)-?((DL-?)?Rip|DL|Remux))|[\+\s]*[\.\s_]+([\._\s\(\[]|^)(S?CAM|(Super-?)?TS|TC|SCR|R5|WP)([\._\s\)\]]|$)|[\+\s]*[\.\s_]+([\._\s\(\[]|^)(((A|S|1|2|D|M)VO)|((D|S)UB))([\._\s\)\]]|$)|[\+\s]*[\.\s_]+(\.\d{3,4}MB)|[\+\s]*[\.\s_]+([_\.]\d\.\d{2}([^\d\.]|$))|[\+\s]*[\.\s_]+[\.\(\[](Extended|Director's.cut|Unrated|Web)[\)\]]?|[\+\s]*[\.\s_]+[\[\(]?(((ru-?)?(t(racke|o)r(rent)?)\.([a-z]{2,3})(?![a-z]))|((HD|nnm|IRON)-?Club|HELLYWOOD|iTunes))[\]\)]?|[\+\s]*[\.\s_]+[\._]by[\._][^\._]+?$|[\+\s]*\[[a-zA-Z]+?\]\s?|[\+\s]*\[|\]|[\+\s]*-\s
    А вот оно уже удаляет пробелы! Почему моё правило превращается в это правило? Думается мне строки скрипта 777-797 при делах, не?
     
    Last edited:

    ajs

    Development Group
  • Team MediaPortal
  • February 29, 2008
    15,616
    10,544
    Kyiv
    Home Country
    Ukraine Ukraine
    Откуда это финальное?
    Отсюда - https://forum.team-mediaportal.com/threads/russian-kinopoisk-ru.93004/page-49#post-1170023
    Затем я превращаю это правило в вид для конфига
    То надо превращать в:
    XML:
      <strip>[\(\[]?(240|360|480|720|1080|1280|2160)(p|i)?[\(\]]?</strip>
      <strip>([\._\s\(\[]|^)(rus|ukr|eng|(hard|soft)?sub)([\._\s\)\]]|$)</strip>
      <strip>(h|x)26(3|4|5)</strip>
      <strip>VC-?1</strip>
      <strip>-?AVC</strip>
      <strip>-?AC(3|C)|[\.\s_]+(Xvid|DivX)</strip>
      <strip>X?VCD</strip>
      <strip>Tele(cine|sync)</strip>
      <strip>BluRay</strip>
      <strip>HD(TS|TV)</strip>
      <strip>(DVD|VHS)Scr(eener)?</strip>
      <strip>DVD(-?(5|9))</strip>
      <strip>(Super|HQ[\.\s_]?)DVD</strip>
      <strip>(((i|n)?VOD|CAM|SAT|DS|VHS|(PD)?TV|IPTV|DVB(-T[\s\._]?)?|DT(heater)?|L(aser)?D(isc)?|WEB|BD|B(lu)?R(ay)?|HD(TV)?|(HD-?)?DVD)-?((DL-?)?Rip|DL|Remux))</strip>
      <strip>([\._\s\(\[]|^)(S?CAM|(Super-?)?TS|TC|SCR|R5|WP)([\._\s\)\]]|$)</strip>
      <strip>([\._\s\(\[]|^)(((A|S|1|2|D|M)VO)|((D|S)UB))([\._\s\)\]]|$)</strip>
      <strip>(\.\d{3,4}MB)</strip>
      <strip>([_\.]\d\.\d{2}([^\d\.]|$))</strip>
      <strip>[\.\(\[](Extended|Director's.cut|Unrated|Web)[\)\]]?</strip>
      <strip>[\[\(]?(((ru-?)?(t(racke|o)r(rent)?)\.([a-z]{2,3})(?![a-z]))|((HD|nnm|IRON)-?Club|HELLYWOOD|iTunes))[\]\)]?</strip>
      <strip>[\._]by[\._][^\._]+?$</strip>
      <strip>\[[a-zA-Z]+?\]\s?</strip>
      <strip>\[|\]</strip>
      <strip>-\s</strip>
     

    RabinoVich

    Portal Pro
    December 29, 2009
    258
    36
    Khabarovsk
    Home Country
    Russian Federation Russian Federation
    То надо превращать в:
    Так это тоже самое что и было. Я добавлю это в конфги, скрипт приклеит ко всем строкам (в т.ч. к 3м нижним правилам) [\.\s_]+, в следствие чего будут удалены пробелы и слова слепятся. А это же нам не нужно

    Собственно сейчас и убедился - удаляет все пробелы, текст превращается в кашу, по запросу на которую ничего не будет найдено. Как быть?
     

    ajs

    Development Group
  • Team MediaPortal
  • February 29, 2008
    15,616
    10,544
    Kyiv
    Home Country
    Ukraine Ukraine
    Так это тоже самое что и было.
    Нет, есть отличия и существенные :) если присмотреться :)
    Собственно сейчас и убедился - удаляет все пробелы, текст превращается в кашу, по запросу на которую ничего не будет найдено. Как быть?
    Наверно убрать <strip>-\s</strip> Кинопоиску все равно сколько там пробелов он даже такое отлично находит: Taken 2 2012 D BDRip :) вчера проверил :)
     

    ajs

    Development Group
  • Team MediaPortal
  • February 29, 2008
    15,616
    10,544
    Kyiv
    Home Country
    Ukraine Ukraine
    Пересмотрел еще раз правила, получил:
    XML:
                <strip>[\(\[]?(240|360|480|720|1080|1280|2160)(p|i)?[\(\]]?</strip>
                <strip>rus|ukr|eng|(hard|soft)?sub</strip>
                <strip>(h|x)26(3|4|5)</strip>
                <strip>VC-?1</strip>
                <strip>-?AVC</strip>
                <strip>-?AC(3|C)</strip>
                <strip>(Xvid|DivX)</strip>
                <strip>X?VCD</strip>
                <strip>Tele(cine|sync)</strip>
                <strip>BluRay</strip>
                <strip>HD(TS|TV)</strip>
                <strip>(DVD|VHS)Scr(eener)?</strip>
                <strip>DVD(-?(5|9))</strip>
                <strip>(Super|HQ[\.\s_]?)DVD</strip>
                <strip>(((i|n)?VOD|CAM|SAT|DS|VHS|(PD)?TV|IPTV|DVB(-T[\s\._]?)?|DT(heater)?|L(aser)?D(isc)?|WEB|BD|B(lu)?R(ay)?|HD(TV)?|(HD-?)?DVD)-?((DL-?)?Rip|DL|Remux))</strip>
                <strip>[\(\[]?(S?CAM|(Super-?)?TS|TC|SCR|R5|WP)[\)\]]?</strip>
                <strip>[\(\[]?(((A|S|1|2|D|M)VO)|((D|S)UB))[\)\]]?</strip>
                <strip>(\d{3,4}MB)</strip>
                <strip>\s|([_\.]\d\.\d{2}(\.|_|$))</strip>
                <strip>[\(\[]?(Extended|Theatrical|Director's.cut|Unrated)[\)\]]?</strip>
                <strip>[\[\(]?(((ru-?)?(t(racke|o)r(rent)?)\.([a-z]{2,3})(?![a-z]))|((HD|nnm|IRON)-?Club|HELLYWOOD|iTunes))[\]\)]?</strip>
                <strip>by[\._][^\._]+?$</strip>
    Чтобы работали добавленные ваши, пробуйте заменить эти строки
    <strip>\[|\]</strip>
    На
    XML:
    <strip>\s|\[|\]</strip>
    <strip>-\s</strip>
    На
    XML:
    <strip>\s|-\s</strip>
    Т.е. по итогу получим:
    XML:
                <strip>[\(\[]?(240|360|480|720|1080|1280|2160)(p|i)?[\(\]]?</strip>
                <strip>rus|ukr|eng|(hard|soft)?sub</strip>
                <strip>(h|x)26(3|4|5)</strip>
                <strip>VC-?1</strip>
                <strip>-?AVC</strip>
                <strip>-?AC(3|C)</strip>
                <strip>(Xvid|DivX)</strip>
                <strip>X?VCD</strip>
                <strip>Tele(cine|sync)</strip>
                <strip>BluRay</strip>
                <strip>HD(TS|TV)</strip>
                <strip>(DVD|VHS)Scr(eener)?</strip>
                <strip>DVD(-?(5|9))</strip>
                <strip>(Super|HQ[\.\s_]?)DVD</strip>
                <strip>(((i|n)?VOD|CAM|SAT|DS|VHS|(PD)?TV|IPTV|DVB(-T[\s\._]?)?|DT(heater)?|L(aser)?D(isc)?|WEB|BD|B(lu)?R(ay)?|HD(TV)?|(HD-?)?DVD)-?((DL-?)?Rip|DL|Remux))</strip>
                <strip>[\(\[]?(S?CAM|(Super-?)?TS|TC|SCR|R5|WP)[\)\]]?</strip>
                <strip>[\(\[]?(((A|S|1|2|D|M)VO)|((D|S)UB))[\)\]]?</strip>
                <strip>(\d{3,4}MB)</strip>
                <strip>\s|([_\.]\d\.\d{2}(\.|_|$))</strip>
                <strip>[\(\[]?(Extended|Theatrical|Director's.cut|Unrated)[\)\]]?</strip>
                <strip>[\[\(]?(((ru-?)?(t(racke|o)r(rent)?)\.([a-z]{2,3})(?![a-z]))|((HD|nnm|IRON)-?Club|HELLYWOOD|iTunes))[\]\)]?</strip>
                <strip>by[\._][^\._]+?$</strip>
                <strip>\[[a-zA-Z]+?\]</strip>
                <strip>\s|\[|\]</strip>
                <strip>\s|-\s</strip>
    И тогда будет такой результат:
    upload_2016-1-8_14-13-17.png
     

    Users who are viewing this thread

    Top Bottom