Hi there! I'm looking for a better algorithm...
In a print project I must know if some page needs every CMYK separation or just some; I keep this info in a boolean list like [True, True, False, True] for C,M,K (no Y plate). But our workflow database needs a string like "CM0K" (plate letter or zero). How can I convert this best? Here is my code: class ProcessColors: _cmykMap = ['C', 'M', 'Y', 'K'] def __init__(self, C=False, M=False, Y=False, K=True): self.werte = [C,M,Y,K] def bool2str(self, werte=None): """converts a list of booleans to a CMYK color string, e.g. [True, False, False, True] to 'C00K'""" if not werte: werte = self.werte for i in range(0,4): if werte[i]: werte[i] = self._cmykMap[i] else: werte[i] = '0' return string.join(werte, '') def str2bool(self, werte='000K'): """converts a CMYK color string to a list of booleans, e.g. 'CM0K' to [True, True, False, True]""" werte = list(werte) for i in range(0,4): if werte[i]==self._cmykMap[i]: werte[i] = True else: werte[i] = False return werte I hope the same is possible without 'if' and 'for', perhaps some lambda+boolean wizardry? Best regards, ----------------------- Henning Hraban Ramm Südkurier Medienhaus / MediaPro Abt. Systembetreuung _______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig