Source code for jsonhumanize.__init__

#!/usr/bin/env python
# -*- coding: utf-8 -*-

__author__ = 'Martin Garcia'
__email__ = 'newluxfero@gmail.com'
__version__ = '0.1.0'

from jsonhumanize import JsonHuman


[docs]def main(): import argparse import os import shutil from lxml.html.builder import HTML, HEAD, LINK, BODY, TITLE import lxml.html parser = argparse.ArgumentParser( description='Convert JSON to human readable HTML' ) parser.add_argument('jsonfile', metavar='JSONFILE', type=str, help='file with json to be processed') parser.add_argument('-k', '--keep_order', dest='keep_order', action='store_true', default=False, help='keep json order in the result') parser.add_argument('-o', '--output', dest='output', default=False, type=str, help='generate html document') args = parser.parse_args() json_string = open(args.jsonfile, 'r').read() html = JsonHuman(keep_order=args.keep_order).format(json_string) if args.output: filepath, extension = os.path.splitext(args.output) html_output = open(args.output, 'w') css_output = "%s.css" % filepath css_source = os.path.join( os.path.dirname(os.path.realpath(__file__)), 'jsonhuman.css' ) html = HTML( HEAD( LINK( rel="stylesheet", href=os.path.basename(css_output), type="text/css" ), TITLE("JsonHuman") ), BODY( lxml.html.fromstring(html) ) ) html_output.write(lxml.html.tostring(html)) html_output.close() shutil.copyfile(css_source, css_output) else: print html
if __name__ == "__main__": main()

Project Versions

This Page