웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
디버그모드 변경하는 간단한 파이썬 스크립트
2008.04.23 10:25
디버그를 할 때마다 config.inc.php를 편집하고 tail -f 입력하는게 귀찮아서, 간단한 스크립트를 만들었습니다.
실행할때마다 __DEBUG__ 변수의 값을 1 / 0 으로 전환해주며, 자동으로 tail 명령을 시작합니다.
테스트 환경은 zbxe 1.0.2 / python 2.4.3 입니다.
코드는 아래와 같습니다. (python 및 zbxe의 경로는 본인 환경에 맞게 설정하시기 바랍니다.)
만약을 대비해 사용전에 config.inc.php를 꼭 백업해 두시기 바랍니다.
실행할때마다 __DEBUG__ 변수의 값을 1 / 0 으로 전환해주며, 자동으로 tail 명령을 시작합니다.
테스트 환경은 zbxe 1.0.2 / python 2.4.3 입니다.
[setzer@blackjack ~]$ chmod +x pz.py [setzer@blackjack ~]$ ./pz.py __DEBUG__ : 1 > 0 [setzer@blackjack ~]$ ./pz.py __DEBUG__ : 0 > 1 ** Debug at 2008-04-23 09:43:01 ************************************************************ - Request/ Response info Request URI : m9.pe.kr:80/zbxe/index.php Request method : POST Response method : XMLRPC Response contents size : 66 byte Total elapsed time : 0.04494 sec
코드는 아래와 같습니다. (python 및 zbxe의 경로는 본인 환경에 맞게 설정하시기 바랍니다.)
#!/usr/bin/env python # *-* coding: utf-8 -*- zb_path = "html/zbxe/" zbcfg_path = zb_path + "config/config.inc.php" zbmsg_path = zb_path + "files/_debug_message.php" import re #config.inc.php를 읽어 raw로 반환 def zbcfg_raw(contents=None): if contents != None: f = open(zbcfg_path, "w") f.write(contents) f.close() return open(zbcfg_path, "r").read() #raw에서 에서 변수의 값을 찾아 반환. 값이 주어지면 raw에서 값을 변경하여 반환 def zbcfg_var_value(raw, name, value=None): p = re.compile("^( define\(\'__" + name + "__\', )([0-3])(\);)$",re.MULTILINE) if value != None: raw = p.sub("\g<1>" + value + "\g<3>", raw) return p.search(raw).group(2), raw oldval, oldraw = zbcfg_var_value(zbcfg_raw(), "DEBUG") newval, newraw = zbcfg_var_value(oldraw, "DEBUG", ['0','1'][oldval=='0']) print "__DEBUG__ : " + oldval + " => " + newval zbcfg_raw(newraw) if newval != "0": req = raw_input("tail? (Y/n)") if req != "n": import os os.system("tail -f " + zbmsg_path)
만약을 대비해 사용전에 config.inc.php를 꼭 백업해 두시기 바랍니다.