#!/usr/bin/env python
#coding:utf-8
"""
  Author:  sir garbagetruck --<>
  Purpose: convert xrdb defs into st array
  Created: 25/01/17
"""

import argparse

#----------------------------------------------------------------------
def main(filename):
    """the main chunk"""

    f = open(filename)
    colors = {}
    c2 = {}
    print("{")
    for i in f.readlines():
        (crap,color,rgb)=i.split(' ')
        cbits = color.split('_')
        rgb = rgb.rstrip()
        try:
            idx = int(cbits[1])
            colors[idx] = rgb
            c2[rgb] = idx
        except:
#            print(color)
            if color == 'Background_Color':
                bg = rgb
            if color == 'Cursor_Color':
                cs = rgb
            if color == 'Foreground_Color':
                fg = rgb
            pass
    l = colors.keys()
    for i in l:
        print('	"'+colors[i]+'", // '+str(i))

    x = 256
# the 255 line
    print("	[255] = 0,")

    try:
        print("//static unsigned int defaultbg = " + str(c2[bg])) +';'
    except:
        print('	"'+bg+'", /* bg color */')
        print("//static unsigned int defaultbg = " + str(x)) +';'
        x=x+1
    try:
        print("//static unsigned int defaultfg = " + str(c2[fg])) +';'
    except:
        print('	"'+fg+'", /* fg color */')
        print("//static unsigned int defaultfg = " + str(x)) +';'
        x=x+1

    try:
        print("//static unsigned int defaultcs = " + str(c2[cs])) +';'
    except:
        print('	"'+cs+'" /* cs color */')
        print("//static unsigned int defaultcs = " + str(x)) +';'

    print("},")


if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument("file",help="the file to read")
    args = parser.parse_args()
    main(args.file)
