PHP Classes

File: test/py/test3.py

Recommend this page to a friend!
  Packages of Nikos M.   Dromeo PHP Router Library   test/py/test3.py   Download  
File: test/py/test3.py
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Dromeo PHP Router Library
Route HTTP requests to functions with URL patterns
Author: By
Last change:
Date: 8 months ago
Size: 2,410 bytes
 

Contents

Class file image Download
#!/usr/bin/env python import os, sys import pprint 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 importlib.util, sys spec = importlib.util.spec_from_file_location(name, path+name+'.py') mod = importlib.util.module_from_spec(spec) sys.modules[name] = mod spec.loader.exec_module(mod) return getattr(mod, name) # import the Dromeo.py engine (as a) module, probably you will want to place this in another dir/package Dromeo = import_module('Dromeo', os.path.join(os.path.dirname(__file__), '../../src/py/')) if not Dromeo: print ('Could not load the Dromeo Module') sys.exit(1) else: print ('Dromeo Module loaded succesfully') def defaultHandler(route, *args): print('Default Handler') print(pprint.pformat(route, 4)) def get_from_(source): def getter(key, val, start, end, inp): return source[start:end] return getter router1 = Dromeo() router2 = Dromeo() router1.on([ { 'route':'/foo/{:user}/{:id}', 'name': 'route1', 'handler': defaultHandler } ]) router1.onGroup('/bar', lambda router: ( router.onGroup('/baz', lambda router: ( router.on({ 'route': '/{:user}/{:id}', 'name': 'route4', 'handler': defaultHandler }) )).on({ 'route': '/{:user}/{:id}', 'name': 'route3', 'handler': defaultHandler }) )) router2.on([ { 'route':'/foo{/%ALPHA%-%ALPHA%:user(2)}', 'name': 'route2', 'handler': defaultHandler } ]) print('Dromeo.VERSION = ', Dromeo.VERSION) print("\n") router1.route('/FOO/USER/ID'.lower(), '*', True, get_from_('/FOO/USER/ID')) router1.route('/FOO/Foo/ID'.lower(), '*', True, get_from_('/FOO/Foo/ID')) router1.route('/Bar/Foo/ID'.lower(), '*', True, get_from_('/Bar/Foo/ID')) router1.route('/Bar/bAz/Foo/ID'.lower(), '*', True, get_from_('/Bar/bAz/Foo/ID')) router2.route('/FOO/USER-User'.lower(), '*', True, get_from_('/FOO/USER-User')) router2.route('/FOO/Foo-fOO'.lower(), '*', True, get_from_('/FOO/Foo-fOO'))