mirror of
https://bitbucket.org/smil3y/katie.git
synced 2025-02-23 10:22:55 +00:00
49 lines
1.4 KiB
Python
Executable file
49 lines
1.4 KiB
Python
Executable file
#!/usr/bin/python
|
|
|
|
# Data is from /usr/share/X11/rgb.txt
|
|
|
|
import sys
|
|
from collections import OrderedDict
|
|
|
|
def normalizespace(sstring):
|
|
result = sstring.replace(' \t', ' ')
|
|
result = result.replace('\t ', ' ')
|
|
result = result.replace('\t\t', '\t')
|
|
result = result.replace('\t', ' ')
|
|
for r in range(10):
|
|
result = result.replace(' ', ' ')
|
|
return result.strip()
|
|
|
|
def removespace(sstring):
|
|
result = normalizespace(sstring)
|
|
result = result.replace(' ', '')
|
|
return result.strip()
|
|
|
|
rgbmap = OrderedDict()
|
|
with open(sys.argv[1], 'rb') as f:
|
|
for sline in f.readlines():
|
|
sline = sline.decode('utf-8')
|
|
if sline.startswith('!'):
|
|
continue
|
|
sline = normalizespace(sline)
|
|
llineparts = sline.split(' ')
|
|
if len(llineparts) < 4:
|
|
continue
|
|
scolor = ' '.join(llineparts[3:])
|
|
scolor = removespace(scolor.lower())
|
|
rgbmap[scolor] = {
|
|
'r': llineparts[0],
|
|
'g': llineparts[1],
|
|
'b': llineparts[2],
|
|
}
|
|
|
|
print('''static const struct X11RGBTblData {
|
|
const char *name;
|
|
const QRgb value;
|
|
} X11RGBTbl[] = {''')
|
|
|
|
for rgb in sorted(rgbmap.keys()):
|
|
print(' { "%s", qRgb(%s, %s, %s) },' % (rgb, rgbmap[rgb]['r'], rgbmap[rgb]['g'], rgbmap[rgb]['b']))
|
|
|
|
print('''};
|
|
static const qint16 X11RGBTblSize = sizeof(X11RGBTbl) / sizeof(X11RGBTblData);''')
|