
Zart
28.06.2018
11:59:22
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4324.html выглядит ок

Dmitry
28.06.2018
12:00:12

Alex
28.06.2018
13:54:04
А то остальное все новое ж

Google

Eugine
28.06.2018
13:55:16
нет, действительно, давайте 2.7.15 в проде
а 3.7 это от лукавого

Andy
28.06.2018
13:55:52
Вчера релиз, что может пойти не так

Alex
28.06.2018
13:56:19

Илья
28.06.2018
13:56:50
"Ты что, вчера родился? - Неет, сегодня!" (с)

Alex
28.06.2018
13:57:01
Мегалогика, при том что было куча бет и две недели как вышел релиз-кандидат

Zart
28.06.2018
13:57:01
уже целые сутки как нахуй не нужен

Andy
28.06.2018
13:57:04
Ждешь до 0.0.1 релиза, потом можно

Alex
28.06.2018
13:57:17

Илья
28.06.2018
13:57:18

Eugine
28.06.2018
13:59:05
2.7.15 вот всем нужен уже полтора месяца - стараются, пилят прекрасные вещи.
а в 3.7 только asyncio ускоряют, да количество аргументов функции увеличивают

Google

Никита
28.06.2018
14:01:10
@dataclasses ещё ?

World
28.06.2018
14:04:18
Сложно либку перевести на asyncio
Ну тип
Только добавить луп

vlade11115
28.06.2018
14:04:32
А зачем лол?

Zart
28.06.2018
14:04:35
во пизду датакласс

World
28.06.2018
14:04:35
И asyncio к функциям
Надо

vlade11115
28.06.2018
14:04:44
Просто добавь воды (C)

World
28.06.2018
14:04:59
Можно сделать по-другому?

vlade11115
28.06.2018
14:05:09
Эмм.
Разрешаю.

Zart
28.06.2018
14:05:09
сделать что?

World
28.06.2018
14:05:39
Перевести либу на asyncio

Alex
28.06.2018
14:05:59

World
28.06.2018
14:06:13
Для этого её надо полностью переписывать или можно просто сделать обёртку?

Eugine
28.06.2018
14:06:36
вкусные? мде
ну, наверное каждому своё

Dmitry
28.06.2018
14:07:04

vlade11115
28.06.2018
14:07:17
Самый правильный совет.
Я уж думал что чат потерял форму.

Google

World
28.06.2018
14:08:03

Eugine
28.06.2018
14:08:09
оу оу оу

Vladimir
28.06.2018
14:08:21
ниче не спутал, педрила?

Eugine
28.06.2018
14:08:40
“ща начинается, посоны. все во двор, ща будет избиение.”

Dmitry
28.06.2018
14:08:54
норм, не успел выйти с суток, поймал неделю RO :D

Vladimir
28.06.2018
14:09:00
да ну зачем, сними(
о, это ж поцЫент который приползал в лс недавно

Dmitry
28.06.2018
14:10:42
ладно, пусть пишет :)

Vladimir
28.06.2018
14:11:11
@sp1dermann иди сюда, мы больше не будем :3

Eugine
28.06.2018
14:11:59
@sp1dermann “бегите, голупцы”
не то, чтобы я что-то утверждал, но ему следует опасаться этого места

Zart
28.06.2018
14:18:27


Suren
28.06.2018
17:08:45
Привет! В беггинирах не помогли, может тут кто-то с subprocess работал?
Не могу осилить. Банальные команды отрабатывает, а вот что-то посложнее уже нет
Например хочу создать пайп, подгрузить нужные модули в повершелл (через Add-PSSnappin) и отправить туда по очереди несколько команд, прочитать каждый ответ и закрыть пайп
Есть нормальный ман? Не могу найти вообще
Простое типа вызова повершелл + какой-нибудь Write-Host работают
Можно, конечно, сделать запись в .ps1 файл, вызов повершелл и передавать путь до файла, но это сильно замедлит работу скрипта
когда простая команда без подгрузок модулей, то идёт всё ок, отрабатывается одиночный вызов по .communicate и возвращаются данные. Но чуть усложняю - крах
Делаю подгрузку снаппина, вызов командлета и парсинг в цикле, затем вывожу в консоль результат
Просто выполнение этого в окне повершелл работает ок, а через сабпроцесс не выходит

Zart
28.06.2018
17:10:13
это ты ща не подумавши сделал

Suren
28.06.2018
17:11:06

Zart
28.06.2018
17:12:01
тут за "доку не нашел" про базовые вещи отпиздят


Milton
28.06.2018
17:12:52
Привет! В беггинирах не помогли, может тут кто-то с subprocess работал?
Не могу осилить. Банальные команды отрабатывает, а вот что-то посложнее уже нет
Например хочу создать пайп, подгрузить нужные модули в повершелл (через Add-PSSnappin) и отправить туда по очереди несколько команд, прочитать каждый ответ и закрыть пайп
Есть нормальный ман? Не могу найти вообще
Простое типа вызова повершелл + какой-нибудь Write-Host работают
Можно, конечно, сделать запись в .ps1 файл, вызов повершелл и передавать путь до файла, но это сильно замедлит работу скрипта
когда простая команда без подгрузок модулей, то идёт всё ок, отрабатывается одиночный вызов по .communicate и возвращаются данные. Но чуть усложняю - крах
Делаю подгрузку снаппина, вызов командлета и парсинг в цикле, затем вывожу в консоль результат
Просто выполнение этого в окне повершелл работает ок, а через сабпроцесс не выходит
>передача через файл скрипта
Раз уж не осилил communicate, мог бы посмотреть, есть ли у ps возможность запуститься и сразу же выполнить команду. Спойлер, она была даже у cmd


Suren
28.06.2018
17:13:15

Zart
28.06.2018
17:13:42
он так формулирует вопрос, словно он коммуникейт делает не один раз

Google

Suren
28.06.2018
17:13:46

Milton
28.06.2018
17:14:51
Он — это кто?

Zart
28.06.2018
17:15:04
сурен

Suren
28.06.2018
17:15:08
он так формулирует вопрос, словно он коммуникейт делает не один раз
Да один раз делаю. Вызываю повторно заново, открываю пайп, делаю коммуникейт и возвращаю данные
Если есть способ открыть пайп, загрузить аддоны и снаппины, выполнить несколько команд по очереди, считывая и возвращая стдоут- мне же удобнее будет. Но такое не получается. Открывается в консоли новый повершелл и просто висит ждёт ввода

Zart
28.06.2018
17:15:23
давай лучше пастой

Dmitry
28.06.2018
17:15:44
опять виндоебы страдают

Petr
28.06.2018
17:15:57
Впрочем, ничего нового

Zart
28.06.2018
17:16:00
да тут тупой субпроцесс

Suren
28.06.2018
17:16:04

Zart
28.06.2018
17:16:16
винда даже почти не причем

Suren
28.06.2018
17:16:26

Dmitry
28.06.2018
17:16:38

Suren
28.06.2018
17:16:45

Zart
28.06.2018
17:16:54
D:\>type ps.py
from subprocess import Popen, PIPE
script = '''\
Write-Host "hello, world"
$csp = gwmi win32_computersystemproduct
$csp | fl
'''
proc = Popen(['powershell.exe'], stdin=PIPE, stdout=PIPE)
out, err = proc.communicate(script)
print(out)
D:\>ps.py
Windows PowerShell
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
PS D:\> Write-Host "hello, world"
hello, world
PS D:\> $csp = gwmi win32_computersystemproduct
PS D:\> $csp | fl
IdentifyingNumber : System Serial Number
Name : System Product Name
Vendor : System manufacturer
Version : System Version
Caption : Компьютерная система
PS D:\>
D:\>
хз хули там ебаться
как видно слать пайпом хуевая мысль

Suren
28.06.2018
17:25:53

Google

Zart
28.06.2018
17:26:01
в ответах интерактивный мусор с промптом

Suren
28.06.2018
17:26:03
Может, есть модуль лучше сабпроцесс?

Zart
28.06.2018
17:26:13
штаблядь

Suren
28.06.2018
17:26:14

Zart
28.06.2018
17:26:22
паста где?

Suren
28.06.2018
17:26:36
паста где?
10 минут, до компа дойду, чтобы выложить нормально

Zart
28.06.2018
17:41:05
втф
ебанавт
это, блядь, аргументы, а не строки
запусти "павершелл -?" и почитай для начала
потом научись отличать аргументы командной строки от переданного в пайпе блока

Suren
28.06.2018
17:45:21
потом научись отличать аргументы командной строки от переданного в пайпе блока
Пытался банально запустить эксчендж EXCHANGE_POWERSHELL = '''C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -version 2.0 -noexit -command ". 'C:\\Program Files\\Microsoft\\Exchange Server\\V14\\bin\\RemoteExchange.ps1'; Connect-ExchangeServer -auto"'''
Это передавал вместо PS_PATH
Сейчас почитаю что там дают

Zart
28.06.2018
17:45:35
если питон достаточно свежий, заменить цп866 на oem

Suren
28.06.2018
17:46:01

Zart
28.06.2018
17:46:20
нет, это чтобы без хардкода региональных настроек
noexit... блядь, что они делают

Suren
28.06.2018
17:47:43

Zart
28.06.2018
17:47:55
...

Suren
28.06.2018
17:49:10
Делал вот так, это работает
Передавал эту строку в массив после PS_PATH
PS_GET_MAILS_CMD = '''Import-Module activedirectory
ForEach ($group in (Get-ADGroup -Properties * -Filter 'groupcategory -eq "distribution"' -Server {DC})) {{
If ($group.Mail) {{
Write-Host ($group.Name, $group.Mail) -Separator "{sep}"
}}
}}
ForEach($user in (Get-ADUser -Properties * -Filter 'objectclass -eq "user"' -Server {DC})) {{
If ($user.Mail) {{
Write-Host ($user.Name, $user.Mail) -Separator "{sep}"
}}
}}'''

Zart
28.06.2018
17:50:55
начлена там вообще павершелл..