Skip to content

Commit c3b0c2d

Browse files
committed
PS: Update typegen script and documentation.
1 parent 2ef6dd9 commit c3b0c2d

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

powershell/misc/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ Run the following commands
1212

1313
```
1414
# Clone dotnet/dotnet-api-docs
15-
git clone https://github.com/dotnet/dotnet-api-docs
15+
git clone https://github.com/dotnet/dotnet-api-docs --depth 1
1616
# Clone MicrosoftDocs/powershell-docs-sdk-dotnet
17-
git clone [email protected]:MicrosoftDocs/powershell-docs-sdk-dotnet.git
17+
git clone [email protected]:MicrosoftDocs/powershell-docs-sdk-dotnet.git --depth 1
1818
# Generate data extensions
1919
python3 misc/typemodelgen.py dotnet-api-docs/xml/ powershell-docs-sdk-dotnet/dotnet/xml
2020
```

powershell/misc/typemodelgen.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def isStatic(member):
2222
return False
2323

2424

25-
def isA(x):
25+
def isA(member, x):
2626
"""Returns True if member is an `x`."""
2727
for child in member:
2828
if child.tag == "MemberType" and child.text == x:
@@ -77,10 +77,10 @@ def generateTypeModels(arg):
7777
try:
7878
if not file_path.name.endswith(".xml"):
7979
continue
80-
80+
8181
if not file_path.is_file():
8282
continue
83-
83+
8484
tree = ET.parse(str(file_path))
8585
root = tree.getroot()
8686
if not root.tag == "Type":
@@ -91,8 +91,8 @@ def generateTypeModels(arg):
9191
if "`" in file_path.stem or "+" in file_path.stem:
9292
continue # Skip generics (and nested types?) for now
9393

94-
folderName = file_path.parent.name.replace(".", "")
95-
filename = folderName + "/model.yml"
94+
folderName = "generated/" + file_path.parent.name.replace(".", "")
95+
filename = folderName + "/typemodel.yml"
9696
s = set()
9797
for elem in root.findall(".//Members/Member"):
9898
name = elem.attrib["MemberName"]
@@ -106,10 +106,10 @@ def generateTypeModels(arg):
106106
startSelectorMarker = ""
107107
endSelectorMarker = ""
108108
if isField(elem):
109-
startSelectorMarker = "Field"
109+
startSelectorMarker = "Member"
110110
endSelectorMarker = ""
111111
if isProperty(elem):
112-
startSelectorMarker = "Property"
112+
startSelectorMarker = "Member"
113113
endSelectorMarker = ""
114114
if isMethod(elem):
115115
startSelectorMarker = "Method"
@@ -134,8 +134,9 @@ def generateTypeModels(arg):
134134
returnType = elem.find(".//ReturnValue/ReturnType").text
135135
if returnType == "System.Void":
136136
continue # Don't generate type summaries for void methods
137+
137138
s.add(
138-
f' - ["{fixup(returnType)}", "{thisType + staticMarker}", "{startSelectorMarker}[{name}]{endSelectorMarker}"]\n'
139+
f' - ["{fixup(returnType.lower())}", "{thisType.lower() + staticMarker}", "{startSelectorMarker}[{name.lower()}]{endSelectorMarker}"]\n'
139140
)
140141

141142
summaries[filename].update(s)
@@ -153,6 +154,7 @@ def writeModels():
153154
continue
154155
os.makedirs(os.path.dirname(filename), exist_ok=True)
155156
with open(filename, "x") as file:
157+
file.write("# THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT.\n")
156158
file.write("extensions:\n")
157159
file.write(" - addsTo:\n")
158160
file.write(" pack: microsoft/powershell-all\n")

0 commit comments

Comments
 (0)