Skip to content
Snippets Groups Projects
ipaaca-catlog 2.44 KiB
Newer Older
  • Learn to ignore specific revisions
  • #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    # This file is part of IPAACA, the
    #  "Incremental Processing Architecture
    #   for Artificial Conversational Agents".
    #
    # Copyright (c) 2009-2015 Social Cognitive Systems Group
    #                         CITEC, Bielefeld University
    #
    # http://opensource.cit-ec.de/projects/ipaaca/
    # http://purl.org/net/ipaaca
    #
    # This file may be licensed under the terms of of the
    # GNU Lesser General Public License Version 3 (the ``LGPL''),
    # or (at your option) any later version.
    #
    # Software distributed under the License is distributed
    # on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
    # express or implied. See the LGPL for the specific language
    # governing rights and limitations.
    #
    # You should have received a copy of the LGPL along with this
    # program. If not, go to http://www.gnu.org/licenses/lgpl.html
    # or write to the Free Software Foundation, Inc.,
    # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    #
    # The development of this software was supported by the
    # Excellence Cluster EXC 277 Cognitive Interaction Technology.
    # The Excellence Cluster EXC 277 is a grant of the Deutsche
    # Forschungsgemeinschaft (DFG) in the context of the German
    # Excellence Initiative.
    
    
    from __future__ import division, print_function
    
    import sys
    import ipaaca
    
    	try:
    		iap = ipaaca.IpaacaArgumentParser('ipaaca-logcat')
    		iap.add_argument(
    			'-s', '--strip-fields',
    			dest='strip', action='store_true',
    			default=False,
    			help='strip leading/trailing whitespace from all fields')
    		iap.add_argument(
    			'-d', '--delimiter',
    			dest='delimiter', nargs=1,
    			default=['\t'],
    			help='field delimiter, interpreted as python unicode string (default \'\\t\')')
    		iap.add_argument(
    			'-f', '--fields',
    			dest='fields', default=['time', 'text'], nargs='+',
    			help='fields to print (defaults: \'time\' \'text\')')
    		arguments = iap.parse_args()
    		delimiter = eval("u'"+arguments.delimiter[0]+"'", {"__builtins__":None}, {} )
    		#print(arguments); sys.exit(1)
    		modify = (lambda s: s.strip()) if arguments.strip else (lambda s: s)
    		#modify = lambda s: type(s).__name__
    		for line in sys.stdin:
    			record = eval(line.strip(), {"__builtins__":None}, {} )
    			print(delimiter.join([modify(unicode(record[f])) for f in arguments.fields]))
    	except (KeyboardInterrupt, SystemExit):
    		pass # ret below
    	except Exception, e:
    		print(u'Exception: '+unicode(traceback.format_exc()))
    		ipaaca.exit(1)
    	ipaaca.exit(0)