1
2
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
18 """
19 Package importer used for lazy module loading.
20 """
23
25 __import__('%s.%s' % ('pyamf.adapters', self.name))
26
27 adapters_registered = False
28
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