def parse(markdown_path, res_name):
    markdown_html = False

    with codecs.open(markdown_path, encoding='utf-8') as markdown_file:
        markdown_html = markdown.markdown(markdown_file.read())

    html = u'<!doctype html>\n'
    html += u'<html>\n\t<head>\n'
    html += u'\t\t<meta charset="utf-8">\n'
    html += u'\t\t<title>%s</title>\n' % (markdown_path)
    html += u'\t</head>\n\t<body>\n'
    html += markdown_html
    html += u'\n\t</body>\n</html>'

    helper.helper_file_write('res/raw/%s.html' % (res_name), html)
def parse(markdown_path, res_name):
    markdown_html = False
    
    with codecs.open(markdown_path, encoding='utf-8') as markdown_file:
        markdown_html = markdown.markdown(markdown_file.read())
    
    html = u'<!doctype html>\n'
    html += u'<html>\n\t<head>\n'
    html += u'\t\t<meta charset="utf-8">\n'
    html += u'\t\t<title>%s</title>\n' % (markdown_path)
    html += u'\t</head>\n\t<body>\n'
    html += markdown_html
    html += u'\n\t</body>\n</html>'
    
    helper.helper_file_write('res/raw/%s.html' % (res_name), html)
def parse(toml_path, java_root_package, java_class, res_name):
    toml_data = False
    re_pattern_fine = re.compile('^(\d+)\-(\d+)$')
    
    with open(toml_path) as toml_file:
        toml_data = pytoml.loads(toml_file.read())
    
    if toml_data == False:
        print 'Unable to loads TOML'
        return
    
    title = toml_data['title']
    fines = toml_data['fines']
    
    # declare java package, imports and class
    output_java = u'package %s.data;\n\nimport %s.R;\n\npublic class %s extends DataAbstract {\n' % (java_root_package, java_root_package, java_class)
    # implement DataAbstract::getTitleResId
    output_java += u'\n\t@Override\n\tpublic int getTitleResId() {\n\t\treturn R.string.%s_title;\n\t}\n' % (res_name)

    # start implementing DataAbstract::getUniqueIds()
    output_java_getUniqueIds = u'\n\t@Override\n\tpublic String[] getUniqueIds() {\n\t\treturn new String[] {\n'
    # start implementing DataAbstract::getNameResIds()
    output_java_getNameResIds = u'\n\t@Override\n\tpublic int[] getNameResIds() {\n\t\treturn new int[] {\n'
    # start implementing DataAbstract::getDescriptionResIds()
    output_java_getDescriptionResIds = u'\n\t@Override\n\tpublic int[] getDescriptionResIds() {\n\t\treturn new int[] {\n'
    # start implementing DataAbstract::getValuePairs()
    output_java_getValuePairs = u'\n\t@Override\n\tpublic int[] getValuePairs() {\n\t\treturn new int[] {\n'
    # start implementing DataAbstract::getLicenseDays()
    output_java_getLicenseDays = u'\n\t@Override\n\tpublic int[] getLicenseDays() {\n\t\treturn new int[] {\n'
    # start implementing DataAbstract::getVehicleDays()
    output_java_getVehicleDays = u'\n\t@Override\n\tpublic int[] getVehicleDays() {\n\t\treturn new int[] {\n'
    
    # prepare resource XML header
    output_res = u'<?xml version="1.0" encoding="utf-8"?>\n<resources>\n'
    output_res += u'\t<string name="%s_title">%s</string>\n' % (res_name, title);
    
    is_first = True
    fine_ids = sorted(fines.keys())
    for fine_id in fine_ids:
        if (fine_id == 'test'):
            continue
        
        # parsing the fine values
        value_low = 0
        value_high = 0
        if fines[fine_id].has_key('fine'):
            fine_value = fines[fine_id]['fine']
            re_match = re_pattern_fine.search(fine_value)
            if re_match != None:
                value_low = helper.helper_int(re_match.group(1))
                value_high = helper.helper_int(re_match.group(2))
            else:
                value_high = helper.helper_int(fine_value)

        # parsing license days
        license_days = 0
        if fines[fine_id].has_key('license_days'):
            license_days = helper.helper_int(fines[fine_id]['license_days'])
        # parsing vehicle days
        vehicle_days = 0
        if fines[fine_id].has_key('vehicle_days'):
            vehicle_days = helper.helper_int(fines[fine_id]['vehicle_days'])

        # implementing DataAbstract::getUniqueIds()
        output_java_getUniqueIds += u'%s\t\t\t"%s"' % (('' if is_first else ',\n'), fine_id)        
        # implementing DataAbstract::getNameResIds()
        output_java_getNameResIds += u'%s\t\t\tR.string.%s_%s_name' % (('' if is_first else ',\n'), res_name, fine_id)
        # implementing DataAbstract::getDescriptionResIds()
        output_java_getDescriptionResIds += u'%s\t\t\tR.string.%s_%s_description' % (('' if is_first else ',\n'), res_name, fine_id)
        # implementing DataAbstract::getValuePairs()
        output_java_getValuePairs += u'%s\t\t\t// %s\n\t\t\t%d, %d' % (('' if is_first else ',\n'), fine_id, value_low, value_high)
        # implementing DataAbstract::getLicenseDays()
        output_java_getLicenseDays += u'%s\t\t\t// %s\n\t\t\t%d' % (('' if is_first else ',\n'), fine_id, license_days)
        # implementing DataAbstract::getVehicleDays()
        output_java_getVehicleDays += u'%s\t\t\t// %s\n\t\t\t%d' % (('' if is_first else ',\n'), fine_id, vehicle_days)
        
        # prepare string for name
        output_res += u'\t<string name="%s_%s_name">%s</string>\n' % (res_name, fine_id, unicode(fines[fine_id]['name'], 'utf-8'));
        # prepare string for description
        output_res += u'\t<string name="%s_%s_description">%s</string>\n' % (res_name, fine_id, unicode(fines[fine_id]['description'], 'utf-8'));
        
        is_first = False

    # finish implementing DataAbstract::getUniqueIds()
    output_java += u'%s\n\t\t};\n\t}\n' % (output_java_getUniqueIds)
    # finish implementing DataAbstract::getNameResIds()
    output_java += u'%s\n\t\t};\n\t}\n' % (output_java_getNameResIds)
    # finish implementing DataAbstract::getDescriptionResIds()
    output_java += u'%s\n\t\t};\n\t}\n' % (output_java_getDescriptionResIds)
    # finish implementing DataAbstract::getValuePairs()
    output_java += u'%s\n\t\t};\n\t}\n' % (output_java_getValuePairs)
    # finish implementing DataAbstract::getLicenseDays()
    output_java += u'%s\n\t\t};\n\t}\n' % (output_java_getLicenseDays)
    # finish implementing DataAbstract::getVehicleDays()
    output_java += u'%s\n\t\t};\n\t}\n' % (output_java_getVehicleDays)
    
    # final closing brace for java class
    output_java += u'}'
    
    # final closing tag for resource XML
    output_res += u'</resources>'
    
    helper.helper_file_write('src/%s/data/%s.java' % (java_root_package.replace('.', '/'), java_class), output_java)
    helper.helper_file_write('res/values/%s.xml' % (res_name), output_res)