27 |
# NOTES: |
# NOTES: |
28 |
# |
# |
29 |
|
|
30 |
__all__ = ['Color'] |
__all__ = ['Color','ColorError'] |
31 |
|
|
32 |
from types import * |
from types import * |
33 |
|
|
34 |
|
class ColorError (StandardError): |
35 |
|
pass |
36 |
|
|
37 |
|
|
38 |
############################################################ |
############################################################ |
73 |
self.__blue = 255 - min(255,((yellow/255) * (255 - black) + black)) |
self.__blue = 255 - min(255,((yellow/255) * (255 - black) + black)) |
74 |
|
|
75 |
else: |
else: |
76 |
raise "Unable to parse color: '%s'" % value |
raise ColorError, "Unable to parse color: '%s'" % value |
77 |
|
|
78 |
value = self.toHex() |
value = self.toHex() |
79 |
|
|
84 |
self.__green = 0 |
self.__green = 0 |
85 |
self.__blue = 0 |
self.__blue = 0 |
86 |
|
|
87 |
elif type(value) != StringType: |
elif type(value) not in (StringType,UnicodeType): |
88 |
raise "Unable to parse color: '%s'" % value |
raise ColorError, "Unable to parse color: '%s'" % value |
89 |
|
|
90 |
# Named colors |
# Named colors |
91 |
elif colorNames.has_key(value.replace(' ','').lower()): |
elif colorNames.has_key(value.replace(' ','').lower()): |
103 |
self.__red = self.__green = self.__blue = round(255.0*int(value[:-1])/100) |
self.__red = self.__green = self.__blue = round(255.0*int(value[:-1])/100) |
104 |
|
|
105 |
else: |
else: |
106 |
raise "Unable to parse color: '%s'" % value |
raise ColorError, "Unable to parse color: '%s'" % value |
107 |
|
|
108 |
self.__value = value |
self.__value = value |
109 |
|
|