206 комментариев

Ответ на http://notabenoid.org/blog/33891#cmt_2582930 , вынес отдельным комментом, что было заметнее.

В общем, что-то я там сделал, хотя и без фанатизма.

Добавлен чекбокс «не импортировать уже имеющиеся переводы» в утилите импорта перевода. Доступна во всех режимах, кроме «Выборочного» (потому что при таком режиме даже опроса сайта не происходит – нечего анализировать).
Можно комбинировать с «удалять лишние пробелы внутри строк» (потому что пробелы – тоже символы и учитываются при анализе).
Рабоспособность на текстах проверил, на сабах – нет, но должно работать.

Помимо этого ощутимо изменил структуру всех скриптов (вынес функции из одного файла в разные – кто бы мог подумать, что проект настолько разрастётся :))

Добавил преобразование парных символов перевода строки «\r\n» в «\n» во всех файлах, загружаемых пользователем.

Об обнаруженных ошибках сообщайте сюда или в ВК.

Посмотрел.
Забыл совсем, там же для srt своя галочка есть, потому что файлы своего формата.
Но там проверки никакой не делается, да. Но при текущем, универсальном алгоритме сделать иначе просто невозможно, потому что сперва отдельно делается проверка на количество фрагментов, потом получается ID оригинала и к нему просто добавляется перевод, т.е. никакого анализа при этом не делается совсем.

Единственное, что я попытаюсь сейчас сделать, это проверку на уже присутствие такого перевода, который пытается добавиться (см. http://notabenoid.org/blog/33891#cmt_2582480).

Я с таймингами не работаю, но суть, кажется, понял.
Сдаётся мне, что это тот случай, когда проще предварительно подготовить файл, чем пытаться перенести весьма частный случай в скрипт/программу.
Достаточно найти такие пропущенные фрагменты и на их месте оставить пустые строки, тогда при импорте-втягивании в соответствующих строках перевода не будет. Это можно сделать в режимах 1 и 3, во втором не помню, кажется нельзя. Там можно курсор навести на кнопочки – вылезет подсказка с описанием.
http://vayurik.ru/tools/notabenoid/import_translate_file.php

Хм... Может, и ко второму режиму что-то подобное каким-то образом прикрутить? Три пустые строки подряд == пропущенному фрагменту, м? Сабы же многострочные, да?

Не очень понял.
Если можно, ссылку на проект и пример файла перевода.

Добавлена возможность «подтягивания» имени файла в поле «название главы» в утилите создания главы в переводе.

Внимание!
При заливке нескольких глав, после загрузки одной главы и нажатия на кнопку «Назад», некоторые браузеры запоминают имя уже загруженного файла и тогда в поле названия уже будет прописано имя уже загруженного файла, тогда, после выбора следующего файла, нужно просто встать в поле названия главы и стереть старое название – новое будет подставлено автоматически.

Типа инкрементарно?
Неплохая идея, на недельке подумаю.

Пока я ебу траха совокупляюсь с C# на предмет переноса утилит в десктоп. Ох уж это ООП...

Ровно как и поиск фразы по всему проекту, например...

Однако грех жаловаться – он молодец, он проделал огромный объём работы и поддерживает до сих пор такого монстра. Честь ему и хвала :)

Я особо не слежу. Просто проскакивает иногда, порой знакомые ссылки кидают, кто следит.
Однако неспешное приращение номера версии как бы намекает... :)

Отказался от этой затеи – при таймлимите на хостинге 15 минут эта затея лишена смысла. Да и нужды в этом большой не было, честно говоря.

Я сейчас подумываю Си Шарп освоить, а т.к. осваивать надо «на кошечках», то попытаюсь все эти тулзы перенести в приложение.
А так у всех свои задачи, это абсолютно нормально. Ещё бы API бы нормальное, может и появились бы оффлайн-клиенты нормальные. Но насколько я помню, Дмитрий заявлял, что API не будет.

Не хочу ничего кардинально менять, работает – не трожь :)

Нет, не заливкой. Точнее, заливкой, но не пустого контента. Даже не так...
Короче. Если вызвать скрипт заливки оригиналов из файла (в общем случае ссылка на него, когда в главе уже есть данные, недоступна), то старые данные грохаются. Т.е. достаточно залить один пустой фрагмент через эмуляцию заливки оригиналов из файла – и вуаля!

> я не через браузер заходу, а через игру.

А батенька знает толк... :D

Чуток поломалось, но суть, думаю, ясна.

Почему я использовал snoopy, а не curl? Фиг знает, не помню уже.

Как-то так там всё:


$snoopy = new Snoopy;
$snoopy->agent = 'Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0';
$snoopy->rawheaders['Pragma'] = 'no-cache';

if (isset($userName) && isset($userPassword) && (strlen($userName) > 0) && (strlen($userPassword) > 0))
{
$post_array = array();
$post_array[«login[login]»] = $userName;
$post_array[«login[pass]»] = $userPassword;
$snoopy->submit('http://notabenoid.org', $post_array);
if (strpos($snoopy->response_code, '200') === false)
{
echo 'Ошибка авторизации
' . «\n»;
echo '

';
return;
}
}

$snoopy->fetch($urlProject);

Не понял сути вопроса. Я хостю свой сайт, а утилиты – малая часть того, что там живёт. Живёт, хлеба (какого-то дополнительного) не просит. Ещё бы денег кто на хостинг закинул – было б совсем хорошо :D
Скорее на Ноте что-то изменится и их придётся переписывать, а мне будет лень. Но сколько лет я ни пытаюсь найти себе более... выгодное хобби, всё как-то никак :)

> На нотабеноиде так нельзя, потому что там авторизация через куки
Нет, там всё весьма прозаично. FireBug в руки, и всё как на ладони :)
Авторизацию я делал очень давно, сейчас уже точно не помню, но какого-то секса (в худшем смысле этого слова) там не было, это не МТС и не некоторые дистрибуторы, у которых порой весьма извращённые авторизации попадаются, с паролями-отзывами-явками :)

> Хотя, в принципе, можно зарегать бота, и им логиниться, чтобы скачать.
Для систематической работы в составе разных групп заведение бота является порой жизненной необходимостью :)

Хех, ну да, описание там ещё со времён старой Ноты. Надо и правда поправить.

Разумеется, параметры можно указывать не все, а избирательно. Например, логин-пароль пропустить, тогда перед запуском их надо будет вводить руками просто.

Резюме
Пол:
мужчина
Родной язык:
русский
С нами:
с 2 сентября 2012 г. (5157 дней) по приглашению maximnot
Деятельность:
154883 версии перевода с общим рейтингом 18026
104397 комментариев
Карма: 35 (оценок: 35)
Написать DOOMer личное сообщение