From d75a7ebb46279f341b498bf517d07e9ae4c27f0a Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Wed, 13 Jan 2016 00:14:08 -0500 Subject: Refactor API contexts. Rather than sprinkle API version string tests all over the place, create an IAPI interface which encapsulates the differences between API 3.0 and 3.1, and arrange for this to be used to convert to and from UUIDs. --- src/mailman/interfaces/api.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/mailman/interfaces/api.py (limited to 'src/mailman/interfaces/api.py') diff --git a/src/mailman/interfaces/api.py b/src/mailman/interfaces/api.py new file mode 100644 index 000000000..f2b33ea09 --- /dev/null +++ b/src/mailman/interfaces/api.py @@ -0,0 +1,37 @@ +# Copyright (C) 2016 by the Free Software Foundation, Inc. +# +# This file is part of GNU Mailman. +# +# GNU Mailman 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 3 of the License, or (at your option) +# any later version. +# +# GNU Mailman 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 +# GNU Mailman. If not, see . + +"""REST web service API context.""" + +__all__ = [ + 'IAPI', + ] + + +from zope.interface import Attribute, Interface + + +class IAPI(Interface): + """The REST web service context.""" + + version = Attribute("""The REST API version.""") + + def from_uuid(uuid): + """Return the string representation of a UUID.""" + + def to_uuid(uuid_repr): + """Return the UUID from the string representation.""" -- cgit v1.2.3-70-g09d2