#!/usr/bin/python


import roslib
roslib.load_manifest('rostest')
import roslib.rosenv
import os
import sys
import rospy

results = roslib.rosenv.get_test_results_dir()
if not os.path.exists(results):
   raise "No test result directory!"

result_bags = os.path.join(roslib.rosenv.get_test_results_dir(), 
	    "ros_epic_fail_raw_bags")

if not os.path.exists(result_bags):
   os.makedirs(result_bags)

try:
   name = sys.argv[1]
except:
   raise "No name specified as argument."

count = ""
file = os.path.join(result_bags, name + count)
while (os.path.exists(file + ".bag")):
   print file
   file = os.path.join(result_bags, name + count)
   count = count + "I"


print "-----------------------------------------------------------"
print "-----------------------------------------------------------"
print "-----------------------------------------------------------"
print "-----------------------------------------------------------"
print "-----------------------------------------------------------"
print "-----------------------------------------------------------"
print "--------------------- BAG FILE NAME -----------------------"
print "-----------------------------------------------------------"
print "-----------------------------------------------------------"
print "-----------------------------------------------------------"
print file, "(.bag)"
print "-----------------------------------------------------------"
print "-----------------------------------------------------------"
print "-----------------------------------------------------------"
print "------------------- END BAG FILE NAME ---------------------"
print "-----------------------------------------------------------"
print "-----------------------------------------------------------"
print "-----------------------------------------------------------"
print "-----------------------------------------------------------"

print "Epic Fail Rosrecord Args:"
topic_names = ""
for x in sys.argv[2:]:
   if (x[0:2] == '__'):
      print "IGNORE:", x
   else:
      print x.strip()
      topic_names = topic_names + " " + x.strip()

topic_names = topic_names.strip()
if (topic_names == ""):
   print "No topic names, using -a"
   topic_names = "-a"

#FIXME: use a better method here.
rospy.core.loginfo( "rosrun rosbag record -O \"" + file + "\" " + topic_names)
os.system("rosrun rosbag record -O \"" + file + "\" " + topic_names)
