Package pyamf :: Package adapters
[hide private]
[frames] | no frames]

Source Code for Package pyamf.adapters

 1  # Copyright (c) 2007-2008 The PyAMF Project. 
 2  # See LICENSE for details. 
 3   
 4  """ 
 5  The adapter package provides additional functionality for other Python 
 6  packages. This includes registering classes, setting up type maps etc. 
 7   
 8  @author: U{Nick Joyce<mailto:nick@boxdesign.co.uk>} 
 9   
10  @since: 0.1.0 
11  """ 
12   
13  import os.path, glob 
14   
15  from pyamf.util import imports 
16   
17 -class PackageImporter(object):
18 """ 19 Package importer used for lazy module loading. 20 """
21 - def __init__(self, name):
22 self.name = name
23
24 - def __call__(self, mod):
25 __import__('%s.%s' % ('pyamf.adapters', self.name))
26 27 adapters_registered = False 28
29 -def register_adapters():
30 global adapters_registered 31 32 if adapters_registered is True: 33 return 34 35 try: 36 import pkg_resources 37 packageDir = pkg_resources.resource_filename('pyamf', 'adapters') 38 except: 39 packageDir = os.path.dirname(__file__) 40 41 for f in glob.glob(os.path.join(packageDir, '*.py')): 42 mod = os.path.basename(f).split(os.path.extsep, 1)[0] 43 44 if mod == '__init__' or not mod.startswith('_'): 45 continue 46 47 try: 48 module = imports.whenImported(mod[1:].replace('_', '.'), PackageImporter(mod)) 49 except ImportError: 50 pass 51 52 adapters_registered = True
53