Пример #1
0
 def get_markdown_ast(markdown_file):
     try:
         f = open(markdown_file, 'r')
         return CommonMark.DocParser().parse(f.read())
     except:
         log.error(
             "Error: Can't open {0} for reading".format(markdown_file))
         sys.exit(1)
     finally:
         f.close()
Пример #2
0
def main(argv):
    rss_file_name = argv[0]
    release_notes_file_name = argv[1]

    if 'bin' not in os.getcwd():
        os.chdir('./source/bin/build_scripts')

    output_path = '../../../deployment/regional-s3-assets/'
    make_dir(output_path)

    print('Loading CHANGELOG.md into memory...')
    with open('../../../deployment/CHANGELOG.md', 'r',
              encoding="utf-8") as content_file:
        changelog = content_file.read()

    print('Parsing CHANGELOG.md...')
    ast = CommonMark.DocParser().parse(changelog)
    ast_dict = CMarkASTNester().nest(ast)

    print('Converting CHANGELOG.md into JSON...')
    # JSON representation of the CHANGELOG.md
    _json = Renderer().stringify_dict(ast_dict)

    print('Saving CHANGELOG.md JSON into file...')
    file = open('CHANGELOG.json', 'w', encoding="utf-8")
    file.write(json.dumps(_json))
    file.close()

    # Python dictionary representation of the CHANGELOG.md
    print('Converting CHANGELOG JSON into Python dict...')
    changelog = next(iter(_json.values()))

    j2loader = jinja2.FileSystemLoader('./')
    j2env = jinja2.Environment(loader=j2loader)

    print('Processing RSS xml Jinja template...')
    process_j2_template(j2env, changelog, rss_file_name + ".j2",
                        output_path + rss_file_name)
    print('Processing Release notes html Jinja template...')
    process_j2_template(j2env, changelog, release_notes_file_name + ".j2",
                        output_path + release_notes_file_name)
Пример #3
0
def get_markdown_ast(markdown_file):
    f = open(markdown_file, 'r')
    return CommonMark.DocParser().parse(f.read())
Пример #4
0
def list_nested(list_md):
    ast = CommonMark.DocParser().parse(list_md)
    return CMarkASTNester().nest(ast)
Пример #5
0
def extract_json(fileName):
    ast = CommonMark.DocParser().parse(fileName.read())
    nestedAst = CMarkASTNester().nest(ast)
    orderdDict = Renderer().stringify_dict(nestedAst)
    return json.loads(json.dumps(orderdDict, indent=4))
Пример #6
0
def list_nested(list_md):
    try:
        ast = CommonMark.DocParser().parse(list_md)
        return CMarkASTNester().nest(ast)
    except:
        logging.error("markdown file must has H1 title!")