diff --git a/src/ExtEnvi/ByteString.extension.st b/src/ExtEnvi/ByteString.extension.st new file mode 100644 index 0000000..b1a7776 --- /dev/null +++ b/src/ExtEnvi/ByteString.extension.st @@ -0,0 +1,6 @@ +Extension { #name : #ByteString } + +{ #category : #'*ExtEnvi' } +ByteString >> parsePipInstallStdout [ + ^ self lines collect: [ :line | line splitOn: ':' ] +] diff --git a/src/ExtEnvi/PyEnv.class.st b/src/ExtEnvi/PyEnv.class.st index 6da6ca7..fa7fad5 100644 --- a/src/ExtEnvi/PyEnv.class.st +++ b/src/ExtEnvi/PyEnv.class.st @@ -57,18 +57,19 @@ PyEnv >> install: packageName [ { #category : #accessing } PyEnv >> install: aPackageName in: anEnvDirName [ - | bins pip | + | bins pip stdout | (envs includesKey: anEnvDirName) ifFalse: [ InformDebugger inform: 'Env doesn''t exist'. ^ self ]. bins := (envs at: anEnvDirName) / 'bin'. pip := (bins / 'pip') fullName. - ^ GtSubprocessWithInMemoryOutput new - workingDirectory: workingDirectory; - command: pip; - arguments: #('install' 'instaloader'); - runAndWait; - stdout + stdout := GtSubprocessWithInMemoryOutput new + workingDirectory: workingDirectory; + command: pip; + arguments: #('install' 'instaloader'); + runAndWait; + stdout. + ^ stdout parsePipInstallStdout ] { #category : #accessing }