diff --git a/doc/fluid/api_cn/chinese_samplecode_processor.py b/doc/fluid/api_cn/chinese_samplecode_processor.py index 024dfed46a0dfc768e677506f0e950496a0c098b..16c619538b09a84a7ff4f9f24edecba9cd7c8670 100644 --- a/doc/fluid/api_cn/chinese_samplecode_processor.py +++ b/doc/fluid/api_cn/chinese_samplecode_processor.py @@ -32,7 +32,7 @@ def remove_desc_code(srcls, filename): if filename == 'layers_cn/sums_cn.rst': srcls.pop(11) if filename == 'layers_cn/sum_cn.rst': - for i in range(len(srcls)-1, 61, -1): + for i in range(len(srcls) - 1, 61, -1): srcls.pop(i) if filename == 'layers_cn/softmax_cn.rst': srcls.pop(30) @@ -88,10 +88,12 @@ def extract_sample_code(srcfile, status_all): srcc = srcfile.read() srcfile.seek(0, 0) srcls = srcfile.readlines() - srcls = remove_desc_code(srcls, filename) # remove description info for samplecode + srcls = remove_desc_code( + srcls, filename) # remove description info for samplecode status = [] sample_code_begins = find_all(srcc, " code-block:: python") if len(sample_code_begins) == 0: + print("No Sample Code: %s" % filename) status.append(-1) else: @@ -107,15 +109,18 @@ def extract_sample_code(srcfile, status_all): startindent = "" # remove indent error if srcls[start + blank_line].find("from") != -1: - startindent += srcls[start + blank_line][:srcls[start + blank_line].find("from")] + startindent += srcls[start + blank_line][:srcls[ + start + blank_line].find("from")] elif srcls[start + blank_line].find("import") != -1: - startindent += srcls[start + blank_line][:srcls[start + blank_line].find("import")] + startindent += srcls[start + blank_line][:srcls[ + start + blank_line].find("import")] else: startindent += check_indent(srcls[start + blank_line]) content += srcls[start + blank_line][len(startindent):] for j in range(start + blank_line + 1, len(srcls)): # planish a blank line - if not srcls[j].startswith(startindent) and srcls[j] != '\n': + if not srcls[j].startswith(startindent) and srcls[ + j] != '\n': break if srcls[j].find(" code-block:: python") != -1: break @@ -128,19 +133,22 @@ def extract_sample_code(srcfile, status_all): def run_sample_code(content, filename): # three status ,-1:no sample code; 1: running error; 0:normal - fname = filename.split("/")[-1].replace("_cn", "").replace(".rst", "") + ".py" + fname = filename.split("/")[-1].replace("_cn", "").replace(".rst", + "") + ".py" tempf = open("temp/" + fname, 'w') content = "# -*- coding: utf-8 -*-\n" + content tempf.write(content) tempf.close() cmd = ["python", "temp/" + fname] - subprc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + subprc = subprocess.Popen( + cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) _, error = subprc.communicate() err = "".join(error.decode(encoding='utf-8')) if subprc.returncode != 0: - print("\nSample code error found in ", filename, ":\n") + #print("\nSample code error found in ", filename, ":\n") + print("Sample code error found in %s" % filename) print(err) status = 1 else: @@ -148,6 +156,7 @@ def run_sample_code(content, filename): os.remove("temp/" + fname) return status + def test(file): temp = [] src = open(file, 'r') @@ -169,7 +178,6 @@ if os.path.isdir("my_paddle_model"): if os.path.isdir("my_paddle_vars"): shutil.rmtree("my_paddle_vars") - if not os.path.isdir("temp"): os.mkdir("temp") @@ -183,10 +191,9 @@ else: if not os.path.exists(sys.argv[1]): print("File not found") sys.exit(1) - res = test(sys.argv[1]) + res = test(sys.argv[1]) output.append(res) - status_groups = {-1: [], 0: [], 1: []} # polishes show format ci_pass = True @@ -207,7 +214,6 @@ for one_file in output: error_api = status_groups[-1] + status_groups[1] total_error_number = len(error_api) - print("****************************************************") print("----------------End of the Check--------------------") print("****************************************************") @@ -217,10 +223,12 @@ if total_error_number > 0: type_two_number = len(status_groups[1]) if type_one_number > 0: print("Error type one sample number is:{}".format(type_one_number)) - print("Error raised from type one:no sample code.", str(status_groups[-1])) + print("Error raised from type one:no sample code.", + str(status_groups[-1])) if type_two_number > 0: print("Error type two sample number is:{}".format(type_two_number)) - print("Error raised from type two:running error sample code.", str(status_groups[1])) + print("Error raised from type two:running error sample code.", + str(status_groups[1])) if not ci_pass: print("Mistakes found in sample codes.") exit(1) diff --git a/doc/fluid/api_cn/framework_cn/ExecutionStrateg y_cn.rst b/doc/fluid/api_cn/framework_cn/ExecutionStrategy_cn.rst similarity index 100% rename from doc/fluid/api_cn/framework_cn/ExecutionStrateg y_cn.rst rename to doc/fluid/api_cn/framework_cn/ExecutionStrategy_cn.rst diff --git a/scripts/check_api_cn.sh b/scripts/check_api_cn.sh index 9725e762b242c9865e65600ca1d0e5c5fffdcce5..05fb747c29485da6af8dc53fbd224d8979b14a08 100644 --- a/scripts/check_api_cn.sh +++ b/scripts/check_api_cn.sh @@ -14,21 +14,14 @@ else pip install -U python/dist/paddlepaddle_gpu-0.0.0-cp27-cp27mu-linux_x86_64.whl fi -for files in `echo $git_files`;do - grep "code-block" $files - if [ $? -eq 0 ] ;then - echo $files|grep 'doc/fluid/api_cn/.*/.*.rst' - if [ $? -eq 0 ];then - api_file=`echo $files|sed 's#doc/fluid/api_cn/##g'` - cd /FluidDoc/doc/fluid/api_cn/ - grep -w "$api_file" /FluidDoc/scripts/api_white_list.txt - if [ $? -ne 0 ];then - python chinese_samplecode_processor.py $api_file - if [ $? -ne 0 ];then - exit 5 - fi - fi - fi - fi -done +files=`find $PWD/doc/fluid/api_cn | xargs ls -d | grep 'doc/fluid/api_cn/.*/.*.rst'` +if [ $? -eq 0 ];then + se = $PWD/doc/fluid/api_cn/ + api_files=`echo $files|sed 's#'$PWD'/doc/fluid/api_cn/##g'` + cd $PWD/doc/fluid/api_cn/ + for api_file in $api_files;do + python chinese_samplecode_processor.py $api_file + done +fi +