Просмотр исходного кода

add: 文档中检查接口的支持性

chenxuuu 3 лет назад
Родитель
Сommit
cb3bf53ca2
2 измененных файлов с 21 добавлено и 3 удалено
  1. 6 0
      tools/api_get.py
  2. 15 3
      tools/make_doc_file.py

+ 6 - 0
tools/api_get.py

@@ -48,6 +48,7 @@ def get_file_list(paths, ext = ".c"):
 #         'demo': 'adc',
 #         'video': 'https://xxxxx',
 #         'usage': '--xxxxxxx',
+#         'tag': 'bsp里的tag',
 #         'const': [
 # {
 #    'var':'uart.NONE',
@@ -59,6 +60,7 @@ def get_file_list(paths, ext = ".c"):
 #             {
 #                 'api':'adc.read(id)',
 #                 'summary': '读取adc通道',
+#                 'tag': 'bsp里的tag',
 #                 'args': [
 #                     {
 #                         'type': 'int',
@@ -166,10 +168,14 @@ def get_modules(file_list, start="/*", end="*/"):
                 api = {}
                 api["api"] = name.group(1)
                 api["summary"] = re.search(r" *(.+) *",lines[line_now+1],re.I).group(1)
+                api["tag"] = ""
                 line_now += 3
                 api["args"] = []
                 api["return"] = []
                 api["usage"] = ""
+                if re.search(" *@tag *.+",lines[line_now],re.I):
+                    api["tag"] = re.search(" *@tag * (.+) *",lines[line_now],re.I).group(1)
+                    line_now+=1
                 arg_re = r" *@([^ ]+) +(.+) *"
                 return_re = r" *@return *([^ ]+) +(.+) *"
                 isGotApi = True

+ 15 - 3
tools/make_doc_file.py

@@ -15,10 +15,17 @@ for bsp in bsp_header_list:
     bsp["url"] = requests.get(bsp["url"]).text
     print("done "+ str(len(bsp["url"])) + " bytes")
 
-def get_tags(tag):
+def get_tags(tag, is_api = False):
     if len(tag) == 0:
-        return "{bdg-secondary}`适配状态未知`"
-    r = ["{bdg-success}`已适配`"]
+        if is_api:
+            return ""
+        else:
+            return "{bdg-secondary}`适配状态未知`"
+    r = []
+    if is_api:
+        r.append("{bdg-success}`本接口仅支持`")
+    else:
+        r.append("{bdg-success}`已适配`")
     for bsp in bsp_header_list:
         if bsp["url"].find(" "+tag+" ") >= 0 or bsp["url"].find(" "+tag+"\r") >= 0 or bsp["url"].find(" "+tag+"\n") >= 0:
             r.append("{bdg-primary}`" + bsp["name"] + "`")
@@ -69,6 +76,11 @@ def make(path,modules,index_text):
         doc.write("   "+module["module"]+"\n")
         for api in module["api"]:
             mdoc.write("## "+api["api"]+"\n\n")
+
+            #支持的芯片
+            mdoc.write(get_tags(api["tag"], True))
+            mdoc.write("\n\n")
+
             mdoc.write(api["summary"]+"\n\n")
 
             mdoc.write("**参数**\n\n")