Skip to content
Snippets Groups Projects
Forked from Social Cognitive Systems / ipaaca
145 commits behind the upstream repository.
ipaaca-catlog 2.24 KiB
#!/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

if __name__=='__main__':
	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]))