3 """Remote Data collector
6 remote_data_collector.py <name> <start_time> <end_time> <remotes>...
7 remote_data_collector.py (-h | --help)
8 remote_data_collector.py --version
11 remote_data_collector.py reo2016_challenge_navigation 15:30 15:40 amigo1 amigo2 amigo3
12 remote_data_collector.py rwc_2016_challenge_restaurant 15:30 now sergio1 sergio2 sergi3
13 remote_data_collector.py rwc_2016_challenge_speech_recognition 15:30 17:40 localhost
16 -h --help Show this screen.
20 from __future__
import print_function
23 from datetime
import datetime
24 from docopt
import docopt
26 from util
import parse_start_end
32 for s_target
in os.listdir(s_dir):
33 s_path = os.path.join(s_dir, s_target)
34 if os.path.isdir(s_path):
41 print(
'del: %s' % s_dir)
44 if __name__ ==
'__main__':
46 now_str = now.strftime(
"%Y-%m-%d_%H-%M-%S")
48 arguments = docopt(__doc__, version=
'Data Collector 1.0')
51 name = arguments[
"<name>"]
52 remotes = arguments[
"<remotes>"]
54 print(
"I am going to collect data for '%s' on '%s'" % (name, remotes))
55 print(
"Datetime: [%s <--> %s]" % (start.strftime(
"%Y-%m-%d %H:%M"), end.strftime(
"%Y-%m-%d %H:%M")))
58 if not os.path.exists(name):
61 for remote
in remotes:
62 dir_name = name +
"/" + remote
65 if not os.path.exists(dir_name):
68 remote_dir_name =
"/tmp/%s" % now_str
70 cmd =
"rosrun test_tools data_collector.py %s %s %s --go" % (remote_dir_name, start.strftime(
"%H:%M"), end.strftime(
"%H:%M"))
73 os.system(
"ssh %s 'source ~/.tue/setup.bash && %s'" % (remote, cmd))
75 cp_cmd =
"scp -r %s:%s/* %s" % (remote, remote_dir_name, dir_name)
76 print(
">> %s" % cp_cmd)