# HG changeset patch # User igor # Date 1188474350 -10800 # Node ID f7fa09a390ed1b363296bdf99c48704d25f09f66 # Parent 3d837efe2d1c0c7f68a9a4aa38e17875c148e926 Работаем с файлами напрямую diff -r 3d837efe2d1c -r f7fa09a390ed xentaur.py --- a/xentaur.py Fri Aug 17 16:23:42 2007 +0300 +++ b/xentaur.py Thu Aug 30 14:45:50 2007 +0300 @@ -11,6 +11,17 @@ screenrc=os.environ['HOME']+"/.screenrc_xentaur" +def run(program, *args): + pid = os.fork() + if not pid: + os.execvp(program, (program,) + args) + return os.wait()[0] + +def run_command(line): + #cmds=line.split() + #run(cmds[0],*cmds[1:]) + run("/bin/sh", "-c", line) + def create_bridges_script(): unbound_bridges=bridges create_unbound_bridges="\n".join(map(lambda x: "sudo /usr/sbin/brctl show | awk '{print $1}' | grep -q "+x+" || sudo /usr/sbin/brctl addbr "+x, unbound_bridges)) @@ -42,16 +53,16 @@ screenlist="\n".join(screens) #hardstatus string "\%{gk}\%c \%{yk}\%M\%d \%{wk}\%?\%-Lw\%?\%{bw}\%n*\%f\%t\%?(\%u)\%?\%{wk}\%?\%+Lw\%?" - print """ - -cat < screenrc + + f=open("screenrc", "w"); + f.write(""" hardstatus on hardstatus alwayslastline screen -t console 0 bash -%(screenlist)s -SCREENRC -""" % { 'screenlist' : screenlist } +%s +""" % (screenlist)) + f.close() def graph_node(node): i=0 @@ -99,8 +110,8 @@ 'networklist' : networklist, } - print """ - cat <<'GRAPH' > xenomips.dot + f = open("xenomips.dot", "w"); + f.write (""" graph G { edge [len=1.25]; splines=true; @@ -127,9 +138,9 @@ %(linklist)s }; -GRAPH - neato -Tpng -o xenomips.png xenomips.dot -""" % graph_dot +""" % graph_dot) + f.close() + run_command("neato -Tpng -o xenomips.png xenomips.dot ") def start_all(): create_bridges_script() @@ -159,16 +170,6 @@ #----------------------------------------------------------------------- -def run(program, *args): - pid = os.fork() - if not pid: - os.execvp(program, (program,) + args) - return os.wait()[0] - -def run_command(line): - #cmds=line.split() - #run(cmds[0],*cmds[1:]) - run("/bin/sh", "-c", line) def add_domain(name,type): domains.append(name)