r175 - branches/rewrite/src

Otavio Salvador partial-mirror-devel@lists.alioth.debian.org
Thu, 22 Jul 2004 18:41:58 -0600


Author: otavio
Date: Thu Jul 22 18:41:58 2004
New Revision: 175

Modified:
   branches/rewrite/src/PackageList.py
Log:
Better information handle. This will make more easy to process the filters.

Modified: branches/rewrite/src/PackageList.py
==============================================================================
--- branches/rewrite/src/PackageList.py	(original)
+++ branches/rewrite/src/PackageList.py	Thu Jul 22 18:41:58 2004
@@ -43,16 +43,29 @@
     This class is use to store a list of packages and provide ways to
     filter the information against your information.
     """
-    _list = {}
+    _name = {}
+    _subsection = {}
+    _priority = {}
+    
 
     def add(self, package):
-        if self._list.has_key(package.Name):
+        if self._name.has_key(package.Name):
             raise PackageAlreadyIncluded(package.Name)
 
-        self._list[package.Name] = package
+        if self._subsection[package.Section] is None:
+            self._subsection[package.Section] = []
+        if self._priority[package.Priority] is None:
+            self._priority[package.Priority] = []
+
+        self._name[package.Name] = package
+        self._subsection[package.Section] = package
+        self._priority[package.Priority] = package
+        
 
     def remove(self, package):
-        if not self._list.has_key(package.Name):
+        if not self._name.has_key(package.Name):
             raise PackageDoesntExist(package.Name)
 
-        del self._list[package.Name]
+        del self._name[package.Name]
+        self._subsection[package.Section].remove(package)
+        self._priority[package.Priority].remove(package)