| import os, sys, json
DIR = os.path.dirname(os.path.abspath(__file__))
def import_module(name, path):
    import imp
    try:
        mod_fp, mod_path, mod_desc  = imp.find_module(name, [path])
        mod = getattr( imp.load_module(name, mod_fp, mod_path, mod_desc), name )
    except ImportError as exc:
        mod = None
        sys.stderr.write("Error: failed to import module ({})".format(exc))
    finally:
        if mod_fp: mod_fp.close()
    return mod
# import the SimpleCaptcha.py (as a) module, probably you will want to place this in another dir/package
SimpleCaptcha = import_module('SimpleCaptcha', os.path.join(DIR, '../../src/python/'))
if not SimpleCaptcha:
    print ('Could not load the SimpleCaptcha Module')
    sys.exit(1)
else:
    pass
tile = json.load(open(DIR+'/../tile.json'))
def tile_pattern(x, y):
    x = x % tile['width']
    y = y % tile['height']
    if 0 > x: x += tile['width']
    if 0 > y: y += tile['height']
    i = (x + y*tile['width']) << 2
    return [tile['image'][i  ], tile['image'][i+1], tile['image'][i+2]]
def test():
    # max_num_terms -1 means constant num_terms
    captcha = SimpleCaptcha().option('secret_key', 'SECRET_KEY').option('secret_salt', 'SECRET_SALT_').option('num_terms', 2).option('max_num_terms', 3).option('min_term', 1).option('max_term', 21).option('color', 0x121212).option('background', 0xffffff)
    captcha.reset()
    captcha.option('difficulty', 2) # difficulty 0 (easy) to 3 (difficult)
    captcha.option('distortion_type', 1) # 1: position distortion
    captcha.option('color', [0xff0000, 0xffff00, 0x0000ff, 0x00ff00]) # text color gradient
    captcha.option('background', tile_pattern) # background color/pattern
    print(captcha.getCaptcha())
    print("\n")
    print(captcha.getHash())
    print("\n")
    captcha.reset()
    captcha.option('difficulty', 2) # difficulty 0 (easy) to 3 (difficult)
    captcha.option('distortion_type', 2) # 2: scale distortion
    captcha.option('color', 0xffffff) # text color
    captcha.option('background', [0xff0000, 0xffff00, 0x00ff00, 0x0000ff]) # background color gradient
    print(captcha.getCaptcha())
    print("\n")
    print(captcha.getHash())
print('SimpleCaptcha.VERSION ' + SimpleCaptcha.VERSION)
test()
 |