|
|
|
@ -20,7 +20,7 @@ from random import choice
|
|
|
|
|
from re import search, compile, S
|
|
|
|
|
import os
|
|
|
|
|
import types
|
|
|
|
|
import popen2
|
|
|
|
|
import subprocess
|
|
|
|
|
|
|
|
|
|
def getdirlist(s_path):
|
|
|
|
|
#Получить список директорий по указаному пути
|
|
|
|
@ -268,19 +268,26 @@ def runOsCommand(cmd, inStr=None, ret_first=None):
|
|
|
|
|
"""Выполняет внешнюю программу
|
|
|
|
|
|
|
|
|
|
Параметры:
|
|
|
|
|
cmdStrProg внешняя программа
|
|
|
|
|
cmd внешняя программа
|
|
|
|
|
inStr данные передаваемые программе на страндартный вход.
|
|
|
|
|
ret_first вернуть только первую строку
|
|
|
|
|
Возвращаемые параметры:
|
|
|
|
|
строка/строки которую выведет внешняя программа
|
|
|
|
|
"""
|
|
|
|
|
fout, fin = popen2.popen4(cmd)
|
|
|
|
|
pipe = subprocess.Popen(cmd, stdin=subprocess.PIPE,
|
|
|
|
|
stdout=subprocess.PIPE,
|
|
|
|
|
stderr=subprocess.PIPE,
|
|
|
|
|
close_fds=True,
|
|
|
|
|
shell=True)
|
|
|
|
|
fout, fin, ferr = (pipe.stdout, pipe.stdin, pipe.stderr)
|
|
|
|
|
# если есть данные на вход, передать их
|
|
|
|
|
if inStr:
|
|
|
|
|
fin.write(inStr)
|
|
|
|
|
fin.close()
|
|
|
|
|
res = fout.readlines()
|
|
|
|
|
fout.close()
|
|
|
|
|
res += ferr.readlines()
|
|
|
|
|
ferr.close()
|
|
|
|
|
if res:
|
|
|
|
|
if len(res) > 1:
|
|
|
|
|
if ret_first:
|
|
|
|
|