Skip to content

Instantly share code, notes, and snippets.

@Tatsh
Created June 25, 2018 01:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Tatsh/9a1a46d504f42360600a877f71d1324e to your computer and use it in GitHub Desktop.
Save Tatsh/9a1a46d504f42360600a877f71d1324e to your computer and use it in GitHub Desktop.
Use new Python template syntax to format text in Quassel.
#!/usr/bin/env python
from argparse import Namespace
from string import Template
import sys
Codes = Namespace(
Bold=chr(2),
Color=chr(3),
Normal=chr(15),
Underline=chr(31),
Italic=chr(29),
White='0',
Black='1',
Blue='2',
Green='3',
Brown='5',
Purple='6',
Orange='7',
Yellow='8',
Cyan='10',
Pink='13',
Grey='14',
)
LightCodes = Namespace(
Red='4',
Green='9',
Cyan='11',
Blue='12',
Grey='15',
)
if __name__ == '__main__':
try:
s = sys.argv[1]
except IndexError:
sys.exit()
print(Template(' '.join(sys.argv[1:])).safe_substitute(
b=Codes.Bold,
r=Codes.Normal,
u=Codes.Underline,
i=Codes.Italic,
white=Codes.Color + Codes.White,
black=Codes.Color + Codes.Black,
blue=Codes.Color + Codes.Blue,
green=Codes.Color + Codes.Green,
brown=Codes.Color + Codes.Brown,
purple=Codes.Color + Codes.Purple,
orange=Codes.Color + Codes.Orange,
yellow=Codes.Color + Codes.Yellow,
cyan=Codes.Color + Codes.Cyan,
pink=Codes.Color + Codes.Pink,
grey=Codes.Color + Codes.Grey,
gray=Codes.Color + Codes.Grey,
red=Codes.Color + LightCodes.Red,
lgreen=Codes.Color + LightCodes.Green,
lcyan=Codes.Color + LightCodes.Cyan,
lblue=Codes.Color + LightCodes.Blue,
lgrey=Codes.Color + LightCodes.Grey,
lgray=Codes.Color + LightCodes.Grey,
))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment