pygccxml-commit Mailing List for C++ Python language bindings (Page 85)
Brought to you by:
mbaas,
roman_yakovenko
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
(190) |
Apr
(166) |
May
(170) |
Jun
(75) |
Jul
(105) |
Aug
(131) |
Sep
(99) |
Oct
(84) |
Nov
(67) |
Dec
(54) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(66) |
Feb
(49) |
Mar
(25) |
Apr
(62) |
May
(21) |
Jun
(34) |
Jul
(9) |
Aug
(21) |
Sep
(5) |
Oct
|
Nov
(63) |
Dec
(34) |
2008 |
Jan
(10) |
Feb
(42) |
Mar
(26) |
Apr
(25) |
May
(6) |
Jun
(40) |
Jul
(18) |
Aug
(29) |
Sep
(6) |
Oct
(32) |
Nov
(14) |
Dec
(56) |
2009 |
Jan
(127) |
Feb
(52) |
Mar
(2) |
Apr
(10) |
May
(29) |
Jun
(3) |
Jul
|
Aug
(16) |
Sep
(4) |
Oct
(11) |
Nov
(8) |
Dec
(14) |
2010 |
Jan
(31) |
Feb
(1) |
Mar
(7) |
Apr
(9) |
May
(1) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
(8) |
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Matthias B. <mb...@us...> - 2006-03-09 11:01:37
|
Update of /cvsroot/pygccxml/source/pyplusplus/experimental In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18746/experimental Added Files: .cvsignore Log Message: Added .cvsignore files so that *.pyc files are ignored by cvs --- NEW FILE: .cvsignore --- *.pyc |
From: Matthias B. <mb...@us...> - 2006-03-09 11:01:37
|
Update of /cvsroot/pygccxml/source/pyplusplus In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18746 Added Files: .cvsignore Log Message: Added .cvsignore files so that *.pyc files are ignored by cvs --- NEW FILE: .cvsignore --- *.pyc |
From: Matthias B. <mb...@us...> - 2006-03-09 11:01:37
|
Update of /cvsroot/pygccxml/source/pyplusplus/file_writers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18746/file_writers Added Files: .cvsignore Log Message: Added .cvsignore files so that *.pyc files are ignored by cvs --- NEW FILE: .cvsignore --- *.pyc |
From: Matthias B. <mb...@us...> - 2006-03-09 11:01:37
|
Update of /cvsroot/pygccxml/source/pyplusplus/code_creators In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18746/code_creators Added Files: .cvsignore Log Message: Added .cvsignore files so that *.pyc files are ignored by cvs --- NEW FILE: .cvsignore --- *.pyc |
From: Matthias B. <mb...@us...> - 2006-03-09 11:01:36
|
Update of /cvsroot/pygccxml/source/pyplusplus/gui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18746/gui Added Files: .cvsignore Log Message: Added .cvsignore files so that *.pyc files are ignored by cvs --- NEW FILE: .cvsignore --- *.pyc |
From: Matthias B. <mb...@us...> - 2006-03-09 11:01:34
|
Update of /cvsroot/pygccxml/source/pyplusplus/module_creator In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18746/module_creator Added Files: .cvsignore Log Message: Added .cvsignore files so that *.pyc files are ignored by cvs --- NEW FILE: .cvsignore --- *.pyc |
From: Matthias B. <mb...@us...> - 2006-03-09 11:01:34
|
Update of /cvsroot/pygccxml/source/pyplusplus/utils In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18746/utils Added Files: .cvsignore Log Message: Added .cvsignore files so that *.pyc files are ignored by cvs --- NEW FILE: .cvsignore --- *.pyc |
From: Matthias B. <mb...@us...> - 2006-03-09 11:01:33
|
Update of /cvsroot/pygccxml/source/pyplusplus/code_repository In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18746/code_repository Added Files: .cvsignore Log Message: Added .cvsignore files so that *.pyc files are ignored by cvs --- NEW FILE: .cvsignore --- *.pyc |
From: Matthias B. <mb...@us...> - 2006-03-09 10:59:44
|
Update of /cvsroot/pygccxml/source/pyplusplus In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17585 Modified Files: __init__.py Log Message: Added a top-level module doc string that contains the text for the entry page of the pyplusplus docs. The text contains a little introduction into (low level) pyplusplus usage and pointers to relevant classes/modules. Index: __init__.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/__init__.py,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** __init__.py 28 Feb 2006 07:31:32 -0000 1.24 --- __init__.py 9 Mar 2006 10:59:41 -0000 1.25 *************** *** 4,7 **** --- 4,46 ---- # http://www.boost.org/LICENSE_1_0.txt) + """pyplusplus - Boost.Python code generator + ======================================== + + This package (together with the accompanying pygccxml package and + U{Boost.Python<http://www.boost.org/libs/python/doc/index.html>}) + assists you in creating Python bindings for a C/C++ library. This is + done by parsing a set of header files that contain all the + stuff you want to expose in Python. The result of this parsing + step is a I{declaration tree} that represents all declarations found + in the headers. You can then modify (decorate) this tree to customize + the bindings. After that, a I{code creators} tree is created where + each node represents a block of C++ source code. As a last step, these + source code blocks are finally written into one or more C++ source + files which can then be compiled to generate the final Python module. + + In general, the following steps have to be done: + + 1. B{Parsing the header files}: This is done by the pygccxml package. + You either use the pygccxml.parser.parse() function or the + pygccxml.parser.project_reader_t class. + Note: Currently, you B{must} pass a L{dwfactory_t<decl_wrappers.dwfactory_t>} + object to the parser so that the resulting declaration tree is composed + of the decl_wrapper nodes in the L{decl_wrappers} sub-package instead + of the declaration nodes from pygccxml. + + 2. B{Creating the code creators tree}: This is done by the + L{creator_t<module_creator.creator_t>} class in the L{module_creator} + sub-package. The code creators tree is composed of the nodes defined + in the L{code_creators} sub-package. + + 3. B{Writing the source files}: This is done by the functions in the + L{file_writers} sub-package. + + There is a high-level API which is currently work in progress and + which can be found in the L{pypp_api<experimental.pypp_api>} module. + + + """ + import code_creators import file_writers *************** *** 13,17 **** import module_builder - __version__ = '0.7.0' --- 52,55 ---- |
From: Matthias B. <mb...@us...> - 2006-03-09 10:58:27
|
Update of /cvsroot/pygccxml/source/pyplusplus/file_writers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16889/file_writers Modified Files: writer.py Log Message: Removed the 'module' argument in the abstract write() method. The derived classes don't use that argument anyway and epydoc complains about this. - Changed a doc string to remove another warning. Index: writer.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/file_writers/writer.py,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** writer.py 8 Mar 2006 09:30:33 -0000 1.12 --- writer.py 9 Mar 2006 10:58:23 -0000 1.13 *************** *** 12,16 **** """Base class for all module/code writers. ! All writers should have similar usage: w = writer_class(module, file, ...) w.write() --- 12,17 ---- """Base class for all module/code writers. ! All writers should have similar usage:: ! w = writer_class(module, file, ...) w.write() *************** *** 24,28 **** extmodule = property( _get_extmodule ) ! def write(self, module): """ Main write method. Should be overridden by derived classes. """ raise NotImplementedError() --- 25,29 ---- extmodule = property( _get_extmodule ) ! def write(self): """ Main write method. Should be overridden by derived classes. """ raise NotImplementedError() |
From: Matthias B. <mb...@us...> - 2006-03-09 10:55:54
|
Update of /cvsroot/pygccxml/source/pyplusplus/experimental In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15126 Modified Files: pypp_api.py Log Message: 1) Changed the 'declHeaders' argument in module_creator.create() into 'decl_headers' as it is defined in pyplusplus. 2) Switched to epytext as markup and modified the doc strings accordingly. 3) Modified some doc strings to remove epydoc warnings/errors. Index: pypp_api.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/experimental/pypp_api.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** pypp_api.py 9 Mar 2006 01:49:56 -0000 1.4 --- pypp_api.py 9 Mar 2006 10:55:50 -0000 1.5 *************** *** 4,8 **** # http://www.boost.org/LICENSE_1_0.txt) - __docformat__ = "restructuredtext en" __doc__ = """ pypp api --- 4,7 ---- *************** *** 22,30 **** Add detailed usage here. ! :todo: Add quickstart and detailed documentation for API. ! :author: Allen Bierbaum ! :author: Matthias Baas ! :license: Boost Software License, Version 1.0 (see http://www.boost.org/LICENSE_1_0.txt) ! :copyright: 2006 Allen Bierbaum, Matthias Baas """ --- 21,29 ---- Add detailed usage here. ! @todo: Add quickstart and detailed documentation for API. ! @author: Allen Bierbaum ! @author: Matthias Baas ! @license: Boost Software License, Version 1.0 (see http://www.boost.org/LICENSE_1_0.txt) ! @copyright: 2006 Allen Bierbaum, Matthias Baas """ *************** *** 64,68 **** By default all declarations are ignored. ! :todo: Fix the parsing to work with recent changes """ --- 63,67 ---- By default all declarations are ignored. ! @todo: Fix the parsing to work with recent changes """ *************** *** 73,83 **** """Initialize module. ! :Parameters: ! - 'workingDir': directory to start processing. (default: current working dir) ! - 'includePaths': List of paths to tell gccxml to search for header files. ! - 'gccxmlPath': path to gccxml. If not set then attempt to find it in system path. ! - '(un)defines': set of symbols to add as (un)defined when compiling. ! - 'cacheFile': name of file to use for caching parse data for this module. ! - 'verbose': if true output status and command information as building the module. """ if not isinstance(headerFiles, list): --- 72,82 ---- """Initialize module. ! @param workingDir: directory to start processing. (default: current working dir) ! @param includePaths: List of paths to tell gccxml to search for header files. ! @param gccxmlPath: path to gccxml. If not set then attempt to find it in system path. ! @param defines: set of symbols to add as defined when compiling. ! @param undefines: set of symbols to add as undefined when compiling. ! @param cacheFile: name of file to use for caching parse data for this module. ! @param verbose: if true output status and command information as building the module. """ if not isinstance(headerFiles, list): *************** *** 112,116 **** have been made. ! :postcondition: This class can act as a wrapper for namespace("::") and all declarations are set to be ignored. """ if self.mVerbose: --- 111,115 ---- have been made. ! @postcondition: This class can act as a wrapper for namespace("::") and all declarations are set to be ignored. """ if self.mVerbose: *************** *** 202,206 **** # - override the header files in create since we already know what files we used. maker = module_creator.creator_t(self.mFinalDecls, module_name=moduleName) ! extmodule = maker.create(declHeaders=self.mHeaderFiles) # Handle the extra creators that need added --- 201,205 ---- # - override the header files in create since we already know what files we used. maker = module_creator.creator_t(self.mFinalDecls, module_name=moduleName) ! extmodule = maker.create(decl_headers=self.mHeaderFiles) # Handle the extra creators that need added *************** *** 236,244 **** """ Create the module and write it out. Automatically calls createCreators() and filterExposed() if needed. ! :arg moduleName: The name of the module being created. ! :arg filename: The file or directory to create the code. ! :arg useScope: If true the creators all use scope in their code. ! :arg multiFile: If true use the multifile writer. ! :arg multiCreateMain: If true and using multifile then create main reg method. """ if not self.mExtModule: --- 235,244 ---- """ Create the module and write it out. Automatically calls createCreators() and filterExposed() if needed. ! ! @param moduleName: The name of the module being created. ! @param filename: The file or directory to create the code. ! @param useScope: If true the creators all use scope in their code. ! @param multiFile: If true use the multifile writer. ! @param multiCreateMain: If true and using multifile then create main reg method. """ if not self.mExtModule: *************** *** 267,274 **** """Add a template to instantiate. ! :param templateType: Fully instantiated name. (ex: TemplateClass<float> ) ! :param typedefName: Name of type def to define to this template type. ! This name can then be used later to look up the real fully ! expanded template type from the typedef map. (see self.mTypeDefMap) """ if not typedefName: --- 267,274 ---- """Add a template to instantiate. ! @param templateType: Fully instantiated name. (ex: TemplateClass<float> ) ! @param typedefName: Name of type def to define to this template type. ! This name can then be used later to look up the real fully ! expanded template type from the typedef map. (see self.mTypeDefMap) """ if not typedefName: *************** *** 351,355 **** on an existing wrapper or on a module. ! :todo: Rewrite methods to use new wrappers. """ def __init__(self, decl): --- 351,355 ---- on an existing wrapper or on a module. ! @todo: Rewrite methods to use new wrappers. """ def __init__(self, decl): *************** *** 444,448 **** def setCallPolicy(self, callPolicy): """ Set the callpolicy of the contained method. ! :arg callPolicy: Callpolicy object to use (must be of type decl_wrappers.call_policy_t) """ assert isinstance(callPolicy, decl_wrappers.call_policy_t) --- 444,449 ---- def setCallPolicy(self, callPolicy): """ Set the callpolicy of the contained method. ! ! @param callPolicy: Callpolicy object to use (must be of type decl_wrappers.call_policy_t) """ assert isinstance(callPolicy, decl_wrappers.call_policy_t) *************** *** 523,530 **** """Search contained declarations for ones of specific type and or name. ! :param name: regex to use for matching. (can just be full name) ! :param declType: a single type or a list of decl types to look for. ! :return: None if not found. Returns 1 or a list if found. ! :note: To make name lookup more predictable matching we automatically add a '$' to the end of the regex to match the end of the name. This helps to prevent names with similar prefix's from matching. --- 524,531 ---- """Search contained declarations for ones of specific type and or name. ! @param name: regex to use for matching. (can just be full name) ! @param declType: a single type or a list of decl types to look for. ! @return: None if not found. Returns 1 or a list if found. ! @note: To make name lookup more predictable matching we automatically add a '$' to the end of the regex to match the end of the name. This helps to prevent names with similar prefix's from matching. *************** *** 545,550 **** def findContained(self, name=None, declType=None): """ Return a new DeclWrapper or MultiDeclWrapper for matching decls. ! :arg name: If set this regex is used. ! :arg declType: If set restrict search to decls based on the given type. """ found = self.findContainedDecls(name, declType) --- 546,552 ---- def findContained(self, name=None, declType=None): """ Return a new DeclWrapper or MultiDeclWrapper for matching decls. ! ! @param name: If set this regex is used. ! @param declType: If set restrict search to decls based on the given type. """ found = self.findContainedDecls(name, declType) |
From: Allen B. <al...@us...> - 2006-03-09 01:49:58
|
Update of /cvsroot/pygccxml/source/pyplusplus/experimental In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16424 Modified Files: pypp_api.py Log Message: Migrate more of the implementation of the high-level API over to the latest low-level API. There are still several things missing: - creator __init__ does not yet allow headers to be passed in - no support for custom creators on decl wrappers - no support for finalize on decl wrappers - expose in new decl_wrappers always recurses Still much work to do but this is closer. Index: pypp_api.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/experimental/pypp_api.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** pypp_api.py 8 Mar 2006 09:34:54 -0000 1.3 --- pypp_api.py 9 Mar 2006 01:49:56 -0000 1.4 *************** *** 179,183 **** def buildCreators(self, moduleName, filename, useScope=False): """ Build creator tree and module from the current declarations. ! See createModule for parameter documentation. In normal usage the user will not call this directly. Return the base of the creator tree. --- 179,183 ---- def buildCreators(self, moduleName, filename, useScope=False): """ Build creator tree and module from the current declarations. ! See writeModule for parameter documentation. In normal usage the user will not call this directly. Return the base of the creator tree. *************** *** 201,205 **** # Create creator.module_t for the module # - override the header files in create since we already know what files we used. ! maker = module_creator.creator_t(self.mFinalDecls, module_name=moduleName, recursive=False) extmodule = maker.create(declHeaders=self.mHeaderFiles) --- 201,205 ---- # Create creator.module_t for the module # - override the header files in create since we already know what files we used. ! maker = module_creator.creator_t(self.mFinalDecls, module_name=moduleName) extmodule = maker.create(declHeaders=self.mHeaderFiles) *************** *** 243,247 **** """ if not self.mExtModule: ! self.createCreators(moduleName, filename, useScope) extmodule = self.mExtModule assert extmodule --- 243,247 ---- """ if not self.mExtModule: ! self.buildCreators(moduleName, filename, useScope) extmodule = self.mExtModule assert extmodule *************** *** 356,362 **** """ Construct declaration wrapper for decl. """ self.mDecl = decl # The declaration we are wrapping ! if not hasattr(self.mDecl, "declDecorator"): ! self.mDecl.declDecorator = code_creators.decl_decorator_t() ! def Namespace(self, name, expose=False): """ Return wrapper for namespace. --- 356,360 ---- """ Construct declaration wrapper for decl. """ self.mDecl = decl # The declaration we are wrapping ! def Namespace(self, name, expose=False): """ Return wrapper for namespace. *************** *** 421,425 **** """ for d in iterdecls(self.mDecl, True): ! d._expose_flag = False return self --- 419,423 ---- """ for d in iterdecls(self.mDecl, True): ! d.exclude() return self *************** *** 429,433 **** """ for d in iterdecls(self.mDecl, recursive): ! d._expose_flag = True return self --- 427,431 ---- """ for d in iterdecls(self.mDecl, recursive): ! d.include() return self *************** *** 441,458 **** Ex: setHeldType("boost::shared_ptr<Class>") """ ! self.mDecl.declDecorator.heldType = heldType return self def setCallPolicy(self, callPolicy): """ Set the callpolicy of the contained method. ! :arg callPolicy: Callpolicy object to use (must be of type code_creators.call_policy_t) """ ! assert isinstance(callPolicy, code_creators.call_policy_t) ! self.mDecl.declDecorator.callPolicy = callPolicy return self def finalize(self): """ Ask this system to attempt to finalize this declaration. """ ! self.mDecl.declDecorator.finalize = True return self --- 439,457 ---- Ex: setHeldType("boost::shared_ptr<Class>") """ ! self.mDecl.held_type = heldType return self def setCallPolicy(self, callPolicy): """ Set the callpolicy of the contained method. ! :arg callPolicy: Callpolicy object to use (must be of type decl_wrappers.call_policy_t) """ ! assert isinstance(callPolicy, decl_wrappers.call_policy_t) ! self.mDecl.call_policies = callPolicy return self def finalize(self): """ Ask this system to attempt to finalize this declaration. """ ! #self.mDecl.declDecorator.finalize = True ! print "XXX: Can't implement yet." return self *************** *** 481,485 **** used to build the code for the wrapped declaration. """ ! self.mDecl.declDecorator.customCreators.append(creator) return self --- 480,485 ---- used to build the code for the wrapped declaration. """ ! #self.mDecl.declDecorator.customCreators.append(creator) ! print "XXX: Can't implement yet." return self *************** *** 558,563 **** ! 6 ! def findContainedMethod(self, name, retval=None, args=None): """Search for a method with a particular name. name is the method name, retval the type of the return --- 558,563 ---- ! ! def findContainedMethod(self, name, retval=None, args=None): """Search for a method with a particular name. name is the method name, retval the type of the return |
From: Allen B. <al...@us...> - 2006-03-09 01:47:22
|
Update of /cvsroot/pygccxml/source/pyplusplus/decl_wrappers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16037/decl_wrappers Modified Files: __init__.py Log Message: Expose call_policy_t at the module level (like it used to be in code_creators) Index: __init__.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/decl_wrappers/__init__.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** __init__.py 6 Mar 2006 05:00:33 -0000 1.2 --- __init__.py 9 Mar 2006 01:47:19 -0000 1.3 *************** *** 32,35 **** --- 32,36 ---- from pygccxml import declarations + from call_policies import call_policy_t from call_policies import default_call_policies from call_policies import compound_policy_t |
From: Allen B. <al...@us...> - 2006-03-09 01:46:19
|
Update of /cvsroot/pygccxml/source/pygccxml/utils In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15458/pygccxml/utils Modified Files: __init__.py Log Message: - Remove data and time from logger filter - Use logger info(), error(), and warning() instead of just debug() Index: __init__.py =================================================================== RCS file: /cvsroot/pygccxml/source/pygccxml/utils/__init__.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** __init__.py 2 Mar 2006 05:53:15 -0000 1.8 --- __init__.py 9 Mar 2006 01:46:16 -0000 1.9 *************** *** 12,16 **** logger = logging.getLogger('pygccxml') __handler = logging.StreamHandler(sys.stdout) ! __handler.setFormatter( logging.Formatter('%(asctime)s %(levelname)s %(message)s') ) logger.addHandler(__handler) logger.setLevel(logging.DEBUG) --- 12,16 ---- logger = logging.getLogger('pygccxml') __handler = logging.StreamHandler(sys.stdout) ! __handler.setFormatter( logging.Formatter('%(message)s') ) logger.addHandler(__handler) logger.setLevel(logging.DEBUG) *************** *** 21,25 **** os.remove( file_name ) except Exception, error: ! logger.debug( "Error ocured while removing temprorary created file('%s'): %s" % ( file_name, str( error ) ) ) --- 21,25 ---- os.remove( file_name ) except Exception, error: ! logger.error( "Error ocured while removing temprorary created file('%s'): %s" % ( file_name, str( error ) ) ) |
From: Allen B. <al...@us...> - 2006-03-09 01:46:19
|
Update of /cvsroot/pygccxml/source/pygccxml/parser In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15458/pygccxml/parser Modified Files: declarations_cache.py project_reader.py scanner.py source_reader.py Log Message: - Remove data and time from logger filter - Use logger info(), error(), and warning() instead of just debug() Index: scanner.py =================================================================== RCS file: /cvsroot/pygccxml/source/pygccxml/parser/scanner.py,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** scanner.py 2 Mar 2006 05:53:14 -0000 1.21 --- scanner.py 9 Mar 2006 01:46:15 -0000 1.22 *************** *** 193,197 **** self.__files[ attrs[XML_AN_ID] ] = obj else: ! logger.debug( 'Unknown object type has been found.' + ' Please report this bug to pygccxml development team.' ) --- 193,197 ---- self.__files[ attrs[XML_AN_ID] ] = obj else: ! logger.warning( 'Unknown object type has been found.' + ' Please report this bug to pygccxml development team.' ) Index: declarations_cache.py =================================================================== RCS file: /cvsroot/pygccxml/source/pygccxml/parser/declarations_cache.py,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** declarations_cache.py 2 Mar 2006 05:53:14 -0000 1.11 --- declarations_cache.py 9 Mar 2006 01:46:15 -0000 1.12 *************** *** 152,164 **** cache_file_obj = file( file_name, 'rb' ) try: ! logger.debug( "Loading cache file ..." ) start_time = time.clock() cache = cPickle.load( cache_file_obj ) ! logger.debug( "Cache file has been loaded in %.1f secs"%( time.clock() - start_time ) ) ! logger.debug( "Found cache in file: [%s] entries: %s" % ( file_name, len( cache.keys() ) ) ) except Exception, error: cache_file_obj.close() ! logger.debug( "Invalid cache file: [%s] Regenerating." % file_name ) file(file_name, 'w+b').close() # Create empty file cache = {} # Empty cache --- 152,164 ---- cache_file_obj = file( file_name, 'rb' ) try: ! logger.info( "Loading cache file ..." ) start_time = time.clock() cache = cPickle.load( cache_file_obj ) ! logger.info( "Cache file has been loaded in %.1f secs"%( time.clock() - start_time ) ) ! logger.info( "Found cache in file: [%s] entries: %s" % ( file_name, len( cache.keys() ) ) ) except Exception, error: cache_file_obj.close() ! logger.info( "Invalid cache file: [%s] Regenerating." % file_name ) file(file_name, 'w+b').close() # Create empty file cache = {} # Empty cache *************** *** 177,181 **** del self.__cache[key] if num_removed > 0: ! logger.debug( "There are %s removed entries from cache." % num_removed ) # Save out the cache to disk cache_file = file( self.__name, 'w+b' ) --- 177,181 ---- del self.__cache[key] if num_removed > 0: ! logger.info( "There are %s removed entries from cache." % num_removed ) # Save out the cache to disk cache_file = file( self.__name, 'w+b' ) Index: source_reader.py =================================================================== RCS file: /cvsroot/pygccxml/source/pygccxml/parser/source_reader.py,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** source_reader.py 5 Mar 2006 06:26:13 -0000 1.26 --- source_reader.py 9 Mar 2006 01:46:15 -0000 1.27 *************** *** 107,111 **** command_line = self.__create_command_line( ffname, gccxml_file ) if self.__config.verbose: ! logger.debug( " Command line for GCC-XML: %s" % command_line ) input, output = os.popen4( command_line ) input.close() --- 107,111 ---- command_line = self.__create_command_line( ffname, gccxml_file ) if self.__config.verbose: ! logger.info( " Command line for GCC-XML: %s" % command_line ) input, output = os.popen4( command_line ) input.close() *************** *** 147,155 **** ffname = self.__file_full_name(source_file) if self.__config.verbose: ! logger.debug( "Reading source file: [%s]." % ffname ) declarations = self.__dcache.cached_value( ffname, self.__config ) if not declarations: if self.__config.verbose: ! logger.debug( "File has not been found in cache, parsing..." ) gccxml_file = self.create_xml_file( ffname ) declarations, files = self.__parse_gccxml_created_file( gccxml_file ) --- 147,155 ---- ffname = self.__file_full_name(source_file) if self.__config.verbose: ! logger.info( "Reading source file: [%s]." % ffname ) declarations = self.__dcache.cached_value( ffname, self.__config ) if not declarations: if self.__config.verbose: ! logger.info( "File has not been found in cache, parsing..." ) gccxml_file = self.create_xml_file( ffname ) declarations, files = self.__parse_gccxml_created_file( gccxml_file ) *************** *** 157,161 **** else: if self.__config.verbose: ! logger.debug( "File has not been changed, reading declarations from cache." ) except Exception, error: --- 157,161 ---- else: if self.__config.verbose: ! logger.info( "File has not been changed, reading declarations from cache." ) except Exception, error: *************** *** 169,173 **** def read_xml_file(self, gccxml_created_file): if self.__config.verbose: ! logger.debug( "Reading xml file: [%s]" % gccxml_created_file ) declarations, files = self.__parse_gccxml_created_file( gccxml_created_file ) --- 169,173 ---- def read_xml_file(self, gccxml_created_file): if self.__config.verbose: ! logger.info( "Reading xml file: [%s]" % gccxml_created_file ) declarations, files = self.__parse_gccxml_created_file( gccxml_created_file ) Index: project_reader.py =================================================================== RCS file: /cvsroot/pygccxml/source/pygccxml/parser/project_reader.py,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** project_reader.py 8 Mar 2006 08:38:53 -0000 1.25 --- project_reader.py 9 Mar 2006 01:46:15 -0000 1.26 *************** *** 126,130 **** config = self.__config.clone() if config.verbose: ! logger.debug( "Reading project files: file by file" ) for prj_file in files: reader = None --- 126,130 ---- config = self.__config.clone() if config.verbose: ! logger.info( "Reading project files: file by file" ) for prj_file in files: reader = None *************** *** 157,173 **** namespaces.append( decls ) if config.verbose: ! logger.debug( "Flushing cache... " ) start_time = time.clock() self.__dcache.flush() if config.verbose: ! logger.debug( "Cache has been fkushed in %.1f secs" % ( time.clock() - start_time ) ) answer = [] if config.verbose: ! logger.debug( "Joining namespaces ..." ) for file_nss in namespaces: answer = self._join_top_namespaces( answer, file_nss ) if config.verbose: ! logger.debug( "Joining declarations ..." ) for ns in answer: if isinstance( ns, pygccxml.declarations.namespace_t ): --- 157,173 ---- namespaces.append( decls ) if config.verbose: ! logger.info( "Flushing cache... " ) start_time = time.clock() self.__dcache.flush() if config.verbose: ! logger.info( "Cache has been fkushed in %.1f secs" % ( time.clock() - start_time ) ) answer = [] if config.verbose: ! logger.info( "Joining namespaces ..." ) for file_nss in namespaces: answer = self._join_top_namespaces( answer, file_nss ) if config.verbose: ! logger.info( "Joining declarations ..." ) for ns in answer: if isinstance( ns, pygccxml.declarations.namespace_t ): *************** *** 176,180 **** types = self.__declarated_types(answer) if config.verbose: ! logger.debug( "Relinking declared types ..." ) self._relink_declarated_types( leaved_classes, types ) return answer --- 176,180 ---- types = self.__declarated_types(answer) if config.verbose: ! logger.info( "Relinking declared types ..." ) self._relink_declarated_types( leaved_classes, types ) return answer *************** *** 183,187 **** config = self.__config.clone() if config.verbose: ! logger.debug( "Reading project files: all at once" ) header_content = [] for header in files: --- 183,187 ---- config = self.__config.clone() if config.verbose: ! logger.info( "Reading project files: all at once" ) header_content = [] for header in files: |
From: Matthias B. <mb...@us...> - 2006-03-08 09:39:13
|
Update of /cvsroot/pygccxml/source/pyplusplus/experimental/docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19137 Modified Files: generate_all_docs.py Log Message: Switched to epytext as default markup Index: generate_all_docs.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/experimental/docs/generate_all_docs.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** generate_all_docs.py 5 Mar 2006 00:51:32 -0000 1.1 --- generate_all_docs.py 8 Mar 2006 09:39:08 -0000 1.2 *************** *** 4,8 **** pj = os.path.join ! default_format = "restructuredtext" pypp_module_dirs = ["code_creators", --- 4,8 ---- pj = os.path.join ! default_format = "epytext" pypp_module_dirs = ["code_creators", |
From: Matthias B. <mb...@us...> - 2006-03-08 09:35:01
|
Update of /cvsroot/pygccxml/source/pyplusplus/experimental In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16858 Modified Files: pypp_api.py Log Message: Modified some doc strings so that epydoc doesn't generate warnings/errors anymore Index: pypp_api.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/experimental/pypp_api.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** pypp_api.py 5 Mar 2006 00:50:54 -0000 1.2 --- pypp_api.py 8 Mar 2006 09:34:54 -0000 1.3 *************** *** 71,77 **** defines=[], undefines=[], cacheFile = None, verbose=True): ! """ ! Initialize module. ! :Parameters: - 'workingDir': directory to start processing. (default: current working dir) - 'includePaths': List of paths to tell gccxml to search for header files. --- 71,77 ---- defines=[], undefines=[], cacheFile = None, verbose=True): ! """Initialize module. ! ! :Parameters: - 'workingDir': directory to start processing. (default: current working dir) - 'includePaths': List of paths to tell gccxml to search for header files. *************** *** 265,269 **** # ------------- Creator methods -------------- # def Template(self, templateType, typedefName=None): ! """ Add a template to instantiate. :param templateType: Fully instantiated name. (ex: TemplateClass<float> ) :param typedefName: Name of type def to define to this template type. --- 265,270 ---- # ------------- Creator methods -------------- # def Template(self, templateType, typedefName=None): ! """Add a template to instantiate. ! :param templateType: Fully instantiated name. (ex: TemplateClass<float> ) :param typedefName: Name of type def to define to this template type. *************** *** 520,525 **** # --------- Internal helpers --------- # def findContainedDecls(self, name=None, declType=None): ! """ ! Search contained declarations for ones of specific type and or name. :param name: regex to use for matching. (can just be full name) :param declType: a single type or a list of decl types to look for. --- 521,526 ---- # --------- Internal helpers --------- # def findContainedDecls(self, name=None, declType=None): ! """Search contained declarations for ones of specific type and or name. ! :param name: regex to use for matching. (can just be full name) :param declType: a single type or a list of decl types to look for. *************** *** 557,567 **** ! def findContainedMethod(self, name, retval=None, args=None): """Search for a method with a particular name. name is the method name, retval the type of the return value and args a list of argument types. All types (retval and args) are given as strings treated as regex matches. ! ex: findContainedMethod("method", retval="bool &", args=["int", "float"]) ! findContainedMethod(".*", retval="float", args=None) """ found = [] --- 558,570 ---- ! 6 ! def findContainedMethod(self, name, retval=None, args=None): """Search for a method with a particular name. name is the method name, retval the type of the return value and args a list of argument types. All types (retval and args) are given as strings treated as regex matches. ! ex: ! findContainedMethod("method", retval="bool &", args=["int", "float"]) ! findContainedMethod(".*", retval="float", args=None) """ found = [] |
From: Matthias B. <mb...@us...> - 2006-03-08 09:33:24
|
Update of /cvsroot/pygccxml/source/pyplusplus/code_creators In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15666/code_creators Modified Files: algorithm.py Log Message: Modified some doc strings so that epydoc doesn't generate warnings/errors anymore Index: algorithm.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/code_creators/algorithm.py,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** algorithm.py 6 Mar 2006 04:56:13 -0000 1.14 --- algorithm.py 8 Mar 2006 09:32:52 -0000 1.15 *************** *** 72,79 **** "creator_finder - this class used as namespace" def find_by_declaration( declaration_matcher, where, recursive=True ): ! """ ! Finds code creator by declaration. declaration_matcher should be callable, that takes single argument ! declaration, and returns True or False where - code creator or list of code creators This function returns a list of all relevant code creators --- 72,78 ---- "creator_finder - this class used as namespace" def find_by_declaration( declaration_matcher, where, recursive=True ): ! """Finds code creator by declaration. declaration_matcher should be callable, that takes single argument ! declaration, and returns True or False where - code creator or list of code creators This function returns a list of all relevant code creators *************** *** 100,102 **** search_area = make_flatten( where ) return filter( lambda inst: isinstance( inst, what ), search_area ) ! find_by_class_instance = staticmethod( find_by_class_instance ) \ No newline at end of file --- 99,101 ---- search_area = make_flatten( where ) return filter( lambda inst: isinstance( inst, what ), search_area ) ! find_by_class_instance = staticmethod( find_by_class_instance ) |
From: Matthias B. <mb...@us...> - 2006-03-08 09:32:59
|
Update of /cvsroot/pygccxml/source/pyplusplus/decl_wrappers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15666/decl_wrappers Modified Files: algorithm.py Log Message: Modified some doc strings so that epydoc doesn't generate warnings/errors anymore Index: algorithm.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/decl_wrappers/algorithm.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** algorithm.py 6 Mar 2006 04:56:14 -0000 1.2 --- algorithm.py 8 Mar 2006 09:32:52 -0000 1.3 *************** *** 14,25 **** def creators_affect_on_me( me ): ! """ ! This algorithm finds all code creators that can influence on code generated ! by me. Description of alogrithm: ! [a b c d e f g] ! | ! + [k l m] ! | ! + [y x] <-- we are here ( x ) The answer of this algorithm is [y,l,k,d,c,b,a] """ --- 14,26 ---- def creators_affect_on_me( me ): ! """This algorithm finds all code creators that can influence on code generated ! by me. Description of algorithm:: ! ! [a b c d e f g] ! | ! + [k l m] ! | ! + [y x] <-- we are here ( x ) ! The answer of this algorithm is [y,l,k,d,c,b,a] """ |
From: Matthias B. <mb...@us...> - 2006-03-08 09:30:38
|
Update of /cvsroot/pygccxml/source/pyplusplus/module_creator In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14385/module_creator Modified Files: creator.py Log Message: Modified some doc strings so that epydoc doesn't generate warnings/errors anymore Index: creator.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/module_creator/creator.py,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** creator.py 5 Mar 2006 05:51:30 -0000 1.59 --- creator.py 8 Mar 2006 09:30:34 -0000 1.60 *************** *** 279,285 **** def create(self, decl_headers=None): ! """ Create and return the module for the extension. ! declHeaders: If None the headers for the wrapped decls are automatically found. ! But you can pass a list of headers here to override that search. """ if not decl_headers: --- 279,286 ---- def create(self, decl_headers=None): ! """Create and return the module for the extension. ! ! declHeaders: If None the headers for the wrapped decls are automatically found. ! But you can pass a list of headers here to override that search. """ if not decl_headers: |
From: Matthias B. <mb...@us...> - 2006-03-08 09:30:37
|
Update of /cvsroot/pygccxml/source/pyplusplus/file_writers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14385/file_writers Modified Files: writer.py Log Message: Modified some doc strings so that epydoc doesn't generate warnings/errors anymore Index: writer.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/file_writers/writer.py,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** writer.py 28 Feb 2006 07:31:33 -0000 1.11 --- writer.py 8 Mar 2006 09:30:33 -0000 1.12 *************** *** 10,17 **** class writer_t(object): ! """ Base class for all module/code writers. ! All writers should have similar usage: ! w = writer_class(module, file, ...) ! w.write() """ def __init__(self, extmodule): --- 10,18 ---- class writer_t(object): ! """Base class for all module/code writers. ! ! All writers should have similar usage: ! w = writer_class(module, file, ...) ! w.write() """ def __init__(self, extmodule): *************** *** 59,61 **** f.write( fcontent_new ) f.close() ! write_file = staticmethod( write_file ) \ No newline at end of file --- 60,62 ---- f.write( fcontent_new ) f.close() ! write_file = staticmethod( write_file ) |
From: Matthias B. <mb...@us...> - 2006-03-08 08:53:41
|
Update of /cvsroot/pygccxml/source/pygccxml/docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27325 Modified Files: generate_reference_manual.py Log Message: Added license information and short usage note Index: generate_reference_manual.py =================================================================== RCS file: /cvsroot/pygccxml/source/pygccxml/docs/generate_reference_manual.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** generate_reference_manual.py 8 Mar 2006 08:31:52 -0000 1.1 --- generate_reference_manual.py 8 Mar 2006 08:53:37 -0000 1.2 *************** *** 1,6 **** ! # Generate documentation using epydocs # import os, os.path - pj = os.path.join # Output directory --- 1,13 ---- ! # Copyright 2004 Roman Yakovenko. ! # Distributed under the Boost Software License, Version 1.0. (See ! # accompanying file LICENSE_1_0.txt or copy at ! # http://www.boost.org/LICENSE_1_0.txt) # + # Generates documentation using epydoc. + # Usage: Just invoke the script without any arguments in the "docs" directory. + # The results will be written to the directory as specified by the "output" + # variable (see below). + import os, os.path # Output directory |
From: Matthias B. <mb...@us...> - 2006-03-08 08:47:47
|
Update of /cvsroot/pygccxml/source/pygccxml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24362 Added Files: .cvsignore Log Message: Added .cvsignore files so that the *.pyc files are ignored by cvs --- NEW FILE: .cvsignore --- *.pyc |
From: Matthias B. <mb...@us...> - 2006-03-08 08:47:47
|
Update of /cvsroot/pygccxml/source/pygccxml/declarations In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24362/declarations Added Files: .cvsignore Log Message: Added .cvsignore files so that the *.pyc files are ignored by cvs --- NEW FILE: .cvsignore --- *.pyc |
From: Matthias B. <mb...@us...> - 2006-03-08 08:47:47
|
Update of /cvsroot/pygccxml/source/pygccxml/utils In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24362/utils Added Files: .cvsignore Log Message: Added .cvsignore files so that the *.pyc files are ignored by cvs --- NEW FILE: .cvsignore --- *.pyc |