Skip to content

Instantly share code, notes, and snippets.

@hekyou
Created February 7, 2013 16:11
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hekyou/4731986 to your computer and use it in GitHub Desktop.
Save hekyou/4731986 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
import sys
from optparse import OptionParser
def main():
parser = OptionParser()
parser.add_option("-f", "--file", dest="filename", help="filename")
parser.add_option("-c", "--color", dest="is_color", action="store_true", default=False, help="color on")
(options, args) = parser.parse_args()
argv = sys.argv
argc = len(argv)
if options.filename:
lst = parse_file(options.filename)
for dic in lst:
for k, v in dic.iteritems():
print highlight(k, 32, options.is_color) + ": " + highlight(v, 34, options.is_color)
print
if argc > 1:
dic = parse_line(argv[1])
for k, v in dic.iteritems():
print highlight(k, 32, options.is_color) + ": " + highlight(v, 34, options.is_color)
def parse_line(ltsv):
line = ltsv.rstrip()
return dict([x.split(":") for x in line.split("\\t")])
def parse_file(name):
out = []
with open(name) as fh:
for line in fh:
out.append(parse_line(line))
return out
def to_s(dic):
return "\t".join(k + ":" + v for k, v in dic.iteritems())
def highlight(text, color, is_color):
if is_color:
return "\x1b[00;" + str(color) + "m" + text + "\x1b[00m"
return text
if __name__ == "__main__":
main()
@hekyou
Copy link
Author

hekyou commented Feb 7, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment