home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_2143 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  7.0 KB  |  216 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import Image
  5. import re
  6. import string
  7.  
  8. try:
  9.     x = int('a', 16)
  10. except TypeError:
  11.     str2int = string.atoi
  12.  
  13. str2int = int
  14.  
  15. def getrgb(color):
  16.     
  17.     try:
  18.         rgb = colormap[color]
  19.     except KeyError:
  20.         
  21.         try:
  22.             rgb = colormap[string.lower(color)]
  23.         except KeyError:
  24.             rgb = None
  25.         except:
  26.             None<EXCEPTION MATCH>KeyError
  27.         
  28.  
  29.         None<EXCEPTION MATCH>KeyError
  30.  
  31.     if rgb:
  32.         if isinstance(rgb, type(())):
  33.             return rgb
  34.         return rgb
  35.     m = re.match('#\\w\\w\\w$', color)
  36.     if m:
  37.         return (str2int(color[1] * 2, 16), str2int(color[2] * 2, 16), str2int(color[3] * 2, 16))
  38.     m = re.match('#\\w\\w\\w\\w\\w\\w$', color)
  39.     if m:
  40.         return (str2int(color[1:3], 16), str2int(color[3:5], 16), str2int(color[5:7], 16))
  41.     m = re.match('rgb\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)$', color)
  42.     if m:
  43.         return (str2int(m.group(1)), str2int(m.group(2)), str2int(m.group(3)))
  44.     m = re.match('rgb\\(\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*\\)$', color)
  45.     if m:
  46.         return (int(str2int(m.group(1)) * 255 / 100 + 0.5), int(str2int(m.group(2)) * 255 / 100 + 0.5), int(str2int(m.group(3)) * 255 / 100 + 0.5))
  47.     m = re.match('hsl\\(\\s*(\\d+)\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*\\)$', color)
  48.     if m:
  49.         hls_to_rgb = hls_to_rgb
  50.         import colorsys
  51.         rgb = hls_to_rgb(float(m.group(1)) / 360, float(m.group(3)) / 100, float(m.group(2)) / 100)
  52.         return (int(rgb[0] * 255 + 0.5), int(rgb[1] * 255 + 0.5), int(rgb[2] * 255 + 0.5))
  53.     raise ValueError('unknown color specifier: %r' % color)
  54.  
  55.  
  56. def getcolor(color, mode):
  57.     color = getrgb(color)
  58.     if mode == 'RGB':
  59.         return color
  60.     if mode == 'RGBA':
  61.         (r, g, b) = color
  62.         return (r, g, b, 255)
  63.     if Image.getmodebase(mode) == 'L':
  64.         (r, g, b) = color
  65.         return r * 299 / 1000 + g * 587 / 1000 + b * 114 / 1000
  66.     return color
  67.  
  68. colormap = {
  69.     'aliceblue': '#f0f8ff',
  70.     'antiquewhite': '#faebd7',
  71.     'aqua': '#00ffff',
  72.     'aquamarine': '#7fffd4',
  73.     'azure': '#f0ffff',
  74.     'beige': '#f5f5dc',
  75.     'bisque': '#ffe4c4',
  76.     'black': '#000000',
  77.     'blanchedalmond': '#ffebcd',
  78.     'blue': '#0000ff',
  79.     'blueviolet': '#8a2be2',
  80.     'brown': '#a52a2a',
  81.     'burlywood': '#deb887',
  82.     'cadetblue': '#5f9ea0',
  83.     'chartreuse': '#7fff00',
  84.     'chocolate': '#d2691e',
  85.     'coral': '#ff7f50',
  86.     'cornflowerblue': '#6495ed',
  87.     'cornsilk': '#fff8dc',
  88.     'crimson': '#dc143c',
  89.     'cyan': '#00ffff',
  90.     'darkblue': '#00008b',
  91.     'darkcyan': '#008b8b',
  92.     'darkgoldenrod': '#b8860b',
  93.     'darkgray': '#a9a9a9',
  94.     'darkgrey': '#a9a9a9',
  95.     'darkgreen': '#006400',
  96.     'darkkhaki': '#bdb76b',
  97.     'darkmagenta': '#8b008b',
  98.     'darkolivegreen': '#556b2f',
  99.     'darkorange': '#ff8c00',
  100.     'darkorchid': '#9932cc',
  101.     'darkred': '#8b0000',
  102.     'darksalmon': '#e9967a',
  103.     'darkseagreen': '#8fbc8f',
  104.     'darkslateblue': '#483d8b',
  105.     'darkslategray': '#2f4f4f',
  106.     'darkslategrey': '#2f4f4f',
  107.     'darkturquoise': '#00ced1',
  108.     'darkviolet': '#9400d3',
  109.     'deeppink': '#ff1493',
  110.     'deepskyblue': '#00bfff',
  111.     'dimgray': '#696969',
  112.     'dimgrey': '#696969',
  113.     'dodgerblue': '#1e90ff',
  114.     'firebrick': '#b22222',
  115.     'floralwhite': '#fffaf0',
  116.     'forestgreen': '#228b22',
  117.     'fuchsia': '#ff00ff',
  118.     'gainsboro': '#dcdcdc',
  119.     'ghostwhite': '#f8f8ff',
  120.     'gold': '#ffd700',
  121.     'goldenrod': '#daa520',
  122.     'gray': '#808080',
  123.     'grey': '#808080',
  124.     'green': '#008000',
  125.     'greenyellow': '#adff2f',
  126.     'honeydew': '#f0fff0',
  127.     'hotpink': '#ff69b4',
  128.     'indianred': '#cd5c5c',
  129.     'indigo': '#4b0082',
  130.     'ivory': '#fffff0',
  131.     'khaki': '#f0e68c',
  132.     'lavender': '#e6e6fa',
  133.     'lavenderblush': '#fff0f5',
  134.     'lawngreen': '#7cfc00',
  135.     'lemonchiffon': '#fffacd',
  136.     'lightblue': '#add8e6',
  137.     'lightcoral': '#f08080',
  138.     'lightcyan': '#e0ffff',
  139.     'lightgoldenrodyellow': '#fafad2',
  140.     'lightgreen': '#90ee90',
  141.     'lightgray': '#d3d3d3',
  142.     'lightgrey': '#d3d3d3',
  143.     'lightpink': '#ffb6c1',
  144.     'lightsalmon': '#ffa07a',
  145.     'lightseagreen': '#20b2aa',
  146.     'lightskyblue': '#87cefa',
  147.     'lightslategray': '#778899',
  148.     'lightslategrey': '#778899',
  149.     'lightsteelblue': '#b0c4de',
  150.     'lightyellow': '#ffffe0',
  151.     'lime': '#00ff00',
  152.     'limegreen': '#32cd32',
  153.     'linen': '#faf0e6',
  154.     'magenta': '#ff00ff',
  155.     'maroon': '#800000',
  156.     'mediumaquamarine': '#66cdaa',
  157.     'mediumblue': '#0000cd',
  158.     'mediumorchid': '#ba55d3',
  159.     'mediumpurple': '#9370db',
  160.     'mediumseagreen': '#3cb371',
  161.     'mediumslateblue': '#7b68ee',
  162.     'mediumspringgreen': '#00fa9a',
  163.     'mediumturquoise': '#48d1cc',
  164.     'mediumvioletred': '#c71585',
  165.     'midnightblue': '#191970',
  166.     'mintcream': '#f5fffa',
  167.     'mistyrose': '#ffe4e1',
  168.     'moccasin': '#ffe4b5',
  169.     'navajowhite': '#ffdead',
  170.     'navy': '#000080',
  171.     'oldlace': '#fdf5e6',
  172.     'olive': '#808000',
  173.     'olivedrab': '#6b8e23',
  174.     'orange': '#ffa500',
  175.     'orangered': '#ff4500',
  176.     'orchid': '#da70d6',
  177.     'palegoldenrod': '#eee8aa',
  178.     'palegreen': '#98fb98',
  179.     'paleturquoise': '#afeeee',
  180.     'palevioletred': '#db7093',
  181.     'papayawhip': '#ffefd5',
  182.     'peachpuff': '#ffdab9',
  183.     'peru': '#cd853f',
  184.     'pink': '#ffc0cb',
  185.     'plum': '#dda0dd',
  186.     'powderblue': '#b0e0e6',
  187.     'purple': '#800080',
  188.     'red': '#ff0000',
  189.     'rosybrown': '#bc8f8f',
  190.     'royalblue': '#4169e1',
  191.     'saddlebrown': '#8b4513',
  192.     'salmon': '#fa8072',
  193.     'sandybrown': '#f4a460',
  194.     'seagreen': '#2e8b57',
  195.     'seashell': '#fff5ee',
  196.     'sienna': '#a0522d',
  197.     'silver': '#c0c0c0',
  198.     'skyblue': '#87ceeb',
  199.     'slateblue': '#6a5acd',
  200.     'slategray': '#708090',
  201.     'slategrey': '#708090',
  202.     'snow': '#fffafa',
  203.     'springgreen': '#00ff7f',
  204.     'steelblue': '#4682b4',
  205.     'tan': '#d2b48c',
  206.     'teal': '#008080',
  207.     'thistle': '#d8bfd8',
  208.     'tomato': '#ff6347',
  209.     'turquoise': '#40e0d0',
  210.     'violet': '#ee82ee',
  211.     'wheat': '#f5deb3',
  212.     'white': '#ffffff',
  213.     'whitesmoke': '#f5f5f5',
  214.     'yellow': '#ffff00',
  215.     'yellowgreen': '#9acd32' }
  216.