in rosbag_cloud_recorders/src/utils/recorder.cpp [322:358]
void Recorder::UpdateFilenames() {
vector<string> parts;
std::string prefix = options_.prefix;
size_t ind = prefix.rfind(".bag");
if (ind != std::string::npos && ind == prefix.size() - 4)
{
prefix.erase(ind);
}
if (prefix.length() > 0)
{
parts.push_back(prefix);
}
if (options_.append_date)
{
parts.push_back(TimeToStr(ros::WallTime::now()));
}
if (options_.split)
{
parts.push_back(boost::lexical_cast<string>(split_count_));
}
if (parts.empty())
{
throw rosbag::BagException("Bag filename is empty (neither of these was specified: prefix, append_date, split)");
}
target_filename_ = parts[0];
for (unsigned int i = 1; i < parts.size(); i++)
{
target_filename_ += string("_") + parts[i];
}
target_filename_ += string(".bag");
write_filename_ = target_filename_ + string(".active");
}