-
Notifications
You must be signed in to change notification settings - Fork 0
drequivalent/Quirky
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
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 0
No packages published