Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os, osproc, strutils, parseopt, strtabs
- const printVarsScript = "/tmp/printVars.sh "
- proc createScript(): void =
- if existsFile(printVarsScript.strip) != true:
- echo("Creating script")
- writeFile(printVarsScript.strip,
- "#!/bin/sh \n" &
- "tmpa=/tmp/a \n" &
- "tmpb=/tmp/b \n" &
- "set -a \n" &
- "env > $tmpa \n" &
- ". $1 \n" &
- "env > $tmpb \n" &
- "diff $tmp{a,b} | sed -ne 's/^> //p' \n" &
- "rm $tmp{a,b} \n")
- return
- proc confVar*(confFile: string): PStringTable =
- createScript()
- var
- command = "sh " & printVarsScript & confFile
- commandResult = execCmdEx(command)
- rawVars = commandResult.output.strip
- result = newStringTable(modeCaseSensitive)
- for line in splitLines(rawVars) :
- var
- lineSplit = split(line, '=')
- result[lineSplit[0]] = lineSplit[1]
- return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement