Loading...
Error

Пакетная загрузка - формирование уникального имени издания

Страницы:   Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.

Ответить на тему

 | 

 
Автор Сообщение

Bill_G

Цитата:

ftp://free-books.dontexist.com/magz/magz/Populyarnaya mehanika/Populyarnaya mehanika 02 2002-12 HQ.cbr: Недопустимый URL (не 'http' или 'ftp').
этот файл идет первым, видимо тот случай с дописыванием 2 байт в начало

KaraBY

Bill_G

Цитата:

но а что же дальше?
Дальше информация заносится в базу данных и файл (ссылка) готов к скачиванию.

Цитата:

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

Цитата:

Цитата:

номер - так как создано в раскладке номеров
какой именно?
номер месяца в году, Текущая (погодная) нумерация, Валовая (сплошная) нумерация ?
Текущая (погодная) нумерация

KaraBY

Bill_G писал(а):

Цитата:

ftp://free-books.dontexist.com/magz/magz/Populyarnaya mehanika/Populyarnaya mehanika 02 2002-12 HQ.cbr: Недопустимый URL (не 'http' или 'ftp').
этот файл идет первым, видимо тот случай с дописыванием 2 байт в начало
Именно. Я сегодня напишу анализатор кодировки файла, по крайней мере, этот случай будет отрабатываться. Как вариант (временный?) я добавлю при загрузке выбор кодировки вручную из списка.

Bill_G

Цитата:

Я сегодня напишу анализатор кодировки файла, по крайней мере, этот случай будет отрабатываться. Как вариант (временный?)
пробовал скармливать utf8 и win 1251 с кириллицей, не работает - не найден URL

Цитата:

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

KaraBY

Bill_G писал(а):

Цитата:

Я сегодня напишу анализатор кодировки файла, по крайней мере, этот случай будет отрабатываться. Как вариант (временный?)
пробовал скармливать utf8 и win 1251 с кириллицей, не работает - не найден URL

Цитата:

Как вариант (временный?) я добавлю при загрузке выбор кодировки вручную из списка.
думаю, поскольку фтп у нас один, то такая универсальность никчему
Анализатор сделал. Не на 100% но корректно понимает кирилицу в следующих кодировках:
1. Виндовая
2. UTF-8 как с BOM (это которые efbbbf ) так и без
3. UTF-16 (BE, LE) - это юникод с 2-мя первыми байтами BOM (создаются некоторыми виндовыми редакторами когда выбираем юникод)

При наличии BOM будет корректно определять любую кодировку, не только кирилицу.

Не понимает (не проверяет) - KOI-8 и DOS (cp866).

Кстати, исправил один глюк - при заливке файла непосредственно на сервер - искажались русские имена (известный глюк функции basename). теперь все имена транслитерируются (транслитируются, транслитуются???)

KaraBY

Про именование файлов по шаблону.
Ранее писалось:

Цитата:

думаю, что формата
Название Год(4 цифры)-номер за год(2 цифры вполне достаточно)
напр.
имен файлов типа:
Популярная механика 2003-01
Популярная механика 2003-02-05

по поводу сканирования хочу дополнить свой предыдущий пост,
с примером журнала,

неплохо бы сканировать содержимое папки по маске имен файлов типа:
Популярная механика 2003-01*.*
Популярная механика 2003-02*.*
Популярная механика 2003-03*.*

то есть скрипту будет важно только с чего начинается имя файла, поскольку в конце имени могут быть какие-то служебные пометки, не говоря о различных расширениях
Во первых, загрузка по шаблону возможна только для ftp. HTTP - шаблоны не поддерживает. Но это так, между прочим. Мы говорим сейчас о FTP.
Во-вторых. для номеров 2-х знаков в общем случае недостаточно: а) для газет (обобщая) нужно до 366 б) в дорев. изданиях часто использовалась валовая нумерация ("Б-ка для чтения" и др.) в) как быть со сдвоенными и пр. номерами (напр. пример выше - 02-05).
В-третьих, я пока не до конца представляю реализацию шаблона, пусть и с жесткими требованиями к формату. Например:
шаблон "Популярная механика %y%y%y%y-%n%n[-%n%n]*.*" - что то такого типа (или "Популярная механика %4y-%2n[-%2n]*.*")?
Пойдет?

Bill_G

Цитата:

Анализатор сделал. Не на 100% но корректно понимает кирилицу в следующих кодировках:
не работает,
для utf8 файл по урл не найден,
для win1251 - Firefox не может найти файл http://magzdb.org/ptools/bul/j/20.

вот попробуйте скормить ему это:
ftp://free-books.dontexist.com/magz/2.txt

Цитата:

В-третьих, я пока не до конца представляю реализацию шаблона, пусть и с жесткими требованиями к формату. Например:
шаблон "Популярная механика %y%y%y%y-%n%n[-%n%n]*.*" - что то такого типа (или "Популярная механика %4y-%2n[-%2n]*.*")?
совершенно верно, для общего случая вполне годится,
только надо учесть, что шаблонов может быть 2 вида, с годом+месяц и только валовая нумерация, тип шаблона должен выбираться на этапе оформления подшивки

если говорить о виде нумерации год+месяц, то тут 2 чисел после года вполне хватит (даже если выходит ежедневно),
по поводу сдвоенных номерв формат Популярная механика %y%y%y%y-%n%n[-%n%n]*.*
вполне ему соответствует, единственная тонкость формата записи- если пропущено 2 и более номеров:
например писать Популярная механика 2005-02-05 или Популярная механика 2005-02-03-04-05,

если у нас валовая нумерация, то самая крупная подшивка которая мне попадалась ~7000 номеров (Nature magazine)
то есть 4 цифр вполне достаточно
Популярная механика %n%n%n%n*.*
Популярная механика %n%n%n%n[-%n%n%n%n]*.*

Цитата:

Во первых, загрузка по шаблону возможна только для ftp. HTTP - шаблоны не поддерживает. Но это так, между прочим. Мы говорим сейчас о FTP.
не очень понял формулировку "загрузка по шаблонам"
сначала делается листинг каталога, то есть абсолютные пути по которым будут находится журналы у нас есть ,
после чего этот листинг парсится и сравнивается распарсенное с тем шаблоном, который сервер генерирует на основе составленной таблицы,
что совпало идет на добавление, так?

KaraBY

Bill_G писал(а):

Цитата:

Анализатор сделал. Не на 100% но корректно понимает кирилицу в следующих кодировках:
не работает,
для utf8 файл по урл не найден,
для win1251 - Firefox не может найти файл http://magzdb.org/ptools/bul/j/20.

вот попробуйте скормить ему это:
ftp://free-books.dontexist.com/magz/2.txt
Так пишет же:

Цитата:

ftp://free-books.dontexist.com/magz/magz/Популярная механика/Популярная механика 11 2003-09 HQ.cbr: Нет пути по указзанному URL.
Нет такой папки...

Цитата:

Цитата:

В-третьих, я пока не до конца представляю реализацию шаблона, пусть и с жесткими требованиями к формату. Например:
шаблон "Популярная механика %y%y%y%y-%n%n[-%n%n]*.*" - что то такого типа (или "Популярная механика %4y-%2n[-%2n]*.*")?
совершенно верно, для общего случая вполне годится,
только надо учесть, что шаблонов может быть 2 вида, с годом+месяц и только валовая нумерация, тип шаблона должен выбираться на этапе оформления подшивки
Тип шаблона, естественно, будет индивидуальный, для каждого издания свой. Т.е. мы первоначально определяем формат именования файлов на ftp с учетом будущего шаблона, а потом скармливаем шаблон нашей базе.
Пока я вижу след. элементы шаблона:
- %y - год (их в шаблоне может быть неск., но все они должны совпадать, напр. у меня журналы разложены по годам, типа ".../Костер/1988/koster_1988-01.djvu")
- %n - номер при погодной нумерации, ведущие нули игнорируются
- %t - номер при валовой нумерации, ведущие нули игнорируются, может сочетаться с годом и/или погодным номером - как в Вашем примере с Популярной механикой ("Популярная механика %2t %4y-%2n*")
- %d или %d,%m - дата для газет, но это на будущее

Цитата:

если говорить о виде нумерации год+месяц, то тут 2 чисел после года вполне хватит (даже если выходит ежедневно),
по поводу сдвоенных номерв формат Популярная механика %y%y%y%y-%n%n[-%n%n]*.*
вполне ему соответствует, единственная тонкость формата записи- если пропущено 2 и более номеров:
например писать Популярная механика 2005-02-05 или Популярная механика 2005-02-03-04-05
Повторюсь: чтобы файл попал на свое место в базе (т.е. привязался к своему номеру), запись номера должна быть одинакова - и в базе и у файла. Если мы создали в раскладке номера журнала
"2005: 1(27) 2-4(28-30) 5(31) 6(32) 7(33) 8(34) 9(35) 10(36) 11(37) 12(38)", то я еще могу в качестве номера 2005 - 1 найти файл "*2005-01*", но для сдвоенных номеров 2005 - 2-4 должен иметь имя только "*2005-02-04*".

Кстати, возвращаясь к md5. Вы можете (отдельно?) сформировать файл со строками типа "имяфайла-md5"? Чтобы загрузить всё же md5 в базу, если сами файлы будем грузить по шаблону?

Bill_G

Цитата:

Кстати, возвращаясь к md5. Вы можете (отдельно?) сформировать файл со строками типа "имяфайла-md5"? Чтобы загрузить всё же md5 в базу, если сами файлы будем грузить по шаблону?
ftp://free-books.dontexist.com/magz/2.txt - Utf8
описание пропущено,

извиняюсь , распределял журналы по 2 дискам, и перенес ту папку

Цитата:

но для сдвоенных номеров 2005 - 2-4 должен иметь имя только "*2005-02-04*".
тут на самом деле тонкий момент,
ведь номер может быть как сдвоенным,
так и просто не издаваться за следующий месяц,
при составлении таблицы, я тогда ставлю след. месяц после сдвоенного -пустым, а у этого пишу в
Текущей (погодная) нумерации через дефис с каким он сдвоен, но мне кажется, что сейчас не имеет жесткого формата

KaraBY

Bill_G писал(а):

Цитата:

Кстати, возвращаясь к md5. Вы можете (отдельно?) сформировать файл со строками типа "имяфайла-md5"? Чтобы загрузить всё же md5 в базу, если сами файлы будем грузить по шаблону?
ftp://free-books.dontexist.com/magz/2.txt - Utf8
описание пропущено,
А какая кодировка используется на ftp сервере - utf-8 или виндовая?

Но в любом случае - я вижу виндовую кодировку (тестируя), а посылаю - utf-8...

Т.е. кроме кодировки внутри пакетного файла надо еще проверять кодировку на ftp сервере. ai

Upd:
Во всех случаях - проблемы с русскими именами - basename не берет русское имя файла ни в какой кодировке... ak

Upd2:
basename я переделал, файлы видятся и грузятся (см. http://magzdb.org/j/20), но боюсь проблемы будут у пользователей - которые захотят пакетную вызгрузку - ибо мы им дадим подобный список файлов, который надо скормить программе типа wget. а она с кодировками церемониться не будет. av

Bill_G

Цитата:

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

тут например с кириллицей все Ok
http://free-books.dontexist.com/comics/

KaraBY

Проявились два момента:

1. При пакетной загрузке даже не очень большого к-ва номеров (как в примере с Поп. механикой - 84 номера) процесс загрузки из-за необходимости каждый номер проверить на ftp сервере занимает слишком много времени и браузеры (не знаю, все или нет, но FF точно) вылетают по тайм-ауту. Нужно что-то делать... А если у нас будут сотни номеров (ТМ - около тысячи только номеров, а вариантов сканов еще больше, Смена - 1400)???

2. Загрузил раскладку "Смены" - http://magzdb.org/j/25
Учитывая, что периодичность часто менялась, и нумерация (кроме погодной, но и она изобиловала двойными номерами) разнообразна - и валовая и с указанием месяца и с указанием даты - вид странички очень неприглядный.
Есть ли какие предложения, как улучшить читаемость заглавной страницы изданий?

Bill_G

Цитата:

Есть ли какие предложения, как улучшить читаемость заглавной страницы изданий?
в таблицу запихнуть, см. www.isfdb.org,
номера, которые вида 9-10 • должны соотв. вытягиваться занимать 2 ячейки,
и растягиваться по ширине, чтоб годы с 36 и 12 номерами были одинаковой длины

а вот поле дата я бы не стал выводить на главную -таблица растягивается, + мне кажется еще нужно поле - доп. название для каждого номера, например для подшивки вида:
ВЯЗАНИЕ модно и просто. (спец. выпуск) Вяжем детям 2006-02 (от 1 до 14 лет)\
ВЯЗАНИЕ модно и просто. (спец. выпуск) для тех кто вяжет крючком 2008-06\
ВЯЗАНИЕ модно и просто. (спец. выпуск) Летняя коллекция\
ВЯЗАНИЕ модно и просто. (спец. выпуск) Летняя коллекция 2008\
ВЯЗАНИЕ модно и просто. (спец. выпуск) Шапки, шарфы, аксессуары - 2008\
ВЯЗАНИЕ модно и просто. (спец. выпуск) шарфики, пончо, палантины\
ВЯЗАНИЕ модно и просто. (спец. выпуск) шарфики, пончо, палантины 2\

Цитата:

вылетают по тайм-ауту. Нужно что-то делать... А если у нас будут сотни номеров
увеличивать тайм-аут, мы же не можем без проверки,
может не запрашивать каждый раз на фтп по одному файлу, а запросить листинг папки, и с этим листингом дальше сервер будет работать

Bill_G

завел 2 папки на фтп, 2.8 Тб
ftp://free-books.dontexist.com/magz/ A-S
ftp://free-books.dontexist.com/magz2/ T-Я

это все будет утрусаться и усушиваться, но структура такая

KaraBY

Bill_G писал(а):

Цитата:

Есть ли какие предложения, как улучшить читаемость заглавной страницы изданий?
в таблицу запихнуть, см. www.isfdb.org,
номера, которые вида 9-10 • должны соотв. вытягиваться занимать 2 ячейки,
и растягиваться по ширине, чтоб годы с 36 и 12 номерами были одинаковой длины

а вот поле дата я бы не стал выводить на главную -таблица растягивается, + мне кажется еще нужно поле - доп. название для каждого номера, например для подшивки вида:
ВЯЗАНИЕ модно и просто. (спец. выпуск) Вяжем детям 2006-02 (от 1 до 14 лет)\
ВЯЗАНИЕ модно и просто. (спец. выпуск) для тех кто вяжет крючком 2008-06\
ВЯЗАНИЕ модно и просто. (спец. выпуск) Летняя коллекция\
ВЯЗАНИЕ модно и просто. (спец. выпуск) Летняя коллекция 2008\
ВЯЗАНИЕ модно и просто. (спец. выпуск) Шапки, шарфы, аксессуары - 2008\
ВЯЗАНИЕ модно и просто. (спец. выпуск) шарфики, пончо, палантины\
ВЯЗАНИЕ модно и просто. (спец. выпуск) шарфики, пончо, палантины 2\
Таблица - конечно, красиво, но невозможно совместить 36 и 24 номера.
Спец выпуски - вообще в нашу схему не вписываются - у них есть номер? Наверное, нет. Значит их нужно прописывать сверх периодичности (напр. №№ ~13~, ~14~ etc для ежемесячников?)

Цитата:

Цитата:

вылетают по тайм-ауту. Нужно что-то делать... А если у нас будут сотни номеров
увеличивать тайм-аут, мы же не можем без проверки,
может не запрашивать каждый раз на фтп по одному файлу, а запросить листинг папки, и с этим листингом дальше сервер будет работать
Здесь всё тоже не так просто. Я буду думать.
Показать сообщения:    
Ответить на тему