amarao (amarao_san) wrote,
amarao
amarao_san

гаттай

Итак, что сейчас есть:

код, который позволяет для заданного имени (с большой вероятностью) определить имя, номер серии и оценить качество.

Что нужно?

Задача 1:
1) сделать фильтр торрентов.

2) сделать сортировщик инкаминг.


Задача первого вида.
а) получить список имён файлов (возможно, нужно будет научиться парсить торрент-файлы)
б) сказать "принимаем или нет". Точная реализация пока не важна, важна идея "фильтрации".

Задача второго вида интереснее.
Мы имеем incoming в виде одного или нескольких каталогов, а так же имеем outcoming нескольких видов. Пока, для удобства, положим, что outcoming имеет только одно предпочтительное место, куда надо складывать (потом это будет не так, так как есть идея сделать автопоиск complete). В принципе, на текущем уровне, мы можем полагать, что у нас вообще один outcoming, а все остальные incoming.

Мы имеем список файлов, с возможными повторами и пересечениями. Мы анализируем все имена всех файлов, группируем их в порядке title, episode, всё остальное.

Далее мы для каждой пары (title,episode) осуществляем выбор одного или нескольких файлов (N.B. надо ещё подумать о том, что 33v2 это то же самое, что 33, но лучше, но только если это один и тот же саббер), в зависимости от выбранной стратегии (выбор стратегии пока оставим в стороне, примем пока за основу "один файл одной серии"). Точный критерий выбора будет включать в себя множество факторов (включая фэнсаббера, качество и т.д.), пока примем за данность, что мы для множества файлов выбираем фаворита (пока одного, в дальнейшем нескольких).

Далее, мы для всех файлов в группе принимаем решение:
move_to_outcoming - файл принят и будет "сохранён".
delete_from_incoming - файл НЕ принят и будет удалён
delete_from_outcoming - файлу нашлась замена и файл будет удалён (разделение двух delete искуственное, потому что удаление из outcoming более серьёзная вещь, чем из incoming).
keep (экивалент move_to_outcoming, но в отношении уже лежащих файлов в outcoming).
skip (аналогично, для incoming - файл просто пропускается без анализа - в дальнейшем, возможно, файл будет просто двигаться в отдельный "проблемный каталог" для ручной сортировки).


Ближайшая задача - написать имитацию деятельности (т.е. построение лога операций без самих операций).

Некоторые мысли по оценке "веса" файла (т.е. его предпочтительности):

Необходимо добавить автоувеличение веса файла, если его саббер равен сабберу остальных файлов с тем же самым title. Таким образом, чем больше файлов от одного саббера, тем более предпочтительными они являются (даже, быть может, чуть меньшего качества). Это формирует склонность к комплитам.

При прочих равных следует выбирать файл большего размера (повторю, при прочих равных).

Дополнительно, в силу очевидной оптимизации, следует отдавать предпочтение (при прочих равных) файлам, которые уже лежат в outcoming.
Tags: gattai
Subscribe

  • А вот вам пост об исторической нелогичности

    Вот есть у меня файл /etc/default/grub.d/unified.cfg для включения unified cgroups для systemd. А вот вопрос (ответ на который я хорошо знаю, но…

  • ансибло-философия

    А вот я хочу продолжить думать умное про ансибл, ci/cd и прочую рабочую фигню между гитом и сервером. Классическое программирование стремится…

  • апгрейдовое

    А вот шифрованный home я переносил вообще ленивым образом - тупо сделал dd для раздела и поправил путь к устройству для кастомного pam_exec-скрипта.…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 17 comments

  • А вот вам пост об исторической нелогичности

    Вот есть у меня файл /etc/default/grub.d/unified.cfg для включения unified cgroups для systemd. А вот вопрос (ответ на который я хорошо знаю, но…

  • ансибло-философия

    А вот я хочу продолжить думать умное про ансибл, ci/cd и прочую рабочую фигню между гитом и сервером. Классическое программирование стремится…

  • апгрейдовое

    А вот шифрованный home я переносил вообще ленивым образом - тупо сделал dd для раздела и поправил путь к устройству для кастомного pam_exec-скрипта.…