vitess-gh/replace_doc_link.py

37 строки
1.2 KiB
Python
Исходник Обычный вид История

# Copyright 2015, Google Inc. All rights reserved.
# Use of this source code is governed by a BSD-style license that can
# be found in the LICENSE file.
# ./replace_doc_link doc_link_dir doc_to_be_replaced
#
# This tool replaces all links in specified doc by the new links given in the doc link dir.
#
import os
import re
import sys
if __name__ == '__main__':
if len(sys.argv) < 3:
print "Usage: ./replace_doc_link.py doc_link_dir doc"
exit(1)
doc_link_dir = sys.argv[1]
doc = sys.argv[2]
files = next(os.walk(doc_link_dir))[2]
filename_dict = {f.split('-')[-1]: os.path.join(doc_link_dir, os.path.splitext(f)[0]) for f in files}
# print filename_dict
for line in open(doc).readlines():
line = line.rstrip() # remove newline
ans = []
pos = 0
for m in re.finditer(r'\[(.*)\]\((.*.md)\)', line):
title, link = m.group(1), m.group(2)
filename = link.split('/')[-1]
if filename in filename_dict:
ans.append(line[pos:m.start()])
ans.append('[' + title + ']')
ans.append('( {{ site.url }}/' + filename_dict[filename] + ')')
pos = m.end()
ans.append(line[pos:])
print ''.join(ans)