User talk:Rung: Difference between revisions
No edit summary  | 
				 скрипт версия 2  | 
				||
| (4 intermediate revisions by 2 users not shown) | |||
| Line 4: | Line 4: | ||
Для уже имеющихся в вики страниц несложно сообразить скриптик на Питоне, меняющий номер на коммент... Может, этим займусь.  | Для уже имеющихся в вики страниц несложно сообразить скриптик на Питоне, меняющий номер на коммент... Может, этим займусь.  | ||
[[User:Const2k|Const2k]] 10:23, 2 July 2008 (PDT)  | [[User:Const2k|Const2k]] 10:23, 2 July 2008 (PDT)  | ||
----  | |||
Сделай, плиз, ещё:<br/>  | |||
-замену знака возврата каретки без цифры тегом br,<br/>  | |||
-возврат каретки с цифрой заменяй пустым абзацем, а цифру в тег.  | |||
--[[User:Rung|Rung]] 11:46, 2 July 2008 (PDT)  | |||
----  | |||
Я не совсем понял ТЗ, поэтому сделал только замену номера страницы на номер в тэге...  | |||
'''Код отсюда не копировать!!! Копировать только из режима редактирования!'''  | |||
-  | |||
-  | '''Don't copy code below!!! Copy from "edit" page only - they're DIFFERENT!'''  | ||
 import codecs, glob  | |||
 files = glob.glob('Fate?.txt') # files to be processed, * and ? can be used  | |||
 files.sort()  | |||
 for file in files:  | |||
     test = open(file, 'rb')  | |||
     ident = test.readline()  | |||
     if ident.startswith('\xFF\xFE'): format = 'UTF-16'  | |||
     elif ident.startswith('\xFE\xFF'): format = 'UTF_16_BE'  | |||
     else: format = 'CP1251'  | |||
     del test, ident  | |||
     raw = codecs.open(file, 'r', format)  | |||
     res = codecs.open('HTML'+file, 'w', format)  | |||
     print (file+' ('+format+') ... '),  | |||
     for line in raw:  | |||
         try:  | |||
             if int(line) >= 0: line = '<!--*page'+str(int(line))+'|-->\r\n'  | |||
         except: pass  | |||
         res.write(line)  | |||
     res.close()  | |||
     raw.close()  | |||
     print 'OK'  | |||
^^^ Это дело ^^^ надо сохранить в *.py-файл в одном каталоге со скриптами. Скрипты должны быть либо в Юникоде ('''Блокнот'''овый UTF-16, но не UTF-8), либо в русской кодировке ('''Блокнот'''овый "ANSI", он же Win-1251 для русских ОС). Их имена задаются маской во второй строчке ("files = ..."), как в консоли (? = любой символ, * = любое число любых символов). Пример рассчитан на файлы с именами Fate1.txt, Fate2.txt и т.д. до Fate9.txt  | |||
Полученные файлы сохраняются в том же каталоге под именами  HTML<оригинальное_имя_файла> в оригинальном формате, т.е. HTMLFate1.txt, HTMLFate2.txt и т.д.  | |||
Насчет возвратов каретки нужно уточнение... Желательно, в виде "если ... то ..." Пойдет и пример (куска) страницы в желаемом виде.  | |||
А то я "возврат каретки" себе ещё представляю, а вот "с цифрой" - уже сложно... x_x [[User:Const2k|Const2k]] 10:46, 8 July 2008 (PDT)  | |||
----  | |||
Оригинальный текст:  | |||
 Кирицугу поддакивает.  | |||
 Моя реакция легко читается.  | |||
 7  | |||
 – Ясно, выбора нет. Значит, я займу твоё место! Отец, ты уже взрослый, но можешь рассчитывать на меня! Позволь исполнить твою мечту!  | |||
 8  | |||
 – ––––Я постараюсь, что бы она стала явью!  | |||
 9  | |||
 Не дав договорить, отец заливается хохотом.  | |||
 На его лице написано, что дальше рассказывать не обязательно.  | |||
 С глубоким вздохом, Эмия Кирицугу произносит:  | |||
 – Ах, ты моё успокоение.  | |||
Должно получится после обработки:  | |||
 Кирицугу поддакивает.<br/>  | |||
 Моя реакция легко читается.  | |||
 <!--*page7|-->  | |||
 – Ясно, выбора нет. Значит, я займу твоё место! Отец, ты уже взрослый, но можешь рассчитывать на меня! Позволь исполнить твою мечту!  | |||
 <!--*page8|-->  | |||
 – ––––Я постараюсь, что бы она стала явью!  | |||
 <!--*page9|-->  | |||
 Не дав договорить, отец заливается хохотом.<br/>  | |||
 На его лице написано, что дальше рассказывать не обязательно.<br/>  | |||
 С глубоким вздохом, Эмия Кирицугу произносит:<br/>  | |||
 – Ах, ты моё успокоение.  | |||
Потренируйся на 1-3 днях арки Fate  | |||
[[User:Rung|Rung]] 19:31, 8 July 2008 (PDT)  | |||
----  | |||
Говоря русским языком, "каждую непустую строку заканчивать тэгом '''<'''br'''>'''"? Нет ничего проще, и "компиляцию" в ks-файлы это не осложнит. Тогда вот версия №2 (копируя '''только'''из режима редактирования, нужно убрать начинающие пробелы из первых четырёх строк):  | |||
 import codecs, glob  | |||
 files = glob.glob('Fate?.txt') # files to be processed, * and ? can be used  | |||
 files.sort()  | |||
 for file in files:  | |||
     test = open(file, 'rb')  | |||
     ident = test.readline()  | |||
     if ident.startswith('\xFF\xFE'): format = 'UTF-16'  | |||
     elif ident.startswith('\xFE\xFF'): format = 'UTF_16_BE'  | |||
     else: format = 'CP1251'  | |||
     del test, ident  | |||
     raw = codecs.open(file, 'r', format)  | |||
     res = codecs.open('HTML'+file, 'w', format)  | |||
     print (file+' ('+format+') ... '),  | |||
     for line in raw:  | |||
         try:  | |||
             if int(line) >= 0: line = '<!--*page'+str(int(line))+'|--><br>\r\n'  | |||
         except:  | |||
             if len(line.rstrip()) > 2: line = line.rstrip()+'<br>\r\n'  | |||
         res.write(line)  | |||
     res.close()  | |||
     raw.close()  | |||
     print 'OK'  | |||
В принципе, код достаточно понятен, поэтому практически кто угодно может его изменить под себя и переформатировать страницы в вики. Нужно просто выбрать один формат, и его придерживаться на всех страницах.  | |||
У меня сейчас со временем сложно, поэтому не могу сказать, когда закончу День 4, но то, что закончу - это точно.  | |||
[[User:Const2k|Const2k]] 07:44, 9 July 2008 (PDT)  | |||
Latest revision as of 14:44, 9 July 2008
Номера страниц в тексте FSN[edit]
Идея с номерами страниц хорошая, но в вики номера делают текст слабо читаемым. Поэтому предлагаю номера страниц писать в тексте HTML-комментами. (!) Для уже имеющихся в вики страниц несложно сообразить скриптик на Питоне, меняющий номер на коммент... Может, этим займусь. Const2k 10:23, 2 July 2008 (PDT)
Сделай, плиз, ещё:
-замену знака возврата каретки без цифры тегом br,
-возврат каретки с цифрой заменяй пустым абзацем, а цифру в тег.
--Rung 11:46, 2 July 2008 (PDT)
Я не совсем понял ТЗ, поэтому сделал только замену номера страницы на номер в тэге...
Код отсюда не копировать!!! Копировать только из режима редактирования!
Don't copy code below!!! Copy from "edit" page only - they're DIFFERENT!
import codecs, glob
files = glob.glob('Fate?.txt') # files to be processed, * and ? can be used
files.sort()
for file in files:
    test = open(file, 'rb')
    ident = test.readline()
    if ident.startswith('\xFF\xFE'): format = 'UTF-16'
    elif ident.startswith('\xFE\xFF'): format = 'UTF_16_BE'
    else: format = 'CP1251'
    del test, ident
    raw = codecs.open(file, 'r', format)
    res = codecs.open('HTML'+file, 'w', format)
    print (file+' ('+format+') ... '),
    for line in raw:
        try:
            if int(line) >= 0: line = '\r\n'
        except: pass
        res.write(line)
    res.close()
    raw.close()
    print 'OK'
^^^ Это дело ^^^ надо сохранить в *.py-файл в одном каталоге со скриптами. Скрипты должны быть либо в Юникоде (Блокнотовый UTF-16, но не UTF-8), либо в русской кодировке (Блокнотовый "ANSI", он же Win-1251 для русских ОС). Их имена задаются маской во второй строчке ("files = ..."), как в консоли (? = любой символ, * = любое число любых символов). Пример рассчитан на файлы с именами Fate1.txt, Fate2.txt и т.д. до Fate9.txt Полученные файлы сохраняются в том же каталоге под именами HTML<оригинальное_имя_файла> в оригинальном формате, т.е. HTMLFate1.txt, HTMLFate2.txt и т.д.
Насчет возвратов каретки нужно уточнение... Желательно, в виде "если ... то ..." Пойдет и пример (куска) страницы в желаемом виде.
А то я "возврат каретки" себе ещё представляю, а вот "с цифрой" - уже сложно... x_x Const2k 10:46, 8 July 2008 (PDT)
Оригинальный текст:
Кирицугу поддакивает. Моя реакция легко читается. 7 – Ясно, выбора нет. Значит, я займу твоё место! Отец, ты уже взрослый, но можешь рассчитывать на меня! Позволь исполнить твою мечту! 8 – ––––Я постараюсь, что бы она стала явью! 9 Не дав договорить, отец заливается хохотом. На его лице написано, что дальше рассказывать не обязательно. С глубоким вздохом, Эмия Кирицугу произносит: – Ах, ты моё успокоение.
Должно получится после обработки:
Кирицугу поддакивает.
Моя реакция легко читается. – Ясно, выбора нет. Значит, я займу твоё место! Отец, ты уже взрослый, но можешь рассчитывать на меня! Позволь исполнить твою мечту! – ––––Я постараюсь, что бы она стала явью! Не дав договорить, отец заливается хохотом.
На его лице написано, что дальше рассказывать не обязательно.
С глубоким вздохом, Эмия Кирицугу произносит:
– Ах, ты моё успокоение.
Потренируйся на 1-3 днях арки Fate
Rung 19:31, 8 July 2008 (PDT)
Говоря русским языком, "каждую непустую строку заканчивать тэгом <br>"? Нет ничего проще, и "компиляцию" в ks-файлы это не осложнит. Тогда вот версия №2 (копируя толькоиз режима редактирования, нужно убрать начинающие пробелы из первых четырёх строк):
import codecs, glob
files = glob.glob('Fate?.txt') # files to be processed, * and ? can be used
files.sort()
for file in files:
    test = open(file, 'rb')
    ident = test.readline()
    if ident.startswith('\xFF\xFE'): format = 'UTF-16'
    elif ident.startswith('\xFE\xFF'): format = 'UTF_16_BE'
    else: format = 'CP1251'
    del test, ident
    raw = codecs.open(file, 'r', format)
    res = codecs.open('HTML'+file, 'w', format)
    print (file+' ('+format+') ... '),
    for line in raw:
        try:
            if int(line) >= 0: line = '
\r\n'
        except:
            if len(line.rstrip()) > 2: line = line.rstrip()+'
\r\n'
        res.write(line)
    res.close()
    raw.close()
    print 'OK'
В принципе, код достаточно понятен, поэтому практически кто угодно может его изменить под себя и переформатировать страницы в вики. Нужно просто выбрать один формат, и его придерживаться на всех страницах.
У меня сейчас со временем сложно, поэтому не могу сказать, когда закончу День 4, но то, что закончу - это точно. Const2k 07:44, 9 July 2008 (PDT)