elglin: (Default)
[personal profile] elglin
Жуткое нагромождение из bash, awk и python сегодня таки поехало и собрало заготовку под ораклический сервер.
Ретроспективно некоторые решения были ужасны, но оно все работает весьма бодро.
В ближайших планах (в смысле, это уже в главной ветке, но не в релизе) перенос части баша в питон и дальнейшая минимизация кикстарта.
И, чем черт не шутит, переписывание верхнего селектора на питоне.

Кстати, [personal profile] grey_and_furry, как наиболее кошерно эмулировать and-list в питоне?
1) Через assert внутри try-except:
assert call(["ls", "-l"]) == 0
...
assert call(["pwd"]) == 0

2) или через вложенные if и общий статус:
success = False
if call(["ls", "-l"]) == 0:
    if call(["pwd"]) == 0:
...
        if call(["ifconfig"]) == 0:
            success = True
if success:
    # some code
    pass
else:
    # some other code
    pass

вариант 3 - просто фигануть call("ls -l && pwd", shell = True) мне не нравится, ибо нафиг стартовать оболочку вместо тонкой обертки поверх exec() - ну и нафиг морочиться питоном ради такой фигни

(no subject)

Date: 2017-06-07 08:19 pm (UTC)
grey_and_furry: wolf@summer (wolf@summer)
From: [personal profile] grey_and_furry
Вроде рекомендуют assert
Page generated Feb. 27th, 2026 07:09 pm
Powered by Dreamwidth Studios