Skip to content

Commit 2b62dcb

Browse files
authored
Merge pull request #24 from intersystems-community/xslt-error
Xslt error
2 parents 78604ea + 9434e9b commit 2b62dcb

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

src/cls/ZPM/Package.cls

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,6 @@ ClassMethod DownloadPackageFromGitHub(url As %String) As %String
261261
Do fs.CopyFromAndSave(ht.HttpResponse.Data)
262262

263263
Set outputFolder = $$$FileTempDir
264-
Do ##class(%File).CreateDirectory(outputFolder)
265264
Set res = $zf(-100, "", "tar", "-zxvf", archiveFileName, "-C", outputFolder)
266265

267266
Return outputFolder
@@ -281,16 +280,29 @@ ClassMethod GetModuleMeta(url As %String) As %DynamicObject
281280
Set ht.Port = port
282281
}
283282
Set ht.Location = tComponents("path")_"master/module.xml"
284-
285283
$$$ThrowOnError(ht.Get())
286284
If (ht.HttpResponse.StatusCode'=200) {
287285
$$$ThrowStatus($$$ERROR(5001,"Unable to download XML "_ht.Location))
288286
}
289-
$$$ThrowOnError(##class(%XML.XPATH.Document).CreateFromStream(ht.HttpResponse.Data, .xpathdoc))
287+
Set tmpFolder = $$$FileTempDir
288+
289+
Set stream=##class(%Stream.FileCharacter).%New()
290+
Do stream.LinkToFile(tmpFolder_"/module.xml")
291+
Set stream.TranslateTable = "UTF8"
292+
Do stream.CopyFrom(ht.HttpResponse.Data)
293+
Do stream.%Save()
294+
295+
set binaryStream=##class(%Stream.FileBinary).%New()
296+
do binaryStream.LinkToFile(tmpFolder_"/module.xml")
297+
298+
$$$ThrowOnError(##class(%XML.XPATH.Document).CreateFromStream(binaryStream, .xpathdoc))
290299
$$$ThrowOnError(xpathdoc.EvaluateExpression("/","Export/Document/Module/Version/text()", .tResults))
291300
set jo.version = tResults.GetAt(1).ValueGet()
292301
$$$ThrowOnError(xpathdoc.EvaluateExpression("/","Export/Document/Module/Name/text()", .tResults))
293302
set jo.name = tResults.GetAt(1).ValueGet()
303+
304+
Do ##class(%File).RemoveDirectoryTree(tmpFolder)
305+
294306
return jo
295307
}
296308

@@ -333,7 +345,6 @@ ClassMethod UpdatePackage(jo As %DynamicObject) As %Status
333345

334346
ClassMethod Publish(url As %String, name As %String) As %Status
335347
{
336-
337348
Set outputFolder = ..DownloadPackageFromGitHub(url)
338349
Set packageFolder = ##class(%File).NormalizeDirectory(name _ "-master", outputFolder)
339350
Return ..LoadPackage(packageFolder, url, 1)

0 commit comments

Comments
 (0)