[CalendarServer-changes] [5163] CalendarServer/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Sat Feb 20 13:02:37 PST 2010
Revision: 5163
http://trac.macosforge.org/projects/calendarserver/changeset/5163
Author: wsanchez at apple.com
Date: 2010-02-20 13:02:35 -0800 (Sat, 20 Feb 2010)
Log Message:
-----------
Use twext.python.log. Woot.
Modified Paths:
--------------
CalendarServer/trunk/twext/protocols/memcache.py
CalendarServer/trunk/twext/web2/channel/http.py
CalendarServer/trunk/twext/web2/dav/element/base.py
CalendarServer/trunk/twext/web2/dav/fileop.py
CalendarServer/trunk/twext/web2/dav/http.py
CalendarServer/trunk/twext/web2/dav/method/acl.py
CalendarServer/trunk/twext/web2/dav/method/copymove.py
CalendarServer/trunk/twext/web2/dav/method/delete.py
CalendarServer/trunk/twext/web2/dav/method/mkcol.py
CalendarServer/trunk/twext/web2/dav/method/prop_common.py
CalendarServer/trunk/twext/web2/dav/method/propfind.py
CalendarServer/trunk/twext/web2/dav/method/proppatch.py
CalendarServer/trunk/twext/web2/dav/method/put.py
CalendarServer/trunk/twext/web2/dav/method/report.py
CalendarServer/trunk/twext/web2/dav/method/report_acl_principal_prop_set.py
CalendarServer/trunk/twext/web2/dav/method/report_expand.py
CalendarServer/trunk/twext/web2/dav/method/report_principal_match.py
CalendarServer/trunk/twext/web2/dav/method/report_principal_property_search.py
CalendarServer/trunk/twext/web2/dav/method/report_principal_search_property_set.py
CalendarServer/trunk/twext/web2/dav/resource.py
CalendarServer/trunk/twext/web2/dav/static.py
CalendarServer/trunk/twext/web2/dav/test/util.py
CalendarServer/trunk/twext/web2/dav/util.py
CalendarServer/trunk/twext/web2/fileupload.py
CalendarServer/trunk/twext/web2/http.py
CalendarServer/trunk/twext/web2/log.py
CalendarServer/trunk/twext/web2/server.py
CalendarServer/trunk/twext/web2/test/test_log.py
CalendarServer/trunk/twistedcaldav/freebusyurl.py
CalendarServer/trunk/twistedcaldav/method/mkcol.py
CalendarServer/trunk/twistedcaldav/method/report_addressbook_multiget.py
CalendarServer/trunk/twistedcaldav/method/report_addressbook_query.py
CalendarServer/trunk/twistedcaldav/report_addressbook_findshared.py
CalendarServer/trunk/twistedcaldav/test/test_log.py
Modified: CalendarServer/trunk/twext/protocols/memcache.py
===================================================================
--- CalendarServer/trunk/twext/protocols/memcache.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/protocols/memcache.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -36,9 +36,10 @@
from twisted.protocols.basic import LineReceiver
from twisted.protocols.policies import TimeoutMixin
from twisted.internet.defer import Deferred, fail, TimeoutError
-from twisted.python import log
+from twext.python.log import Logger
+log = Logger()
DEFAULT_PORT = 11211
Modified: CalendarServer/trunk/twext/web2/channel/http.py
===================================================================
--- CalendarServer/trunk/twext/web2/channel/http.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/channel/http.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -23,26 +23,29 @@
#
##
+import time
import warnings
import socket
+from random import randint
from cStringIO import StringIO
+
from zope.interface import implements
-from twisted.python import log
from twisted.internet import interfaces, protocol, reactor
from twisted.protocols import policies, basic
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2 import http_headers
from twext.web2 import http
+from twext.web2.http import Request, RedirectResponse
-from random import randint
-
-from twext.web2.http import Request, RedirectResponse
from twistedcaldav.config import config
-
from twistedcaldav import accounting
-import time
+log = Logger()
+
+
class OverloadedLoggingServerProtocol (protocol.Protocol):
def __init__(self, retryAfter, outstandingRequests):
self.retryAfter = retryAfter
Modified: CalendarServer/trunk/twext/web2/dav/element/base.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/element/base.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/element/base.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -45,15 +45,16 @@
"DateTimeHeaderElement",
]
+import datetime
import string
import cStringIO as StringIO
-import datetime
-
-from twisted.python import log
+from twext.python.log import Logger
from twext.web2.http_headers import parseDateTime
from twext.web2.dav.element.util import decodeXMLName
+log = Logger()
+
##
# Base XML elements
##
Modified: CalendarServer/trunk/twext/web2/dav/fileop.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/fileop.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/fileop.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -42,15 +42,19 @@
import urllib
from urlparse import urlsplit
-from twisted.python import log
-from twext.python.filepath import CachingFilePath as FilePath
from twisted.python.failure import Failure
from twisted.internet.defer import succeed, deferredGenerator, waitForDeferred
+
+from twext.python.log import Logger
+from twext.python.filepath import CachingFilePath as FilePath
from twext.web2 import responsecode
from twext.web2.http import StatusResponse, HTTPError
from twext.web2.stream import FileStream, readIntoFile
from twext.web2.dav.http import ResponseQueue, statusForFailure
+log = Logger()
+
+
def delete(uri, filepath, depth="infinity"):
"""
Perform a X{DELETE} operation on the given URI, which is backed by the given
Modified: CalendarServer/trunk/twext/web2/dav/http.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/http.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/http.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -39,9 +39,10 @@
import errno
-from twisted.python import log
from twisted.python.failure import Failure
from twisted.python.filepath import InsecurePath
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.iweb import IResponse
from twext.web2.http import Response, HTTPError, StatusResponse
@@ -49,6 +50,9 @@
from twext.web2.dav import davxml
from twext.web2.dav.util import joinURL
+log = Logger()
+
+
class ErrorResponse(Response):
"""
A L{Response} object which contains a status code and a L{davxml.Error}
Modified: CalendarServer/trunk/twext/web2/dav/method/acl.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/method/acl.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/method/acl.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -29,14 +29,18 @@
__all__ = ["http_ACL"]
-from twisted.python import log
from twisted.internet.defer import deferredGenerator, waitForDeferred
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.http import StatusResponse, HTTPError
from twext.web2.dav import davxml
from twext.web2.dav.http import ErrorResponse
from twext.web2.dav.util import davXMLFromStream
+log = Logger()
+
+
def http_ACL(self, request):
"""
Respond to a ACL request. (RFC 3744, section 8.1)
Modified: CalendarServer/trunk/twext/web2/dav/method/copymove.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/method/copymove.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/method/copymove.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -29,8 +29,9 @@
__all__ = ["http_COPY", "http_MOVE"]
-from twisted.python import log
from twisted.internet.defer import waitForDeferred, deferredGenerator
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.dav.fileop import move
from twext.web2.http import HTTPError, StatusResponse
@@ -43,6 +44,9 @@
# FIXME: This is circular
import twext.web2.dav.static
+log = Logger()
+
+
def http_COPY(self, request):
"""
Respond to a COPY request. (RFC 2518, section 8.8)
Modified: CalendarServer/trunk/twext/web2/dav/method/delete.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/method/delete.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/method/delete.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -29,14 +29,18 @@
__all__ = ["http_DELETE"]
-from twisted.python import log
from twisted.internet.defer import waitForDeferred, deferredGenerator
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.http import HTTPError
from twext.web2.dav import davxml
from twext.web2.dav.fileop import delete
from twext.web2.dav.util import parentForURL
+log = Logger()
+
+
def http_DELETE(self, request):
"""
Respond to a DELETE request. (RFC 2518, section 8.6)
Modified: CalendarServer/trunk/twext/web2/dav/method/mkcol.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/method/mkcol.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/method/mkcol.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -29,14 +29,18 @@
__all__ = ["http_MKCOL"]
-from twisted.python import log
from twisted.internet.defer import deferredGenerator, waitForDeferred
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.http import HTTPError, StatusResponse
from twext.web2.dav import davxml
from twext.web2.dav.fileop import mkcollection
from twext.web2.dav.util import noDataFromStream, parentForURL
+log = Logger()
+
+
def http_MKCOL(self, request):
"""
Respond to a MKCOL request. (RFC 2518, section 8.3)
Modified: CalendarServer/trunk/twext/web2/dav/method/prop_common.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/method/prop_common.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/method/prop_common.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -9,14 +9,18 @@
]
from twisted.internet.defer import deferredGenerator, waitForDeferred
-from twisted.python import log
from twisted.python.failure import Failure
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.dav import davxml
from twext.web2.dav.element.base import WebDAVElement
from twext.web2.dav.http import statusForFailure
from twext.web2.dav.method.propfind import propertyName
+log = Logger()
+
+
def responseForHref(request, responses, href, resource, propertiesForResource, propertyreq):
if propertiesForResource is not None:
Modified: CalendarServer/trunk/twext/web2/dav/method/propfind.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/method/propfind.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/method/propfind.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -32,9 +32,10 @@
"propertyName",
]
-from twisted.python import log
from twisted.python.failure import Failure
from twisted.internet.defer import deferredGenerator, waitForDeferred
+
+from twext.python.log import Logger
from twext.web2.http import HTTPError
from twext.web2 import responsecode
from twext.web2.http import StatusResponse
@@ -42,6 +43,9 @@
from twext.web2.dav.http import MultiStatusResponse, statusForFailure
from twext.web2.dav.util import normalizeURL, davXMLFromStream
+log = Logger()
+
+
def http_PROPFIND(self, request):
"""
Respond to a PROPFIND request. (RFC 2518, section 8.1)
Modified: CalendarServer/trunk/twext/web2/dav/method/proppatch.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/method/proppatch.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/method/proppatch.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -29,15 +29,19 @@
__all__ = ["http_PROPPATCH"]
-from twisted.python import log
from twisted.python.failure import Failure
from twisted.internet.defer import deferredGenerator, waitForDeferred
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.http import HTTPError, StatusResponse
from twext.web2.dav import davxml
from twext.web2.dav.http import MultiStatusResponse, PropertyStatusResponseQueue
from twext.web2.dav.util import davXMLFromStream
+log = Logger()
+
+
def http_PROPPATCH(self, request):
"""
Respond to a PROPPATCH request. (RFC 2518, section 8.2)
Modified: CalendarServer/trunk/twext/web2/dav/method/put.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/method/put.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/method/put.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -29,14 +29,18 @@
__all__ = ["preconditions_PUT", "http_PUT"]
-from twisted.python import log
from twisted.internet.defer import deferredGenerator, waitForDeferred
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.http import HTTPError, StatusResponse
from twext.web2.dav import davxml
from twext.web2.dav.method import put_common
from twext.web2.dav.util import parentForURL
+log = Logger()
+
+
def preconditions_PUT(self, request):
#
# Check authentication and access controls
Modified: CalendarServer/trunk/twext/web2/dav/method/report.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/method/report.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/method/report.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -35,8 +35,9 @@
import string
-from twisted.python import log
from twisted.internet.defer import deferredGenerator, waitForDeferred
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.http import HTTPError, StatusResponse
from twext.web2.dav import davxml
@@ -44,6 +45,9 @@
from twext.web2.dav.http import ErrorResponse
from twext.web2.dav.util import davXMLFromStream
+log = Logger()
+
+
max_number_of_matches = 500
class NumberOfMatchesWithinLimits(Exception):
Modified: CalendarServer/trunk/twext/web2/dav/method/report_acl_principal_prop_set.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/method/report_acl_principal_prop_set.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/method/report_acl_principal_prop_set.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -29,8 +29,9 @@
__all__ = ["report_DAV__acl_principal_prop_set"]
-from twisted.python import log
from twisted.internet.defer import deferredGenerator, waitForDeferred
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.http import HTTPError, StatusResponse
from twext.web2.dav import davxml
@@ -40,6 +41,9 @@
from twext.web2.dav.method.report import NumberOfMatchesWithinLimits
from twext.web2.dav.method.report import max_number_of_matches
+log = Logger()
+
+
def report_DAV__acl_principal_prop_set(self, request, acl_prinicpal_prop_set):
"""
Generate an acl-prinicpal-prop-set REPORT. (RFC 3744, section 9.2)
Modified: CalendarServer/trunk/twext/web2/dav/method/report_expand.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/method/report_expand.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/method/report_expand.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -28,8 +28,9 @@
__all__ = ["report_DAV__expand_property"]
from twisted.internet.defer import inlineCallbacks, returnValue
-from twisted.python import log
from twisted.python.failure import Failure
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.dav import davxml
from twext.web2.dav.davxml import dav_namespace
@@ -40,6 +41,9 @@
from twext.web2.dav.util import parentForURL
from twext.web2.http import HTTPError, StatusResponse
+log = Logger()
+
+
@inlineCallbacks
def report_DAV__expand_property(self, request, expand_property):
"""
Modified: CalendarServer/trunk/twext/web2/dav/method/report_principal_match.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/method/report_principal_match.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/method/report_principal_match.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -30,8 +30,9 @@
__all__ = ["report_DAV__principal_match"]
-from twisted.python import log
from twisted.internet.defer import deferredGenerator, waitForDeferred
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.http import StatusResponse, HTTPError
from twext.web2.dav import davxml
@@ -42,6 +43,9 @@
from twext.web2.dav.method.report import max_number_of_matches
from twext.web2.dav.resource import isPrincipalResource
+log = Logger()
+
+
def report_DAV__principal_match(self, request, principal_match):
"""
Generate a principal-match REPORT. (RFC 3744, section 9.3)
Modified: CalendarServer/trunk/twext/web2/dav/method/report_principal_property_search.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/method/report_principal_property_search.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/method/report_principal_property_search.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -29,8 +29,9 @@
__all__ = ["report_DAV__principal_property_search"]
-from twisted.python import log
from twisted.internet.defer import deferredGenerator, waitForDeferred
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.http import HTTPError, StatusResponse
from twext.web2.dav import davxml
@@ -41,6 +42,9 @@
from twext.web2.dav.method.report import max_number_of_matches
from twext.web2.dav.resource import isPrincipalResource
+log = Logger()
+
+
def report_DAV__principal_property_search(self, request, principal_property_search):
"""
Generate a principal-property-search REPORT. (RFC 3744, section 9.4)
Modified: CalendarServer/trunk/twext/web2/dav/method/report_principal_search_property_set.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/method/report_principal_search_property_set.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/method/report_principal_search_property_set.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -30,12 +30,16 @@
__all__ = ["report_DAV__principal_search_property_set"]
from twisted.internet.defer import deferredGenerator
-from twisted.python import log
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.dav import davxml
from twext.web2.http import HTTPError, Response, StatusResponse
from twext.web2.stream import MemoryStream
+log = Logger()
+
+
def report_DAV__principal_search_property_set(self, request, principal_search_property_set):
"""
Generate a principal-search-property-set REPORT. (RFC 3744, section 9.5)
Modified: CalendarServer/trunk/twext/web2/dav/resource.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/resource.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/resource.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -44,21 +44,17 @@
"unauthenticatedPrincipal",
]
-import __builtin__
-if not hasattr(__builtin__, "set"):
- import sets.Set as set
-if not hasattr(__builtin__, "frozenset"):
- import sets.ImmutableSet as frozenset
-
import urllib
from zope.interface import implements
+
from twisted.cred.error import LoginFailed, UnauthorizedLogin
-from twisted.python import log
from twisted.python.failure import Failure
from twisted.internet.defer import Deferred, maybeDeferred, succeed
from twisted.internet.defer import waitForDeferred, deferredGenerator
from twisted.internet import reactor
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.http import HTTPError, RedirectResponse, StatusResponse
from twext.web2.http_headers import generateContentType
@@ -76,6 +72,9 @@
from twext.web2.dav.util import unimplemented, parentForURL, joinURL
from twext.web2.dav.auth import PrincipalCredentials
+log = Logger()
+
+
class DAVPropertyMixIn (MetaDataMixin):
"""
Mix-in class which implements the DAV property access API in
Modified: CalendarServer/trunk/twext/web2/dav/static.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/static.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/static.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -28,9 +28,10 @@
__all__ = ["DAVFile"]
+from twisted.python.filepath import InsecurePath
from twisted.internet.defer import succeed, deferredGenerator, waitForDeferred
-from twisted.python.filepath import InsecurePath
-from twisted.python import log
+
+from twext.python.log import Logger
from twext.web2 import http_headers
from twext.web2 import responsecode
from twext.web2.dav.resource import DAVResource, davPrivilegeSet
@@ -39,6 +40,9 @@
from twext.web2.http import HTTPError, StatusResponse
from twext.web2.static import File
+log = Logger()
+
+
try:
from twext.web2.dav.xattrprops import xattrPropertyStore as DeadPropertyStore
except ImportError:
Modified: CalendarServer/trunk/twext/web2/dav/test/util.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/test/util.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/test/util.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -28,10 +28,10 @@
from tempfile import mkdtemp
from shutil import copy
-from twisted.python import log
from twisted.trial import unittest
from twisted.internet.defer import Deferred
+from twext.python.log import Logger
from twext.web2.http import HTTPError, StatusResponse
from twext.web2 import responsecode
from twext.web2.dav import davxml
@@ -40,6 +40,9 @@
from twext.web2.dav.static import DAVFile
from twext.web2.dav.util import joinURL
+log = Logger()
+
+
class InMemoryPropertyStore (object):
"""
A dead property store for keeping properties in memory
Modified: CalendarServer/trunk/twext/web2/dav/util.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/util.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/dav/util.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -45,13 +45,15 @@
from urlparse import urlsplit, urlunsplit
import posixpath # Careful; this module is not documented as public API
-from twisted.python import log
from twisted.python.failure import Failure
from twisted.internet.defer import succeed
+
+from twext.python.log import Logger
from twext.web2.stream import readStream
-
from twext.web2.dav import davxml
+log = Logger()
+
##
# Reading request body
##
Modified: CalendarServer/trunk/twext/web2/fileupload.py
===================================================================
--- CalendarServer/trunk/twext/web2/fileupload.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/fileupload.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -388,10 +388,12 @@
if __name__ == '__main__':
d = parseMultipartFormData(
FileStream(open("upload.txt")), "----------0xKhTmLbOuNdArY")
- from twisted.python import log
+ from twext.python.log import Logger
+ log = Logger()
d.addErrback(log.err)
def pr(s):
print s
d.addCallback(pr)
+
__all__ = ['parseMultipartFormData', 'parse_urlencoded', 'parse_urlencoded_stream', 'MultipartMimeStream', 'MimeFormatError']
Modified: CalendarServer/trunk/twext/web2/http.py
===================================================================
--- CalendarServer/trunk/twext/web2/http.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/http.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -32,22 +32,23 @@
"""
# import traceback; log.msg(''.join(traceback.format_stack()))
-# system imports
import time
import cgi
-# twisted imports
from twisted.internet import interfaces, error
-from twisted.python import log, components
+from twisted.python import components
from zope.interface import implements
-# sibling imports
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2 import http_headers
from twext.web2 import iweb
from twext.web2 import stream
from twext.web2.stream import IByteStream, readAndDiscard
+log = Logger()
+
+
defaultPortForScheme = {'http': 80, 'https':443, 'ftp':21}
def splitHostPort(scheme, hostport):
Modified: CalendarServer/trunk/twext/web2/log.py
===================================================================
--- CalendarServer/trunk/twext/web2/log.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/log.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -26,7 +26,7 @@
"""Logging tools. This is still in flux (even moreso than the rest of web2)."""
import time
-from twisted.python import log as tlog
+from twisted.python import log
from twisted.internet import defer
from twext.web2 import iweb, stream, resource
from zope.interface import implements, Attribute, Interface
@@ -91,7 +91,7 @@
loginfo.responseCompleted=success
loginfo.secondsTaken=time.time()-startTime
- tlog.msg(interface=iweb.IRequest, request=request, response=response,
+ log.msg(interface=iweb.IRequest, request=request, response=response,
loginfo=loginfo)
# Or just...
# ILogger(ctx).log(...) ?
@@ -190,11 +190,11 @@
def start(self):
"""Start observing log events."""
- tlog.addObserver(self.emit)
+ log.addObserver(self.emit)
def stop(self):
"""Stop observing log events."""
- tlog.removeObserver(self.emit)
+ log.removeObserver(self.emit)
class FileAccessLoggingObserver(BaseCommonAccessLoggingObserver):
@@ -219,4 +219,4 @@
class DefaultCommonAccessLoggingObserver(BaseCommonAccessLoggingObserver):
"""Log requests to default twisted logfile."""
def logMessage(self, message):
- tlog.msg(message)
+ log.msg(message)
Modified: CalendarServer/trunk/twext/web2/server.py
===================================================================
--- CalendarServer/trunk/twext/web2/server.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/server.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -28,19 +28,17 @@
infrastructure.
"""
-# System Imports
import cgi, time, urlparse
from urllib import quote, unquote
from urlparse import urlsplit
-
import weakref
from zope.interface import implements
-# Twisted Imports
+
from twisted.internet import defer
-from twisted.python import log, failure
+from twisted.python import failure
-# Sibling Imports
+from twext.python.log import Logger
from twext.web2 import http, iweb, fileupload, responsecode
from twext.web2 import http_headers
from twext.web2.filter.range import rangefilter
@@ -52,7 +50,9 @@
VERSION = "Twisted/%s TwistedWeb/%s" % (twisted_version, web2_version)
_errorMarker = object()
+log = Logger()
+
def defaultHeadersFilter(request, response):
if not response.headers.hasHeader('server'):
response.headers.setHeader('server', VERSION)
Modified: CalendarServer/trunk/twext/web2/test/test_log.py
===================================================================
--- CalendarServer/trunk/twext/web2/test/test_log.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twext/web2/test/test_log.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -1,12 +1,14 @@
# Copyright (c) 2001-2007 Twisted Matrix Laboratories.
# See LICENSE for details.
-from twext.web2 import log, resource, http
+from twisted.python.log import addObserver, removeObserver
+
+from twext.web2.log import BaseCommonAccessLoggingObserver, LogWrapperResource
+from twext.web2.http import Response
+from twext.web2.resource import Resource, WrapperResource
from twext.web2.test.test_server import BaseCase, BaseTestResource
-from twisted.python import log as tlog
-
-class BufferingLogObserver(log.BaseCommonAccessLoggingObserver):
+class BufferingLogObserver(BaseCommonAccessLoggingObserver):
"""
A web2 log observer that buffer messages.
"""
@@ -14,7 +16,7 @@
def logMessage(self, message):
self.messages.append(message)
-class SetDateWrapperResource(resource.WrapperResource):
+class SetDateWrapperResource(WrapperResource):
"""
A resource wrapper which sets the date header.
"""
@@ -26,33 +28,33 @@
req.addResponseFilter(_filter, atEnd=True)
-class NoneStreamResource(resource.Resource):
+class NoneStreamResource(Resource):
"""
A basic empty resource.
"""
def render(self, req):
- return http.Response(200)
+ return Response(200)
class TestLogging(BaseCase):
def setUp(self):
self.blo = BufferingLogObserver()
- tlog.addObserver(self.blo.emit)
+ addObserver(self.blo.emit)
# some default resource setup
self.resrc = BaseTestResource()
self.resrc.child_emptystream = NoneStreamResource()
- self.root = SetDateWrapperResource(log.LogWrapperResource(self.resrc))
+ self.root = SetDateWrapperResource(LogWrapperResource(self.resrc))
def tearDown(self):
- tlog.removeObserver(self.blo.emit)
+ removeObserver(self.blo.emit)
def assertLogged(self, **expected):
"""
Check that logged messages matches expected format.
"""
if 'date' not in expected:
- epoch = log.BaseCommonAccessLoggingObserver().logDateString(0)
+ epoch = BaseCommonAccessLoggingObserver().logDateString(0)
expected['date'] = epoch
if 'user' not in expected:
Modified: CalendarServer/trunk/twistedcaldav/freebusyurl.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/freebusyurl.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twistedcaldav/freebusyurl.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -22,8 +22,13 @@
"FreeBusyURLResource",
]
+import datetime
+
+from vobject.icalendar import utc
+
from twisted.internet.defer import inlineCallbacks, returnValue
-from twisted.python import log
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.dav import davxml
from twext.web2.dav.http import ErrorResponse
@@ -45,9 +50,8 @@
from twistedcaldav.scheduling.cuaddress import LocalCalendarUser
from twistedcaldav.scheduling.scheduler import Scheduler
-from vobject.icalendar import utc
+log = Logger()
-import datetime
class FreeBusyURLResource (CalDAVResource):
"""
Modified: CalendarServer/trunk/twistedcaldav/method/mkcol.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/method/mkcol.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twistedcaldav/method/mkcol.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -21,11 +21,10 @@
__all__ = ["http_MKCOL"]
+from twisted.python.failure import Failure
from twisted.internet.defer import inlineCallbacks, returnValue
-from twisted.python import log
-from twisted.python.failure import Failure
-
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.dav import davxml
from twext.web2.dav.http import ErrorResponse, MultiStatusResponse, PropertyStatusResponseQueue
@@ -40,6 +39,9 @@
from twistedcaldav.resource import isPseudoCalendarCollectionResource
from twistedcaldav.static import CalDAVFile
+log = Logger()
+
+
@inlineCallbacks
def http_MKCOL(self, request):
Modified: CalendarServer/trunk/twistedcaldav/method/report_addressbook_multiget.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/method/report_addressbook_multiget.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twistedcaldav/method/report_addressbook_multiget.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -21,9 +21,11 @@
__all__ = ["report_urn_ietf_params_xml_ns_carddav_addressbook_multiget"]
import time
+from urllib import unquote
from twisted.internet.defer import inlineCallbacks, returnValue
-from twisted.python import log
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.dav import davxml
from twext.web2.dav.element.base import dav_namespace
@@ -37,7 +39,7 @@
from twistedcaldav.carddavxml import carddav_namespace
from twistedcaldav.method import report_common
-from urllib import unquote
+log = Logger()
@inlineCallbacks
Modified: CalendarServer/trunk/twistedcaldav/method/report_addressbook_query.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/method/report_addressbook_query.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twistedcaldav/method/report_addressbook_query.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -20,8 +20,12 @@
__all__ = ["report_urn_ietf_params_xml_ns_carddav_addressbook_query"]
+import urllib
+import time
+
from twisted.internet.defer import succeed, inlineCallbacks, returnValue, maybeDeferred
-from twisted.python import log
+
+from twext.python.log import Logger
from twext.web2 import responsecode
from twext.web2.dav import davxml
from twext.web2.dav.http import ErrorResponse, MultiStatusResponse
@@ -34,9 +38,9 @@
from twistedcaldav.carddavxml import carddav_namespace, NResults
from twistedcaldav.method import report_common
-import urllib
-import time
+log = Logger()
+
@inlineCallbacks
def report_urn_ietf_params_xml_ns_carddav_addressbook_query(self, request, addressbook_query):
"""
Modified: CalendarServer/trunk/twistedcaldav/report_addressbook_findshared.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/report_addressbook_findshared.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twistedcaldav/report_addressbook_findshared.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -26,13 +26,15 @@
"getWritersGroupForSharedAddressBookGroup",
]
+from plistlib import readPlist
#import traceback
+
import opendirectory
import dsattributes
-from plistlib import readPlist
from twisted.internet.defer import inlineCallbacks, returnValue
-from twisted.python import log
+
+from twext.python.log import Logger
from twext.python.filepath import CachingFilePath as FilePath
from twext.web2 import responsecode
from twext.web2.dav import davxml
@@ -50,8 +52,11 @@
from twistedcaldav.directory.directory import DirectoryService
+log = Logger()
+
gLogLocal = 0 # Poor mans logging control for this file only
+
class AddressBookAccessMode (davxml.WebDAVTextElement):
"""
Access Mode XML element for Address Book "Find Shared" report
@@ -119,8 +124,7 @@
if record == None:
return
- if gLogLocal:
- log.msg("(Shared Address Book) Reloading record from DS: %s (%s)" % (record.shortNames[0], record.guid));
+ log.debug("(Shared Address Book) Reloading record from DS: %s (%s)" % (record.shortNames[0], record.guid));
guid = record.guid
service = record.service
service.reloadCache(record.recordType, lookup=["guid", guid], logIt=False)
@@ -135,8 +139,7 @@
if groupRecord == None:
return
- if gLogLocal:
- log.msg("(Shared Address Book) Reloading members from DS for record: %s (%s)" % (groupRecord.shortNames[0], groupRecord.guid));
+ log.debug("(Shared Address Book) Reloading members from DS for record: %s (%s)" % (groupRecord.shortNames[0], groupRecord.guid));
visitedGroups = []
for m in groupRecord.members():
@@ -147,8 +150,7 @@
m = reloadRecordFromDS(m) # refresh the member group
reloadGroupMembersFromDS(m) # and any of it's children
- if gLogLocal:
- log.msg("(Shared Address Book) Completed reload of members from DS for record: %s (%s)" % (groupRecord.shortNames[0], groupRecord.guid));
+ log.debug("(Shared Address Book) Completed reload of members from DS for record: %s (%s)" % (groupRecord.shortNames[0], groupRecord.guid));
def getSharedAddressBookSpecialGroup(service, wantGroupName):
@@ -157,8 +159,7 @@
# Read these directory from DS because DSLocal recrods are not in principals
# We now intentionally force the read to go to DS to make sure we don't have stale data (esp. between processes)
- if gLogLocal:
- log.msg("(Shared Address Book) Querying DS for provisioning group: %s" % wantGroupName);
+ log.debug("(Shared Address Book) Querying DS for provisioning group: %s" % wantGroupName);
def _uniqueTupleFromAttribute(attribute):
if attribute:
@@ -183,16 +184,17 @@
try:
localNodeDirectory = opendirectory.odInit("/Local/Default")
- if gLogLocal:
- log.msg("(Shared Address Book) opendirectory.queryRecordsWithAttribute_list(%r,%r,%r,%r,%r,%r,%r)" % (
- "/Local/Default",
- dsattributes.kDSNAttrRecordName,
- wantGroupName,
- dsattributes.eDSExact,
- False,
- dsattributes.kDSStdRecordTypeGroups,
- attrs,
- ))
+ log.debug(
+ "(Shared Address Book) opendirectory.queryRecordsWithAttribute_list(%r,%r,%r,%r,%r,%r,%r)" % (
+ "/Local/Default",
+ dsattributes.kDSNAttrRecordName,
+ wantGroupName,
+ dsattributes.eDSExact,
+ False,
+ dsattributes.kDSStdRecordTypeGroups,
+ attrs,
+ )
+ )
results = opendirectory.queryRecordsWithAttribute_list(
localNodeDirectory,
dsattributes.kDSNAttrRecordName,
@@ -203,8 +205,7 @@
attrs,
)
- if gLogLocal:
- log.msg("(Shared Address Book) results= %r" % (results,))
+ log.debug("(Shared Address Book) results= %r" % (results,))
if len(results) > 0:
@@ -247,8 +248,7 @@
#traceback.print_exc()
log.err("Exception while qerying DS for provisioning group: %s: r" % (wantGroupName, e,))
- if gLogLocal:
- log.msg("(Shared Address Book) record= %r" % (record,))
+ log.debug("(Shared Address Book) record= %r" % (record,))
return record
@@ -483,4 +483,3 @@
responses.append(xml_response)
returnValue(MultiStatusResponse(responses))
-
Modified: CalendarServer/trunk/twistedcaldav/test/test_log.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/test/test_log.py 2010-02-20 16:38:20 UTC (rev 5162)
+++ CalendarServer/trunk/twistedcaldav/test/test_log.py 2010-02-20 21:02:35 UTC (rev 5163)
@@ -18,12 +18,17 @@
from twisted.python import log as twistedLogging
-from twext.python.log import *
+from twext.python.log import logLevelsByNamespace, logLevelForNamespace
+from twext.python.log import setLogLevelForNamespace, clearLogLevels
+from twext.python.log import logLevels, cmpLogLevels
+from twext.python.log import pythonLogLevelForLevel, InvalidLogLevelError
+from twext.python.log import Logger, LoggingMixIn
from twistedcaldav.test.util import TestCase
defaultLogLevel = logLevelsByNamespace[None]
+
class TestLogger (Logger):
def __init__(self, namespace=None):
super(TestLogger, self).__init__(namespace)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100220/8cd071a1/attachment-0001.html>
More information about the calendarserver-changes
mailing list