[Synopsis-changes] Synopsis/Synopsis/bin synopsis,1.3,1.4
Stefan Seefeld stefan at synopsis.fresco.orgTue Dec 9 21:27:21 UTC 2003
- Previous message: [Synopsis-changes] Synopsis/Synopsis README,1.16,1.17
- Next message: [Synopsis-changes] Synopsis/Synopsis setup.py,1.17,1.18
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Update of /cvs/synopsis/Synopsis/bin
In directory frida:/tmp/cvs-serv28419/bin
Modified Files:
synopsis
Log Message:
use the new import_processor
Index: synopsis
===================================================================
RCS file: /cvs/synopsis/Synopsis/bin/synopsis,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -d -r1.3 -r1.4
--- synopsis 5 Dec 2003 19:43:53 -0000 1.3
+++ synopsis 9 Dec 2003 21:27:19 -0000 1.4
@@ -13,33 +13,22 @@ from Synopsis.Processor import Processor
import sys, os, os.path, string, getopt
-def _import(package, module, processor, verbose=False):
- """import a processor as <package>.<module>.<processor>,
- i.e. as the equivalent to 'from <package>.<module> import <processor>"""
+def __import__(name, verbose):
+ """Import a named processor. Instead of returning the module, this
+ reimplementation returns the processor itself. Exits on error."""
+ from Synopsis.import_processor import import_processor
try:
- mod = __import__(string.join([package, module], '.'))
+ return import_processor(name)
except ImportError, msg:
- if 'verbose' in kwds:
- print 'Unable to import %s'%string.join([package, module], '.')
+ if verbose:
+ print 'Unable to import %s'%name
print 'Reason :', msg
else:
- print 'Error : no processor \'%s\'', name[-1]
+ print 'Error : no processor \'%s\'', name.split('.')[-1]
sys.exit(-1)
- name = string.join([package, module], '.')
- if processor: name = string.join([name, processor], '.')
- components = string.split(name, '.')
- for c in components[1:]:
- try:
- mod = getattr(mod, c)
- except AttributeError, msg:
- print "Error: Unable to find %s in:\n%s"%(c, repr(mod))
- sys.exit(-1)
-
- return mod
-
def usage():
"""Print a little usage text"""
@@ -93,21 +82,19 @@ def get_opt(argv):
options['output'] = a
elif o == '-p' or o == '--parser':
- parser = _import('Synopsis.Parsers', a, 'Parser',
- 'verbose' in options)
+ parser = __import__('Synopsis.Parsers.%s.Parser'%a,
+ 'verbose' in options)
elif o == '-l' or o == '--linker':
- linker = _import('Synopsis.Processors', 'Linker',
- 'verbose' in options)
- print 'a', a
- if a:
- linker_opts['processors'] = map(lambda x: _import('Synopsis.Processors', x, x,
+ linker = __import__('Synopsis.Processors.Linker',
+ 'verbose' in options)
+ linker_opts['processors'] = map(lambda x: __import__('Synopsis.Processors.%s.%s'%(x, x),
'verbose' in options)(),
- string.split(a, ','))
+ string.split(a, ','))
elif o == '-f' or o == '--formatter':
- formatter = _import('Synopsis.Formatters', a, 'Formatter',
- 'verbose' in options)
+ formatter = __import__('Synopsis.Formatters.%s.Formatter'%a,
+ 'verbose' in options)
elif o == '-I':
if not parser_opts.get('cppflags'): parser_opts['cppflags'] = []
- Previous message: [Synopsis-changes] Synopsis/Synopsis README,1.16,1.17
- Next message: [Synopsis-changes] Synopsis/Synopsis setup.py,1.17,1.18
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Synopsis-changes mailing list