mirror of
https://github.com/arsenetar/dupeguru.git
synced 2024-11-15 11:59:01 +00:00
74dba7cb6c
--HG-- rename : pe/py/LICENSE => pe/core/LICENSE rename : pe/py/__init__.py => pe/core/__init__.py rename : pe/py/app_cocoa.py => pe/core/app_cocoa.py rename : pe/py/block.py => pe/core/block.py rename : pe/py/cache.py => pe/core/cache.py rename : pe/py/data.py => pe/core/data.py rename : pe/py/gen.py => pe/core/gen.py rename : pe/py/matchbase.py => pe/core/matchbase.py rename : pe/py/modules/block/block.pyx => pe/core/modules/block/block.pyx rename : pe/py/modules/block/setup.py => pe/core/modules/block/setup.py rename : pe/py/modules/cache/cache.pyx => pe/core/modules/cache/cache.pyx rename : pe/py/modules/cache/setup.py => pe/core/modules/cache/setup.py rename : pe/py/scanner.py => pe/core/scanner.py rename : pe/py/tests/__init__.py => pe/core/tests/__init__.py rename : pe/py/tests/block_test.py => pe/core/tests/block_test.py rename : pe/py/tests/cache_test.py => pe/core/tests/cache_test.py extra : convert_revision : svn%3Ac306627e-7827-47d3-bdf0-9a457c9553a1/trunk%40274
38 lines
1.2 KiB
Cython
38 lines
1.2 KiB
Cython
# Created By: Virgil Dupras
|
|
# Created On: 2009-04-23
|
|
# $Id$
|
|
# Copyright 2009 Hardcoded Software (http://www.hardcoded.net)
|
|
#
|
|
# This software is licensed under the "HS" License as described in the "LICENSE" file,
|
|
# which should be included with this package. The terms are also available at
|
|
# http://www.hardcoded.net/licenses/hs_license
|
|
|
|
# ok, this is hacky and stuff, but I don't know C well enough to play with char buffers, copy
|
|
# them around and stuff
|
|
cdef int xchar_to_int(char c):
|
|
if 48 <= c <= 57: # 0-9
|
|
return c - 48
|
|
elif 65 <= c <= 70: # A-F
|
|
return c - 55
|
|
elif 97 <= c <= 102: # a-f
|
|
return c - 87
|
|
|
|
def string_to_colors(s):
|
|
"""Transform the string 's' in a list of 3 sized tuples.
|
|
"""
|
|
result = []
|
|
cdef int i, char_count, r, g, b
|
|
cdef char* cs
|
|
char_count = len(s)
|
|
char_count = (char_count // 6) * 6
|
|
cs = s
|
|
for i in range(0, char_count, 6):
|
|
r = xchar_to_int(cs[i]) << 4
|
|
r += xchar_to_int(cs[i+1])
|
|
g = xchar_to_int(cs[i+2]) << 4
|
|
g += xchar_to_int(cs[i+3])
|
|
b = xchar_to_int(cs[i+4]) << 4
|
|
b += xchar_to_int(cs[i+5])
|
|
result.append((r, g, b))
|
|
return result
|