[CalendarServer-changes] [10656] CalendarServer/branches/release/CalendarServer-4.3-dev/ calendarserver/tools/purge.py

source_changes at macosforge.org source_changes at macosforge.org
Thu Feb 7 09:48:41 PST 2013


Revision: 10656
          http://trac.calendarserver.org//changeset/10656
Author:   cdaboo at apple.com
Date:     2013-02-07 09:48:41 -0800 (Thu, 07 Feb 2013)
Log Message:
-----------
Add standard log.xxx logging when -v is used.

Modified Paths:
--------------
    CalendarServer/branches/release/CalendarServer-4.3-dev/calendarserver/tools/purge.py

Modified: CalendarServer/branches/release/CalendarServer-4.3-dev/calendarserver/tools/purge.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-4.3-dev/calendarserver/tools/purge.py	2013-02-06 21:52:53 UTC (rev 10655)
+++ CalendarServer/branches/release/CalendarServer-4.3-dev/calendarserver/tools/purge.py	2013-02-07 17:48:41 UTC (rev 10656)
@@ -33,6 +33,7 @@
 from twisted.application.service import Service
 from twisted.internet import reactor
 from twisted.internet.defer import inlineCallbacks, returnValue, succeed
+from twisted.python.log import addObserver, removeObserver
 
 from twistedcaldav import caldavxml
 from twistedcaldav.caldavxml import TimeRange
@@ -54,6 +55,36 @@
 DEFAULT_BATCH_SIZE = 100
 DEFAULT_RETAIN_DAYS = 365
 
+class StandardIOObserver (object):
+    """
+    Log observer that writes to standard I/O.
+    """
+    def emit(self, eventDict):
+        text = None
+
+        if eventDict["isError"]:
+            output = sys.stderr
+            if "failure" in eventDict:
+                text = eventDict["failure"].getTraceback()
+        else:
+            output = sys.stdout
+
+        if not text:
+            text = " ".join([str(m) for m in eventDict["message"]]) + "\n"
+
+        output.write(text)
+        output.flush()
+
+
+    def start(self):
+        addObserver(self.emit)
+
+
+    def stop(self):
+        removeObserver(self.emit)
+
+
+
 class WorkerService(Service):
 
     def __init__(self, store):
@@ -85,7 +116,7 @@
 
     def doWork(self):
         """
-        Turn off attendee refresh batching and remove the free/busy index limit 
+        Turn off attendee refresh batching and remove the free/busy index limit
         """
         config.Scheduling.Options.AttendeeRefreshBatch = 0
         config.FreeBusyIndexLowerLimitDays = 0
@@ -207,6 +238,9 @@
         cls.dryrun = dryrun
         cls.verbose = verbose
 
+        if verbose:
+            observer = StandardIOObserver()
+            observer.start()
         utilityMain(
             configFileName,
             cls,
@@ -385,6 +419,9 @@
         cls.dryrun = dryrun
         cls.verbose = verbose
 
+        if verbose:
+            observer = StandardIOObserver()
+            observer.start()
         utilityMain(
             configFileName,
             cls,
@@ -658,6 +695,9 @@
         cls.verbose = verbose
         cls.doimplicit = doimplicit
 
+        if verbose:
+            observer = StandardIOObserver()
+            observer.start()
         utilityMain(
             configFileName,
             cls
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130207/c79823a6/attachment.html>


More information about the calendarserver-changes mailing list