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() - ну и нафиг морочиться питоном ради такой фигни
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

Page generated May. 13th, 2026 04:26 pm
Powered by Dreamwidth Studios