Форум сайта python.su
Доброго времени суток;
необходимо в хуке для svn сделать вывод в sys.stdout либо sys.stderr в зависимости от результата выполнения метода, например:
def execute():
"""returns True or False"""
...
return succeed
if __name__ == "__main__":
# if succeed
if (execute()):
sys.stdout.write("Hook execution succeed!")
return 0
else:
sys.stderr.write('Hook execution failed!')
return 1
Офлайн
вставляй в нужных местах sys.stdout.flush(), чтобы скинуть буфер
Офлайн
pasaranax, спасибо за совет;
К сожалению, флаш буфера не помог; =(
пробовал так:
import sys
import logging
if __name__ == '__main__':
logger = logging.getLogger(__name__)
stream_hdlr = logging.StreamHandler()
logger.addHandler(stream_hdlr)
logger.setLevel(logging.INFO)
logger.info('starting hook')
stream_hdlr.flush()
sys.stdout.write('writing to stdout')
sys.stdout.flush()
Отредактировано (Окт. 19, 2009 10:19:02)
Офлайн
никто не знает, в чем может быть проблема?
Офлайн
судя по этому http://svnbook.red-bean.com/en/1.1/ch05s02.html для хуков start-commit и pre-commit клиенту передается только вывод stderr
Офлайн
действительно, судя по документации, клиент не получает вывод хуков в stdout;
kmet и pasaranax, благодарю за помощь! :)
Офлайн