parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Готово

AleXp 14.11.2005 22:51

Алгоритм такой:

Забираем с "донора" файл xml с перечнем файлов которые на нем есть. Забрав, парсим (блох не ловить - сам знаю что надо доделать!):
$tabStructure[^_structure.text.match[^^[^#09 ]*<file\s+date\s*=\s*"(\d+)"\s+size\s*=\s*"(\d+)"\s*>(.+)</file>.*^$][gm]]
Полученную таблицу запихиваем в БД через ^table.menu{В БД!}

Имена файлов, с путями, у нас уникальны по определению (в одном директории не могут два одинаковых файла сидеть) и по ним в БД UNIQUE INDEX сделан и посему потом файл в ней ищется просто изумительно!

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

Можно и без БД обойтись вроде бы и просто перебрать всю таблицу, но мало-ли какой сбой межсерверной связи - не хочется потерять то что уже есть - хочется "докачать" недостающее.

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

Такой вот замечательный "XML" получился. Завтра я его на ini переделаю :)