summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Ipsum <richardipsum@fastmail.co.uk>2014-07-24 13:32:25 +0100
committerLars Wirzenius <liw@liw.fi>2014-07-31 09:12:06 +0100
commit0be9a6869c13d9e1369a4458c8e700f4684a4c56 (patch)
treeda72c032d40aa650f30202d4781e9dfcca0265c5
parent0dfbddf73d0be0b39b2f8d8f6c7902ee1fba49b6 (diff)
downloadcliapp-0be9a6869c13d9e1369a4458c8e700f4684a4c56.tar.gz
Add LoggerApp example
-rw-r--r--example5.py46
-rw-r--r--without-tests1
2 files changed, 47 insertions, 0 deletions
diff --git a/example5.py b/example5.py
new file mode 100644
index 0000000..4ceca44
--- /dev/null
+++ b/example5.py
@@ -0,0 +1,46 @@
+# Copyright (C) 2014 Lars Wirzenius
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+
+import cliapp
+import logging
+
+
+class LoggerApp(cliapp.Application):
+
+ def log(self, s):
+ ''' A dummy logger function
+
+ In practice this would log the contents
+ to a file or a set of files, perhaps filtering the output or
+ prefixing each line with a date and time.
+
+ '''
+
+ self.output.write('log: %s' % s)
+ self.output.flush()
+
+ def process_args(self, args):
+ commands = [['echo', 'hello world!'], ['ls', 'nosuchthing']]
+
+ for command in commands:
+ try:
+ self.runcmd(command, stdout_callback=self.log,
+ stderr_callback=self.log)
+ except cliapp.AppException:
+ pass
+
+LoggerApp().run()
diff --git a/without-tests b/without-tests
index 9f87e60..c6dc59d 100644
--- a/without-tests
+++ b/without-tests
@@ -10,3 +10,4 @@
./test-plugins/aaa_hello_plugin.py
example3.py
example4.py
+example5.py