Go to the documentation of this file.00001
00002
00003 """
00004 usage: %(progname)s robot robot_type web_user
00005 """
00006
00007 import os, sys, string, time, getopt
00008 import pwd
00009 import subprocess
00010
00011 def make_file(fn, default):
00012 if os.path.exists(fn): return
00013
00014 open(fn, "w").write(default)
00015
00016 def install(robot, robot_type, web_user):
00017 config_dir = "/etc/ros/"
00018 var_dir = "/var/ros/"
00019 log_dir = "/var/log/ros/"
00020
00021 user = pwd.getpwnam(web_user)
00022 for path in (config_dir, var_dir, log_dir):
00023 if not os.path.exists(path):
00024 os.mkdir(path, 0755)
00025 os.chown(path, user.pw_uid, user.pw_gid)
00026
00027 make_file(os.path.join(config_dir, "user"), web_user)
00028 make_file(os.path.join(config_dir, "master"), "http://localhost:11311/")
00029 make_file(os.path.join(config_dir, "robot"), robot)
00030 make_file(os.path.join(config_dir, "robot_type"), robot_type)
00031
00032 subprocess.call(["install", "setup.bash", os.path.join(config_dir, "setup.bash")])
00033 subprocess.call(["install", "apache.cfg", os.path.join(config_dir, "ros_webui_apache.cfg")])
00034
00035 subprocess.call(["install", "webui.init", "/usr/bin/webui"])
00036
00037 def test():
00038 pass
00039
00040 def usage(progname):
00041 print __doc__ % vars()
00042
00043 def main(argv, stdout, environ):
00044 progname = argv[0]
00045 optlist, args = getopt.getopt(argv[1:], "", ["help", "test", "debug"])
00046
00047 testflag = 0
00048
00049 if len(args) == 0:
00050 usage(progname)
00051 return
00052
00053 for (field, val) in optlist:
00054 if field == "--help":
00055 usage(progname)
00056 return
00057 elif field == "--debug":
00058 debugfull()
00059 elif field == "--test":
00060 testflag = 1
00061
00062 if testflag:
00063 test()
00064 return
00065
00066 robot = args[0]
00067 robot_type = args[1]
00068 web_user = args[2]
00069
00070 install(robot, robot_type, web_user)
00071
00072
00073 if __name__ == "__main__":
00074 main(sys.argv, sys.stdout, os.environ)