]> granicus.if.org Git - python/commitdiff
all_names(): Return just the unique names of rgb colors
authorBarry Warsaw <barry@python.org>
Fri, 2 Oct 1998 14:43:30 +0000 (14:43 +0000)
committerBarry Warsaw <barry@python.org>
Fri, 2 Oct 1998 14:43:30 +0000 (14:43 +0000)
Tools/pynche/ColorDB.py

index 5191d2b1d088f0de5f573484dc685647505707eb..435e0ad046d0ce565eaeabb3806c9e21af339a03 100644 (file)
@@ -40,6 +40,8 @@ class ColorDB:
        # key is name, value is (red, green, blue)
        self.__byname = {}
        #
+        # all unique names (non-aliases).  built-on demand
+        self.__allnames = None
        while 1:
            line = fp.readline()
            if not line:
@@ -101,6 +103,15 @@ class ColorDB:
                nearest = distance
                nearest_name = name
        return nearest_name
+
+    def all_names(self):
+        # sorted
+        if not self.__allnames:
+            self.__allnames = []
+            for name, aliases in self.__byrgb.values():
+                self.__allnames.append(name)
+            self.__allnames.sort()
+        return self.__allnames
        
 \f
 class RGBColorDB(ColorDB):