[Checkins] SVN: zope.server/trunk/ Drop support for Python 2.4 and 2.5.
Tres Seaver
cvs-admin at zope.org
Fri May 18 16:19:18 UTC 2012
Log message for revision 126158:
Drop support for Python 2.4 and 2.5.
Replace deprecated 'zope.interface.implements' usage with equivalent
'zope.interface.implementer' decorator.
Changed:
U zope.server/trunk/CHANGES.txt
U zope.server/trunk/setup.py
U zope.server/trunk/src/zope/server/fixedstreamreceiver.py
U zope.server/trunk/src/zope/server/ftp/publisher.py
U zope.server/trunk/src/zope/server/ftp/server.py
U zope.server/trunk/src/zope/server/ftp/tests/demofs.py
U zope.server/trunk/src/zope/server/http/chunking.py
U zope.server/trunk/src/zope/server/http/httprequestparser.py
U zope.server/trunk/src/zope/server/http/httptask.py
U zope.server/trunk/src/zope/server/http/tests/test_httpserver.py
U zope.server/trunk/src/zope/server/linereceiver/linecommandparser.py
U zope.server/trunk/src/zope/server/linereceiver/linetask.py
U zope.server/trunk/src/zope/server/logger/filelogger.py
U zope.server/trunk/src/zope/server/logger/pythonlogger.py
U zope.server/trunk/src/zope/server/logger/resolvinglogger.py
U zope.server/trunk/src/zope/server/logger/socketlogger.py
U zope.server/trunk/src/zope/server/logger/sysloglogger.py
U zope.server/trunk/src/zope/server/logger/taillogger.py
U zope.server/trunk/src/zope/server/logger/unresolvinglogger.py
U zope.server/trunk/src/zope/server/serverbase.py
U zope.server/trunk/src/zope/server/serverchannelbase.py
U zope.server/trunk/src/zope/server/taskthreads.py
-=-
Modified: zope.server/trunk/CHANGES.txt
===================================================================
--- zope.server/trunk/CHANGES.txt 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/CHANGES.txt 2012-05-18 16:19:15 UTC (rev 126158)
@@ -2,12 +2,15 @@
CHANGES
=======
-3.8.7 (unreleased)
+4.0.0 (unreleased)
------------------
-- Nothing changed yet.
+- Replaced deprecated ``zope.interface.implements`` usage with equivalent
+ ``zope.interface.implementer`` decorator.
+- Dropped support for Python 2.4 and 2.5.
+
3.8.6 (2012-01-07)
------------------
Modified: zope.server/trunk/setup.py
===================================================================
--- zope.server/trunk/setup.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/setup.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -34,7 +34,7 @@
setup(
name='zope.server',
- version='3.8.7dev',
+ version='4.0.0dev',
author='Zope Foundation and Contributors',
author_email='zope-dev at zope.org',
description='Zope Server (Web and FTP)',
@@ -51,6 +51,9 @@
'Intended Audience :: Developers',
'License :: OSI Approved :: Zope Public License',
'Programming Language :: Python',
+ 'Programming Language :: Python :: 2',
+ 'Programming Language :: Python :: 2.6',
+ 'Programming Language :: Python :: 2.7',
'Natural Language :: English',
'Operating System :: OS Independent',
'Topic :: Internet :: WWW/HTTP',
Modified: zope.server/trunk/src/zope/server/fixedstreamreceiver.py
===================================================================
--- zope.server/trunk/src/zope/server/fixedstreamreceiver.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/fixedstreamreceiver.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -15,13 +15,12 @@
"""
from zope.server.interfaces import IStreamConsumer
-from zope.interface import implements
+from zope.interface import implementer
+ at implementer(IStreamConsumer)
class FixedStreamReceiver(object):
- implements(IStreamConsumer)
-
# See IStreamConsumer
completed = 0
Modified: zope.server/trunk/src/zope/server/ftp/publisher.py
===================================================================
--- zope.server/trunk/src/zope/server/ftp/publisher.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/ftp/publisher.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -25,13 +25,12 @@
from zope.server.ftp.server import FTPServer
from zope.publisher.publish import publish
-from zope.interface import implements
+from zope.interface import implementer
+ at implementer(IFileSystem)
class PublisherFileSystem(object):
"""Generic Publisher FileSystem implementation."""
- implements(IFileSystem)
-
def __init__ (self, credentials, request_factory):
self.credentials = credentials
self.request_factory = request_factory
@@ -131,10 +130,9 @@
super(PublisherFTPServer, self).__init__(ip, port, fs_access,
*args, **kw)
+ at implementer(IFileSystemAccess)
class PublisherFileSystemAccess(object):
- implements(IFileSystemAccess)
-
def __init__(self, request_factory):
self.request_factory = request_factory
Modified: zope.server/trunk/src/zope/server/ftp/server.py
===================================================================
--- zope.server/trunk/src/zope/server/ftp/server.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/ftp/server.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -20,7 +20,7 @@
from getopt import getopt, GetoptError
from zope.security.interfaces import Unauthorized
-from zope.interface import implements
+from zope.interface import implementer
from zope.server.buffers import OverflowableBuffer
from zope.server.interfaces import ITask
from zope.server.interfaces.ftp import IFileSystemAccess
@@ -82,13 +82,12 @@
'ERR_RNFR_SOURCE' : '560 No source filename specify. Call RNFR first.',
}
+ at implementer(IFTPCommandHandler)
class FTPServerChannel(LineServerChannel):
"""The FTP Server Channel represents a connection to a particular
client. We can therefore store information here."""
- implements(IFTPCommandHandler)
-
# List of commands that are always available
special_commands = (
'cmd_quit', 'cmd_type', 'cmd_noop', 'cmd_user', 'cmd_pass')
@@ -835,14 +834,13 @@
# provide a complete reply through finishSTOR().
+ at implementer(ITask)
class FinishSTORTask(object):
"""Calls control_channel.finishSTOR() in an application thread.
This task executes after the client has finished uploading.
"""
- implements(ITask)
-
def __init__(self, control_channel, inbuf, finish_args):
self.control_channel = control_channel
self.inbuf = inbuf
Modified: zope.server/trunk/src/zope/server/ftp/tests/demofs.py
===================================================================
--- zope.server/trunk/src/zope/server/ftp/tests/demofs.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/ftp/tests/demofs.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -15,7 +15,7 @@
from zope.security.interfaces import Unauthorized
from zope.server.interfaces.ftp import IFileSystem
from zope.server.interfaces.ftp import IFileSystemAccess
-from zope.interface import implements
+from zope.interface import implementer
execute = 1
read = 2
@@ -66,10 +66,10 @@
def __iter__(self):
return iter(self.files)
+ at implementer(IFileSystem)
class DemoFileSystem(object):
__doc__ = IFileSystem.__doc__
- implements(IFileSystem)
File = File
Directory = Directory
@@ -285,10 +285,10 @@
f = d[name]
return f.type == 'f' and f.accessable(self.user, write)
+ at implementer(IFileSystemAccess)
class DemoFileSystemAccess(object):
__doc__ = IFileSystemAccess.__doc__
- implements(IFileSystemAccess)
def __init__(self, files, users):
self.files = files
Modified: zope.server/trunk/src/zope/server/http/chunking.py
===================================================================
--- zope.server/trunk/src/zope/server/http/chunking.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/http/chunking.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -16,13 +16,12 @@
from zope.server.utilities import find_double_newline
from zope.server.interfaces import IStreamConsumer
-from zope.interface import implements
+from zope.interface import implementer
+ at implementer(IStreamConsumer)
class ChunkedReceiver(object):
- implements(IStreamConsumer)
-
chunk_remainder = 0
control_line = ''
all_chunks_received = 0
Modified: zope.server/trunk/src/zope/server/http/httprequestparser.py
===================================================================
--- zope.server/trunk/src/zope/server/http/httprequestparser.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/http/httprequestparser.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -24,7 +24,7 @@
from zope.server.buffers import OverflowableBuffer
from zope.server.utilities import find_double_newline
from zope.server.interfaces import IStreamConsumer
-from zope.interface import implements
+from zope.interface import implementer
try:
from cStringIO import StringIO
@@ -32,6 +32,7 @@
from StringIO import StringIO
+ at implementer(IStreamConsumer)
class HTTPRequestParser(object):
"""A structure that collects the HTTP request.
@@ -39,8 +40,6 @@
a server task constructor.
"""
- implements(IStreamConsumer)
-
completed = 0 # Set once request is completed.
empty = 0 # Set if no request was made.
header_plus = ''
Modified: zope.server/trunk/src/zope/server/http/httptask.py
===================================================================
--- zope.server/trunk/src/zope/server/http/httptask.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/http/httptask.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -23,7 +23,7 @@
from zope.publisher.interfaces.http import IHeaderOutput
from zope.server.interfaces import ITask
-from zope.interface import implements
+from zope.interface import implementer
rename_headers = {
'CONTENT_LENGTH' : 'CONTENT_LENGTH',
@@ -31,14 +31,13 @@
'CONNECTION' : 'CONNECTION_TYPE',
}
+ at implementer(ITask, IHeaderOutput) #, IOutputStream
class HTTPTask(object):
"""An HTTP task accepts a request and writes to a channel.
Subclass this and override the execute() method.
"""
- implements(ITask, IHeaderOutput) #, IOutputStream
-
instream = None
close_on_finish = 1
status = '200'
Modified: zope.server/trunk/src/zope/server/http/tests/test_httpserver.py
===================================================================
--- zope.server/trunk/src/zope/server/http/tests/test_httpserver.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/http/tests/test_httpserver.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -22,7 +22,7 @@
from zope.server.adjustments import Adjustments
from zope.server.interfaces import ITask
from zope.server.tests.asyncerror import AsyncoreErrorHook
-from zope.interface import implements
+from zope.interface import implementer
from httplib import HTTPConnection
from httplib import HTTPResponse as ClientHTTPResponse
@@ -43,10 +43,9 @@
+ at implementer(ITask)
class SleepingTask(object):
- implements(ITask)
-
def service(self):
sleep(0.2)
Modified: zope.server/trunk/src/zope/server/linereceiver/linecommandparser.py
===================================================================
--- zope.server/trunk/src/zope/server/linereceiver/linecommandparser.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/linereceiver/linecommandparser.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -14,14 +14,13 @@
"""Line Command Parser
"""
from zope.server.interfaces import IStreamConsumer
-from zope.interface import implements
+from zope.interface import implementer
+ at implementer(IStreamConsumer)
class LineCommandParser(object):
"""Line Command parser. Arguments are left alone for now."""
- implements(IStreamConsumer)
-
# See IStreamConsumer
completed = 0
inbuf = ''
Modified: zope.server/trunk/src/zope/server/linereceiver/linetask.py
===================================================================
--- zope.server/trunk/src/zope/server/linereceiver/linetask.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/linereceiver/linetask.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -16,14 +16,14 @@
import socket
import time
from zope.server.interfaces import ITask
-from zope.interface import implements
+from zope.interface import implementer
+ at implementer(ITask)
class LineTask(object):
"""This is a generic task that can be used with command line
protocols to handle commands in a separate thread.
"""
- implements(ITask)
def __init__(self, channel, command, m_name):
self.channel = channel
Modified: zope.server/trunk/src/zope/server/logger/filelogger.py
===================================================================
--- zope.server/trunk/src/zope/server/logger/filelogger.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/logger/filelogger.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -16,14 +16,13 @@
from types import StringType
from zope.server.interfaces.logger import IMessageLogger
-from zope.interface import implements
+from zope.interface import implementer
+ at implementer(IMessageLogger)
class FileLogger(object):
"""Simple File Logger
"""
- implements(IMessageLogger)
-
def __init__(self, file, flush=1, mode='a'):
"""pass this either a path or a file object."""
if type(file) is StringType:
Modified: zope.server/trunk/src/zope/server/logger/pythonlogger.py
===================================================================
--- zope.server/trunk/src/zope/server/logger/pythonlogger.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/logger/pythonlogger.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -16,13 +16,12 @@
import logging
from zope.server.interfaces.logger import IMessageLogger
-from zope.interface import implements
+from zope.interface import implementer
+ at implementer(IMessageLogger)
class PythonLogger(object):
"""Proxy for Python's logging module"""
- implements(IMessageLogger)
-
def __init__(self, name=None, level=logging.INFO):
self.name = name
self.level = level
Modified: zope.server/trunk/src/zope/server/logger/resolvinglogger.py
===================================================================
--- zope.server/trunk/src/zope/server/logger/resolvinglogger.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/logger/resolvinglogger.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -14,16 +14,15 @@
"""Resolving Logger
"""
from zope.server.interfaces.logger import IRequestLogger
-from zope.interface import implements
+from zope.interface import implementer
+ at implementer(IRequestLogger)
class ResolvingLogger(object):
"""Feed (ip, message) combinations into this logger to get a
resolved hostname in front of the message. The message will not
be logged until the PTR request finishes (or fails)."""
- implements(IRequestLogger)
-
def __init__(self, resolver, logger):
self.resolver = resolver
# logger is an IMessageLogger
Modified: zope.server/trunk/src/zope/server/logger/socketlogger.py
===================================================================
--- zope.server/trunk/src/zope/server/logger/socketlogger.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/logger/socketlogger.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -19,13 +19,12 @@
import socket
from zope.server.interfaces.logger import IMessageLogger
-from zope.interface import implements
+from zope.interface import implementer
+ at implementer(IMessageLogger)
class SocketLogger(asynchat.async_chat):
"""Log to a stream socket, asynchronously."""
- implements(IMessageLogger)
-
def __init__(self, address):
if type(address) == type(''):
self.create_socket(socket.AF_UNIX, socket.SOCK_STREAM)
Modified: zope.server/trunk/src/zope/server/logger/sysloglogger.py
===================================================================
--- zope.server/trunk/src/zope/server/logger/sysloglogger.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/logger/sysloglogger.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -20,9 +20,10 @@
from zope.server.logger import m_syslog
from zope.server.interfaces.logger import IMessageLogger
-from zope.interface import implements
+from zope.interface import implementer
+ at implementer(IMessageLogger)
class SyslogLogger(m_syslog.syslog_client):
"""syslog is a line-oriented log protocol - this class would be
appropriate for FTP or HTTP logs, but not for dumping stderr
@@ -35,8 +36,6 @@
blocking send()
"""
- implements(IMessageLogger)
-
svc_name = 'zope'
pid_str = str(os.getpid())
Modified: zope.server/trunk/src/zope/server/logger/taillogger.py
===================================================================
--- zope.server/trunk/src/zope/server/logger/taillogger.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/logger/taillogger.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -14,13 +14,12 @@
"""Tail Logger
"""
from zope.server.interfaces.logger import IMessageLogger
-from zope.interface import implements
+from zope.interface import implementer
+ at implementer(IMessageLogger)
class TailLogger(object):
"""Keep track of the last <size> log messages"""
- implements(IMessageLogger)
-
def __init__(self, logger, size=500):
self.size = size
self.logger = logger
Modified: zope.server/trunk/src/zope/server/logger/unresolvinglogger.py
===================================================================
--- zope.server/trunk/src/zope/server/logger/unresolvinglogger.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/logger/unresolvinglogger.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -14,13 +14,12 @@
"""Unresolving Logger
"""
from zope.server.interfaces.logger import IRequestLogger
-from zope.interface import implements
+from zope.interface import implementer
+ at implementer(IRequestLogger)
class UnresolvingLogger(object):
"""Just in case you don't want to resolve"""
- implements(IRequestLogger)
-
def __init__(self, logger):
self.logger = logger
Modified: zope.server/trunk/src/zope/server/serverbase.py
===================================================================
--- zope.server/trunk/src/zope/server/serverbase.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/serverbase.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -22,14 +22,13 @@
from zope.server.adjustments import default_adj
from zope.server.interfaces import IServer
-from zope.interface import implements
+from zope.interface import implementer
+ at implementer(IServer)
class ServerBase(asyncore.dispatcher, object):
"""Async. server base for launching derivatives of ServerChannelBase."""
- implements(IServer)
-
# See zope.server.interfaces.IServer
channel_class = None # Override with a channel class.
SERVER_IDENT = 'zope.server.serverbase' # Override.
Modified: zope.server/trunk/src/zope/server/serverchannelbase.py
===================================================================
--- zope.server/trunk/src/zope/server/serverchannelbase.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/serverchannelbase.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -21,7 +21,7 @@
import sys
import asyncore
from thread import allocate_lock
-from zope.interface import implements
+from zope.interface import implementer
from zope.server.dualmodechannel import DualModeChannel
from zope.server.interfaces import IServerChannel, ITask
@@ -30,10 +30,10 @@
task_lock = allocate_lock()
+ at implementer(IServerChannel, ITask)
class ServerChannelBase(DualModeChannel, object):
"""Base class for a high-performance, mixed-mode server-side channel."""
- implements(IServerChannel, ITask)
# See zope.server.interfaces.IServerChannel
parser_class = None # Subclasses must provide a parser class
Modified: zope.server/trunk/src/zope/server/taskthreads.py
===================================================================
--- zope.server/trunk/src/zope/server/taskthreads.py 2012-05-18 16:13:59 UTC (rev 126157)
+++ zope.server/trunk/src/zope/server/taskthreads.py 2012-05-18 16:19:15 UTC (rev 126158)
@@ -19,17 +19,16 @@
import logging
from zope.server.interfaces import ITaskDispatcher
-from zope.interface import implements
+from zope.interface import implementer
log = logging.getLogger(__name__)
+ at implementer(ITaskDispatcher)
class ThreadedTaskDispatcher(object):
"""A Task Dispatcher that creates a thread for each task."""
- implements(ITaskDispatcher)
-
stop_count = 0 # Number of threads that will stop soon.
def __init__(self):
More information about the checkins
mailing list