Тема: OFF: Offline версия коллекции скриптов и идей
Когда она уже наконец обновится?:o
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Когда она уже наконец обновится?:o
Ottiwell_Wood, если никто раньше не сделает — попробую в течение недели.
Спасибо!
Ottiwell_Wood, собрал и выложил: Collection17-20110606.zip. Если всё нормально — дайте знать, отпишусь atomix'у, что можно выложить на основной странице.
Ау, коллеги. Вроде как пять раз уже загружали. Отпишитесь, не замечено ли ошибок, всё ли в порядке? Дабы я мог выполнить вторую часть из предыдущего поста.
to alexii: послал тебе email.
atomix, получил, но, к сожалению, я проглядел саму посылку.
Что я должен буду сделать:
1. «Залить» Collection17-20110606.zip туда (кстати, нет возражений на добавление в имя архива даты? — я бы так и оставил).
2. Правлю «filez.html» по образу и подобию таким образом, чтобы ссылка на «Коллекцию…» указывала на новый «залитый» файл.
3. Оставляю в скобках (…) за основным текстом ссылку на предыдущую версию «Коллекции», наподобие:
Off-line версия форума "Коллекция скриптов и идей" по состоянию … В файле справки имеется полнотекстовый поиск. (Предыдущая версия Коллекции: Collection16.zip (11 714 335))
Я бы хотел всегда оставлять ссылку на последнюю предыдущую версию «Коллекции…», если сие не будет накладно. Что скажете? Это допустимо?
4. После проделанных исправлений «заливаю» «filez.html» обратно.
Так?
Да все так.
atomix, спасибо.
В CHM-коллекции крокозябры...
Где именно?
mk:@MSITStore:script-coding.chm::/web/viewtopic6872.html (Nienie » Eieeaeoey ne?eioia e eaae » AutoHotkey » AHK: Aini?iecaaaaiea AVI a ieia GUI)
/web/viewtopic437e.html (Nienie » Eieeaeoey nedei?ia e eaae » AutoHotkey » AHK: Uedaiiay eoia) [ahk:экранная лупа]
…/и т.д./…
В общей сложности - каждый 5-10-й топик.
Он есть в новой Коллекции «Script-Coding-Collection.chm»
Так я о нём и говорю, последний со страницы списка файлов.
но там нормально отображается
У меня же наоборот - предыдущие выуски (скомпиленные Кардиналом) отображаются нормально, но последний (скомпиленный alexii) - сплошь крокозябры.
Я предполагаю дальнейшие обсуждение.
Нет. Я не сторонник (скорее противник) "переустанавливать ОС", даже не пытаясь разобраться в чём дело, после возникновения каких-то сложностей.
И ещё раз повторюсь: предыдущие версии коллекции (например от 02.04.2009г.) отображаются нормально.
Так оно и есть, если в настройках Internet Explorer задать «Автоопределение кодировки», иначе отображается правильно (по крайней мере некоторые — всё не проверял).
И какой вывод напрашивается? В чём же дело? )
Ну, думаю, alexii догадается...
Не догадался.
P.S. Я пробовал и так, и этак. У меня корректно отображается независимо от установки автоопределения кодировки в IE.
У меня тоже зависит от автоопределения. Но если заменить "charset=cp1251" на "charset=windows-1251", то с автоопределением начинает работать нормально (проверил, сохранив страницу как отдельный файл HTML и открывая в IE). Смутно припоминаю, что этот вопрос уже где-то обсуждался.
Совершенно верно, обсуждался. И вроде как должно делаться (mk:@MSITStore:Script-Coding-Collection.chm::/web/viewtopiccee5.html):
Ещё раз раздел "Коллекция скриптов и идей" нашего форума, небольшая модификация скрипта из поста #7 этой же темы. Как выяснилось, указание кодировки как "cp1251" приводило к проблемам (кракозябры) на некоторых системах (такую кодировку автоматически указывает HTTrack при закачке). В скрипт добавлена замена "cp1251" на "windows-1251".
Предыдущий:
# загрузка HTML-кода в анализатор
soup = BeautifulSoup(htmlText)
# замена обозначения кодировки "cp1251" на "windows-1251"
for tag in soup.findAll('meta', attrs={'http-equiv' : 'content-type'}):
tag['content'] = 'text/html; charset=windows-1251'
Текущий:
# загрузка HTML-кода в анализатор
soup = BeautifulSoup(htmlText)
# замена обозначения кодировки "cp1251" на "windows-1251"
for tag in soup.findAll('meta', attrs={'http-equiv' : 'content-type'}):
tag['content'] = 'text/html; charset=windows-1251'
Однако же, в результирующем файле:
<meta http-equiv="Content-Type" content="text/html; charset=cp1251" />
Я тут посмотрел старые версии Коллекции (в том числе и:
И ещё раз повторюсь: предыдущие версии коллекции (например от 02.04.2009г.) отображаются нормально.
— это «Коллекция скриптов и идей 12») — там также везде:
<meta http-equiv="Content-Type" content="text/html; charset=cp1251" />
Может лучше в pdf?
Я в Питоне, к сожалению, не шарю и не могу сказать, почему может не работать эта замена. А автоопределению, судя по всему, на некоторых страницах не хватает русского текста для определения кодировки. Если добавить, то начинает работать и при cp1251. А само обозначение cp1251 IE, видимо, не понимает.
kaster, не представляю, как сие можно сделать. Плюс, в pdf а) «уйдёт» возможность простого копирования кода, б) добавится проблема с копированием русского текста.
YMP, именно так и было в том обсуждении (я его, правда, не могу найти; возможно, тема попала под удаление ещё очень давно, до 2009 года). Суть в том, что я помню, что The gray Cardinal выкладывал исправленное, участники проверяли результат, отображалось… А на поверку оказывается, что в chm по-прежнему оригинальный, не правленный тэг . Как сие могло оставаться столько времени незамеченным — не представляю. Теперь-то, понятно, полезу в учебники, буду править код.
kaster, не представляю, как сие можно сделать
Например, используя pyPdf.
«уйдёт» возможность простого копирования кода,
Не совсем понял почему это должно произойти.
добавится проблема с копированием русского текста
Опять же, почему?
off: Профессор сильно напряг огромные сросшиеся в районе переносицы брови и глубоко задумался...
Скрипят извилины...рвутся синапсы...
Почему-то вспомнилась миниатюра из КК про Шерлока Холмса и Д.Ватсона : "Ватсон, Вы де...!!!"
Ответ-то впринципе уже прозвучал.
Но видимо настолько сложная задачка попалась
Чтож, давайте сузим круг условий до очевидностей и конкретных объектов:
файл: viewtopice26d.html
анализ: в обоих архивах они разной длины и кодировки.
п.решен: convert to (?ю..)
Например, используя pyPdf.
Берётесь за реализацию?
Не совсем понял почему это должно произойти.
Быстрое копирование кода по кнопке реализовано исполнением скрипта в момент загрузки страницы.
Опять же, почему?
Опять не найду в у нас on-line'е тему, хотя в off-line Community видел утром. Вкратце — при копировании из Adobe Reader'а с умолчальными настройками ОС — русский текст переносится не в той кодировке.
Аскет, Вы о чём?
Насчёт pdf. По моему опыту, листинги из них копируются без ведущих пробелов.
Интересно, что если указать кодировку x-cp1251, то всё работает. В реестре есть запись
[HKEY_CLASSES_ROOT\MIME\Database\Charset\x-cp1251]
"AliasForCharset"="Windows-1251"
но добавление туда
[HKEY_CLASSES_ROOT\MIME\Database\Charset\cp1251]
"AliasForCharset"="Windows-1251"
всё равно не помогает с cp1251.
Опять не найду в у нас on-line'е тему, хотя в off-line Community видел утром.
Вот ссылка на адрес этого обсуждения в off-line Community:
mk:@MSITStore:script-coding.chm::/web/viewtopicbffb.html
А: Соррики, мой вселенский интеллект ацки жжот и сокращает.
Видимо намёков тут мало кто понимает, да и в 512 байт многого не уместишь.
кп: Просто у них ОН один на всех...
Аскет, Вы о чём?
Всё о том же, о крокозябрах.
Ладно, давайте по пунктам. Задействуйте мозг и логический аппарат, коллеги.
● Говоря "в обоих архивах" я подразумевал старую и новую версии CHM-коллекций (ведь chm - это ничто иное как архив, правильно?).
● Топик viewtopice26d.html (HTA: записная книжка) берём как конкретный объект для исследования чтобы нам всем было легче сориентироваться.
● Можно распаковать CHM'ы, но проще просто просмотреть исходный код страницы (ПКМ -> в виде HTML) из обоих версий коллекции и сравнить полученные файлы.
● Загружаем файлы в функциональный txt-редактор и видим что кодировки отличаются.
● Сохраняем объект извлечённый из последней версии коллекции в Юникоде, и он становится валидным.
Берётесь за реализацию?
Могу попробовать, если будет время. Хотя, до 17 августа буду очень занят.
Быстрое копирование кода по кнопке реализовано исполнением скрипта в момент загрузки страницы.
Так как я никогда не пользовался оффлайн версией справки, я не знаю, что такое быстрое копирование. Но обычная копи-паста работает в pdf. И даже с кириллицей.
Говоря "в обоих архивах" я подразумевал старую и новую версии CHM-коллекций (ведь chm - это ничто иное как архив, правильно?).
Коллекций, как таковых, вышло 19 версий. У меня, например, хранятся:
Script-Coding-Collection-19-20120210
Коллекция скриптов и идей 8
Коллекция скриптов и идей 9
Коллекция скриптов и идей 10
Коллекция скриптов и идей 11
Коллекция скриптов и идей 12
Коллекция скриптов и идей 14
Коллекция скриптов и идей 15
Коллекция скриптов и идей 16
Коллекция скриптов и идей 16.1
Коллекция скриптов и идей 17
Коллекция скриптов и идей 18
Потому желательно либо указывать её версию, либо давать конкретную ссылку, откуда она была загружена, дабы можно было точно определить, о какой именно Коллекции идёт речь в «старую и новую версии».
Ладно, предположим, что речь про «Коллекция скриптов и идей 12» и «Script-Coding-Collection-19-20120210».
Загружаем файлы в функциональный txt-редактор и видим что кодировки отличаются.
Чем? У меня и там, и там кодировка файла одна и та же — ANSI/Windows-1251. Кодировка в файле указана также одинаковая:
<meta http-equiv="Content-Type" content="text/html; charset=cp1251" />
Ошибка в Ваших рассуждениях кроется тут:
но проще просто просмотреть исходный код страницы (ПКМ -> в виде HTML)
ибо IE даёт Вам именно тот вариант, который он «видит». Это не оригинальный файл. Надо декомпилировать chm.
P.S. А, кстати — какую Вам там кодировку IE подсовывает? Я не могу посмотреть, у меня-то кажет и там, и там нормально.
Могу попробовать, если будет время.
Я лично ничуть не против, были б по поиску возможности, близкие к chm-версии.
Хотя, до 17 августа буду очень занят.
Ну, торопиться нам некуда.
Так как я никогда не пользовался оффлайн версией справки, я не знаю, что такое быстрое копирование.
А посмотрите. Тем паче, что это последняя версия, собранная с разделами по Python'у и Shell скриптами Linux. Следующие версии будут уже без них, ибо с форума они были удалены.
alexii, а как именно мне это сделать, если вдруг появится время и возможность? Просто выкачивать все страницы и конвертировать в pdf?
Потому желательно либо указывать её версию, либо давать конкретную ссылку, откуда она была загружена, дабы можно было точно определить, о какой именно Коллекции идёт речь в «старую и новую версии».
Я вообщето говорил какие коллекции, да не суть.
"Старая" - собранная Кардиналом.
"Новая" - собранная Вами.
А указанный топик присутствует наверно во всех архивах. Не сложно сравнить.
ибо IE даёт Вам именно тот вариант, который он «видит».
Как бы не так.
ИМХО, в CHM, при оттображении страниц они сначала распаковываются в память, потом уже код загружается в WebBrowser и отображается страничка.
Как, в принципе, оно и в любом алгоритме при работе с архивами (но без временных файлов).
Или Вы хотите поспорить с моей абсолютной логикой?
...И быть может вы состоите в какой-то тайной масонской ложе и имете доступ к проприетарным исходным кодам ОС Windows?
А теперь по существу.
Файл из старой коллекции - Cyrillic (Windows-1251)
Файл из новой коллекции - ANSI
Чем? У меня и там, и там кодировка файла одна и та же — ANSI/Windows-1251. Кодировка в файле указана также одинаковая:
Да хотя бы ПРОСТО СРАВНИТЬ файлы! Тем же FC.exe
P.S. А, кстати — какую Вам там кодировку IE подсовывает?
Автоопределие.
Тем паче, что это последняя версия, собранная с разделами по Python'у и Shell скриптами Linux. Следующие версии будут уже без них, ибо с форума они были удалены.
Я уже высказывался по поводу позделения коллекции на отдельные подразделы,
так же есть мысли и идеи изящного решения, при котором общий размер останется прежним, а работоспособность отдельных архивов-подразделов будет сохранена.
Ковырните хэлп для hh workshop.
alexii, а как именно мне это сделать, если вдруг появится время и возможность? Просто выкачивать все страницы и конвертировать в pdf?
В этом для меня и состоит вопрос, ибо я даже не представляю — как.
В chm сборка почти целиком делается скриптом на Python'е (в off-line Коллекции это последний скрипт из темы: «ActivePython: создаём оффлайн-версии сайтов в формате HTML Help»), я лишь несколько ключевых тем «ручками» «закрепляю», дабы они были первыми в разделах — времени никак не хватает сесть и сделать, чтобы сие также делал скрипт.
Я вообщето говорил какие коллекции, да не суть.
"Старая" - собранная Кардиналом.
"Новая" - собранная Вами.
Я тоже:
Коллекций, как таковых, вышло 19 версий.
…
Потому желательно либо указывать её версию, либо давать конкретную ссылку, откуда она была загружена, дабы можно было точно определить, о какой именно Коллекции идёт речь в «старую и новую версии».
Указывайте либо номера версий, либо конкретные ссылки.
Как бы не так.
… Или Вы хотите поспорить с моей абсолютной логикой? smile
Я не спорю. Я проверяю опытом.
А теперь по существу.
Файл из старой коллекции - Cyrillic (Windows-1251)
Файл из новой коллекции - ANSI
Декомпилируйте оба chm. Убедитесь, что кодировка для этого файла одна и та же.
Да хотя бы ПРОСТО СРАВНИТЬ файлы! Тем же FC.exe
Скрипт для сборки за это время менялся несколько раз, как The gray Cardinal'ом, так и мною. Потому результирующие страницы в любом случае будут отличаться.
В общем, пока Вы не укажете номера используемых Вами версий, либо конкретные ссылки, дальнейшие разговоры бессмысленны.
alexii, посмотрел скрипт – тоже скачиваются страницы. Конкретно по поводу PunBB не в курсе, но возможно имеет смысл брать контент из базы напрямую, чем долго и муторно парсить html. Но это, конечно же, в твоем случае. Я в виду отсутствия прав такого сделать не смогу.
Как и у Вас, у меня нет доступа к базе данных. Увы.
Ок, я посмотрю, как будет время. Парсить html, в принципе, тоже ничего сложного. Просто дольше и муторнее, а еще эти страницы надо будет выкачать. Но на этот счет тоже есть мысли, с учетом того, что качать надо только темы с подраздела "Коллекция скриптов и идей" и далее по списку внутри. Можно делать on-the-fly, то есть скачал-сконвертировал, по цепочке. Самым большим геморроем, на мой взляд, будут ссылки внутри сообщений. Самое просто – оставить как есть и при нажатии браузер откроет соответствующую страницу форума, при наличии таковой. Куда сложнее будет реализовать кросс-ссылки внутри самого документа.
А теперь по существу.
Файл из старой коллекции - Cyrillic (Windows-1251)
Файл из новой коллекции - ANSI
Это то же самое, что сказать, что в одной бутылке вода, а в другой жидкость. Windows-1251 — это одна из ANSI-кодировок. В случае кракозябров IE использует не её, а другую ANSI-кодировку — Windows-1252, она же западноевропейская.
Это то же самое, что сказать, что в одной бутылке вода, а в другой жидкость.
КОнечно же, но ведь жидкость - это не всегда вода, а вода - это не всегда жидкость.
вот такая вот аллегория...
Похоже что у моего редактора очень тонкое и чуткое обоняние, обладает каким то совершенным механизмом определия кодировки и отличает файлы с чистой кирилицой от простых ASNI-файлов (с грязным(?) наполнением).
В общем, пока Вы не укажете номера используемых Вами версий, либо конкретные ссылки, дальнейшие разговоры бессмысленны.
Pачем вот это вот бессмысленное пережёвывание жвачки?
Вы же уже определили версию по количеству тем.
А второй файл - последняя версия со страницы скачиваний.
Дело за вами, я уже и решил за вас этот косяк, путём простой конвертации в юникод.
Хотя странно, как так получается: ANSI, charset=cp1251, крокозябры...А вот если просто преобразовать в юникод, не изменяя никаких тэгов, то всё начинает работать.
Но факт остается фактом - Коллекция начала пестрить крокозябрами после вмешательства alexii.
И уж тем более, проблема НА ВАШЕЙ стороне, а не на моей, ибо wisgest увидел тоже самое.
Это то же самое, что сказать, что в одной бутылке вода, а в другой жидкость. Windows-1251 — это одна из ANSI-кодировок. В случае кракозябров IE использует не её, а другую ANSI-кодировку — Windows-1252, она же западноевропейская.
Именно. Как в той теме Вы и писали, поскольку у меня стоит подмена:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1252"="c_1251.nls"
то я вижу корректные символы даже при неверно определённой кодировке. Но на самом деле в файлах там везде одна и та же кодировка. Никаких «Cyrillic (Windows-1251)/ANSI» там нет.
Дело за вами, я уже и решил за вас этот косяк, путём простой конвертации в юникод.
Хотя странно, как так получается: ANSI, charset=cp1251, крокозябры...А вот если просто преобразовать в юникод, не изменяя никаких тэгов, то всё начинает работать.Но факт остается фактом - Коллекция начала пестрить крокозябрами после вмешательства alexii.
Не льстите себе: данная проблема поднималась и обсуждалась ещё за два года до Вашей регистрации на форуме. Тогда же было предложено и решение (кем конкретно — сейчас наверняка не вспомню): замена значения атрибута тэга с «cp1251» на «windows-1251». Суть в том, что, как теперь выяснилось, скриптом замена на самом деле не производилась (я последний раз советую Вам декомпилировать chm-файл «правильной» Коллекции и воочию посмотреть, какой там стоит тэг). В том обсуждении принимал участие и wisgest, так что видел он сие задолго до нынешнего обсуждения.
Pачем вот это вот бессмысленное пережёвывание жвачки?
Раз для Вас бессмысленное — на этом с Вами и закончим.
Может ошибаюсь, но по моим воспоминаниям cp1251 было хотя бы раз исправлено в CHM на windows-1251, а потом вернулось назад.
wisgest, угу. Помнится, что The gray Cardinal ручной заменой правил атрибут, собирал, выкладывал, а мы проверяли. Потом уже был добавлен код для подмены атрибута в сборочный скрипт.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться