From 8ddb46b237fc5f649ca7953b195f22732be1e4e9 Mon Sep 17 00:00:00 2001
From: Jim Fulton <jim@zope.com>
Date: Tue, 11 Nov 2008 23:43:18 +0000
Subject: [PATCH] Removed the Zope-specific ZopeUndo package.

---
 src/ZopeUndo/Prefix.py           | 50 --------------------------------
 src/ZopeUndo/__init__.py         | 13 ---------
 src/ZopeUndo/tests/__init__.py   | 13 ---------
 src/ZopeUndo/tests/testPrefix.py | 46 -----------------------------
 4 files changed, 122 deletions(-)
 delete mode 100644 src/ZopeUndo/Prefix.py
 delete mode 100644 src/ZopeUndo/__init__.py
 delete mode 100644 src/ZopeUndo/tests/__init__.py
 delete mode 100644 src/ZopeUndo/tests/testPrefix.py

diff --git a/src/ZopeUndo/Prefix.py b/src/ZopeUndo/Prefix.py
deleted file mode 100644
index d1de6437..00000000
--- a/src/ZopeUndo/Prefix.py
+++ /dev/null
@@ -1,50 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE
-#
-##############################################################################
-"""ZODB undo support for Zope2.
-
-This package is used to support the Prefix object that Zope uses for
-undo.  It is a separate package only to aid configuration management.
-This package is included in Zope and ZODB3, so that ZODB3 is suitable
-for running a ZEO server that handles Zope undo.
-"""
-
-class Prefix:
-    """A Prefix() is equal to any path it is a prefix of.
-
-
-    This class can be compared to a string.
-    The comparison will return True if all path elements of the
-    Prefix are found at the beginning of the string being compared.
-
-    Two Prefixes can not be compared.
-    """
-
-    __no_side_effects__ = 1
-
-    def __init__(self, path):
-        path_list = path.split('/')
-        self.length = len(path_list)
-        self.path = path_list
-
-    def __cmp__(self, o):
-        other_path = o.split('/')
-        if other_path and ' ' in other_path[-1]:
-            # don't include logged username in comparison
-            pos = other_path[-1].rfind(' ')
-            other_path[-1] = other_path[-1][:pos]
-        return cmp(other_path[:self.length], self.path)
-
-    def __repr__(self):
-        # makes failing tests easier to read
-        return "Prefix('%s')" % '/'.join(self.path)
diff --git a/src/ZopeUndo/__init__.py b/src/ZopeUndo/__init__.py
deleted file mode 100644
index 43cf0e3b..00000000
--- a/src/ZopeUndo/__init__.py
+++ /dev/null
@@ -1,13 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE
-#
-##############################################################################
diff --git a/src/ZopeUndo/tests/__init__.py b/src/ZopeUndo/tests/__init__.py
deleted file mode 100644
index 43cf0e3b..00000000
--- a/src/ZopeUndo/tests/__init__.py
+++ /dev/null
@@ -1,13 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE
-#
-##############################################################################
diff --git a/src/ZopeUndo/tests/testPrefix.py b/src/ZopeUndo/tests/testPrefix.py
deleted file mode 100644
index a36d969d..00000000
--- a/src/ZopeUndo/tests/testPrefix.py
+++ /dev/null
@@ -1,46 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE
-#
-##############################################################################
-from ZopeUndo.Prefix import Prefix
-
-import unittest
-
-class PrefixTest(unittest.TestCase):
-
-    def test(self):
-        p1 = Prefix("/a/b")
-        for equal in ("/a/b", "/a/b/c", "/a/b/c/d"):
-            self.assertEqual(p1, equal)
-        for notEqual in ("", "/a/c", "/a/bbb", "///"):
-            self.assertNotEqual(p1, notEqual)
-
-        p2 = Prefix("")
-        for equal in ("", "/", "/def", "/a/b", "/a/b/c", "/a/b/c/d"):
-            self.assertEqual(p2, equal)
-
-    def test_username_info(self):
-        # Zope Collector 1810; user paths have username appended
-        p1 = Prefix('/a/b')
-        for equal in ('/a/b spam', '/a/b/c spam', '/a/b/c/b spam'):
-            self.assertEqual(p1, equal)
-        for notEqual in (" spam", "/a/c spam", "/a/bbb spam", "/// spam"):
-            self.assertNotEqual(p1, notEqual)
-
-        p2 = Prefix("")
-        for equal in (" eggs", "/ eggs", "/def eggs", "/a/b eggs", 
-                      "/a/b/c eggs", "/a/b/c/d eggs"):
-            self.assertEqual(p2, equal)
-
-
-def test_suite():
-    return unittest.makeSuite(PrefixTest)
-- 
2.30.9