Skip to content

Commit 9e7c35f

Browse files
initial import
1 parent 9e3b245 commit 9e7c35f

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

versions/smartapi-list.php

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
<?php
2+
3+
$file = "3.0.0.md";
4+
$str = file_get_contents($file);
5+
6+
$list = preg_split("/#### <a name=\"[^\"]+\"><\/a>/",$str, -1); // <a name="[^\"]+"></a>OpenAPI Object
7+
array_shift($list);
8+
array_shift($list);
9+
array_shift($list);
10+
array_shift($list);
11+
array_shift($list);
12+
foreach($list as $item) {
13+
$a = explode("\n",$item, 2);
14+
$object_label = trim($a[0]);
15+
16+
//echo $object_label.PHP_EOL;
17+
18+
// now find the smartapi section
19+
$record = false;
20+
$buf = '';
21+
$a = explode("\n",$a[1]);
22+
foreach($a AS $b) {
23+
// echo "line: $b".PHP_EOL;
24+
25+
if($record === true) {
26+
//if(strlen(trim($b)) == 0) $record = false;
27+
if(strstr($b,"####")) $record = false;
28+
else {
29+
$buf .= $b.PHP_EOL;
30+
31+
if(strstr($b,"<a name=")) {
32+
$cols = explode("|",$b);
33+
34+
$datatype = str_replace('`','',$cols[1]);
35+
if(strstr($datatype,"[[")) {
36+
preg_match("/\[\[([^\]]+)\]/",$datatype,$m);
37+
if(isset($m[1])) $datatype = $m[1];
38+
}
39+
$desc = $cols[2];
40+
preg_match("/a>(.*)/",$cols[0],$m);
41+
$field = trim($m[1]);
42+
43+
// recommendation
44+
preg_match('/\*\*([^\*]+)/',$desc,$m); //([^*]+)**/',$desc,$m);
45+
$rec = '';
46+
if(isset($m[1])) {
47+
$rec = $m[1];
48+
$desc = substr($desc, strlen($rec)+5);
49+
}
50+
$mylist[$object_label][$field]['rec'] = $rec;
51+
$mylist[$object_label][$field]['desc'] = trim($desc);
52+
$mylist[$object_label][$field]['datatype'] = $datatype;
53+
}
54+
}
55+
}
56+
if(strstr($b,"##### smartAPI") !== FALSE) {
57+
$record = true;
58+
}
59+
}
60+
61+
}
62+
63+
64+
// markdown
65+
$file = "smartapi-list.md";
66+
$fp = fopen($file,"w");
67+
fwrite($fp,"Object | Field | Recommendation | Datatype | Description".PHP_EOL);
68+
fwrite($fp,"---|:---:|:---:|:---:|---".PHP_EOL);
69+
foreach($mylist AS $object => $o) {
70+
foreach($o as $field => $field_desc) {
71+
fwrite($fp,$object
72+
."|".$field
73+
."|".$field_desc['rec']
74+
."|".$field_desc['datatype']
75+
."|".$field_desc['desc']
76+
.PHP_EOL);
77+
}
78+
}
79+
fclose($fp);
80+
81+
echo "$file generated".PHP_EOL;

0 commit comments

Comments
 (0)