Skip to content

A python module for handling Homestuck Typing Quirks with Regular Expressions

Notifications You must be signed in to change notification settings

drequivalent/Quirky

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Quirky
==========================================================================

A python module for handling Homestuck Typing Quirks with Regular 
Expressions.

Модуль на языке Python для работы "печатными квирками" (манерами печати
персонажей, причудами печати) при помощи регулярных выражений.

==========================================================================

Представляет квирки персонажей в виде объектов, с методами квиркификации
и деквиркификации (то есть, методами применения и наоборот отмены квирка).
Объекты могут быть созданы как вручную, так и из XML (при этом, опять же,
можно пользоваться как строками XML так и файлами). Из XML создается либо
список, либо словарь объектов, в случае словаря ключами являются имена
персонажей.

Также, поддерживается вывод списка или словаря существующих объектов - 
квирков обратно в XML, что позволяет создать редактор квирков.

Сам язык XML, понимаемый модулем, выглядит так (просто пример):

<?xml version='1.0' encoding='utf-8'?> - нотация XML
<document> - корневой элемент
    <rule name="Vriska" color="#005682"> - элемент, задающий имя и цвет
        <alias value="AG"/> - псевдоним персонажа, их может быть несколько
        <quirk from="[bB]" to="8"/> - правило квиркификации
        <quirk from=":" to="::::"/>
        <dequirk from="::::" to=":"/> - правило деквиркификации
    </rule>
    <rule name="Terezi" color="#008282">
        <alias value="GC"/>
        <alias value="TEREZI"/>
        <quirk from="[aA]" to="4"/>
        <quirk from="[iI]" to="1"/>
        <quirk from="[eE]" to="3"/>
        <dequirk from="4" to="a"/>
        <dequirk from="1" to="i"/>
        <dequirk from="3" to="e"/>
    </rule>
</document>

Правил как квиркификации, так и деквиркификации, а также псевдонимов может
быть несколько. Само правило состоит из двух строк - одну (регулярное 
выражение) необходимо найти и заменить другой.

Таким образом, к примеру, строка:
"Quick brown fox jumps over the lazy dog :)"
превращается в:
"Quick 8rown fox jumps over the lazy dog ::::)"
или:
"Qu1ck brown fox jumps ov3r th3 l4zy dog :)"

Безусловно, прописные буквы пока что нельзя также заменять на заглавные,
потому  что re - это вам, блин, не sed, но я что-нибудь придумаю. 
Можно делать вообще все, что позволяют регулярные выражения.

Модуль создан в помощь переводу Homestuck, репозиторий которого находится
здесь: https://github.com/drequivalent/Homestuck-ru
Использование модуля в других проектах приветствуется, с указанием автора.
См. нотацию GPL в начале модуля.

About

A python module for handling Homestuck Typing Quirks with Regular Expressions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages