writing_core.py
Go to the documentation of this file.
00001 #!/usr/bin/env python
00002 #
00003 # Software License Agreement (BSD License)
00004 #
00005 # Copyright (c) 2010, Willow Garage, Inc.
00006 # All rights reserved.
00007 #
00008 # Redistribution and use in source and binary forms, with or without
00009 # modification, are permitted provided that the following conditions
00010 # are met:
00011 #
00012 #  * Redistributions of source code must retain the above copyright
00013 #    notice, this list of conditions and the following disclaimer.
00014 #  * Redistributions in binary form must reproduce the above
00015 #    copyright notice, this list of conditions and the following
00016 #    disclaimer in the documentation and/or other materials provided
00017 #    with the distribution.
00018 #  * Neither the name of the Willow Garage nor the names of its
00019 #    contributors may be used to endorse or promote products derived
00020 #    from this software without specific prior written permission.
00021 #
00022 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00023 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00024 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
00025 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
00026 # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
00027 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
00028 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00029 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00030 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
00031 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
00032 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00033 # POSSIBILITY OF SUCH DAMAGE.
00034 
00035 ##\author Kevin Watts
00036 ##\brief Contains utilities for writing data to HTML/CSV output for logging
00037 
00038 import math
00039 import time
00040 
00041 def write_table_row(lst, bold = False):
00042     """
00043     Writes list into HTML table row
00044     @param lst list : List of items to write
00045     @param bold bool : True if row text should be bold
00046     """
00047     html = ['<tr>']
00048     for val in lst:
00049         if bold:
00050             html.append('<td><b>%s</b></td>' % val)
00051         else:
00052             html.append('<td>%s</td>' % val)
00053 
00054     html.append('</tr>')
00055 
00056     return ''.join(html)
00057 
00058 
00059 def get_duration_str(duration):
00060     """
00061     Returns duration in a formatted manner
00062     @param duration float : Time in seconds
00063     @return string "HOURShr, MINm"
00064     """
00065     hrs = max(math.floor(duration / 3600), 0)
00066     min = max(math.floor(duration / 6), 0) / 10 - hrs * 60
00067     
00068     return "%dhr, %.1fm" % (hrs, min)
00069 
00070 
00071 def format_localtime(stamp):
00072     """
00073     Formats a rospy.get_time() stamp in a human readable local time
00074     @param stamp float : From rospy.get_time()
00075     """
00076     return time.strftime("%m/%d/%Y %H:%M:%S", time.localtime(stamp))
00077 
00078 def format_localtime_file(stamp):
00079     """
00080     Formats a rospy.get_time() stamp in a filename-OK format
00081     @param stamp float : From rospy.get_time()
00082     """
00083     return time.strftime("%m-%d-%Y_%H-%M-%S", time.localtime(stamp))
00084 
00085 def clean_filename(filename):
00086     """
00087     Formats a filename to remove any ' ' or '-'
00088     @param filename str : Filename to clean
00089     @return str : Cleaned up name
00090     """
00091     return filename.replace(' ', '_').replace('/', '-')


life_test
Author(s): Kevin Watts
autogenerated on Sat Dec 28 2013 17:56:37