[pygccxml-commit] SF.net SVN: pygccxml: [443] pyplusplus_dev/pyplusplus/gui
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2006-08-23 19:29:38
|
Revision: 443 Author: roman_yakovenko Date: 2006-08-23 12:29:16 -0700 (Wed, 23 Aug 2006) ViewCVS: http://svn.sourceforge.net/pygccxml/?rev=443&view=rev Log Message: ----------- updating documentation Modified Paths: -------------- pyplusplus_dev/pyplusplus/_logging_/__init__.py pyplusplus_dev/pyplusplus/_logging_/multi_line_formatter.py pyplusplus_dev/pyplusplus/code_creators/array_1_registrator.py pyplusplus_dev/pyplusplus/decl_wrappers/algorithm.py pyplusplus_dev/pyplusplus/file_writers/__init__.py pyplusplus_dev/pyplusplus/file_writers/class_multiple_files.py pyplusplus_dev/pyplusplus/file_writers/multiple_files.py pyplusplus_dev/pyplusplus/file_writers/single_file.py pyplusplus_dev/pyplusplus/file_writers/writer.py pyplusplus_dev/pyplusplus/gui/freeze.py pyplusplus_dev/pyplusplus/gui/ui.py pyplusplus_dev/pyplusplus/gui/ui_runner.py pyplusplus_dev/pyplusplus/gui/wizard.py Modified: pyplusplus_dev/pyplusplus/_logging_/__init__.py =================================================================== --- pyplusplus_dev/pyplusplus/_logging_/__init__.py 2006-08-23 19:28:36 UTC (rev 442) +++ pyplusplus_dev/pyplusplus/_logging_/__init__.py 2006-08-23 19:29:16 UTC (rev 443) @@ -4,10 +4,7 @@ # http://www.boost.org/LICENSE_1_0.txt) #TODO: find better place for it -""" -This package contains logging configuration for Py++. Default log level -is DEBUG. Default log messages destination is sys.stdout. -""" +"""defines logger classes""" import os import sys @@ -15,17 +12,37 @@ from multi_line_formatter import multi_line_formatter_t def _create_logger_( name ): + """implementation details""" logger = logging.getLogger(name) handler = logging.StreamHandler(sys.stdout) handler.setFormatter( multi_line_formatter_t( os.linesep + '%(levelname)s: %(message)s' ) ) - logger.addHandler(handler) + logger.addHandler(handler) logger.setLevel(logging.INFO) return logger class loggers: + """class-namespace, defines few loggers classes, used in the project""" + file_writer = _create_logger_( 'pyplusplus.file_writer' ) + """logger for classes that write code to files""" + declarations = _create_logger_( 'pyplusplus.declarations' ) + """logger for declaration classes + + This is very import logger. All important messages: problems with declarations, + warnings or hints are written to this logger. + """ + module_builder = _create_logger_( 'pyplusplus.module_builder' ) + """logger that in use by L{module_builder_t} class. + + Just another logger. It exists mostly for Py++ developers. + """ + #root logger exists for configuration purpose only root = logging.getLogger( 'pyplusplus' ) - all = [ root, file_writer, module_builder, declarations ] \ No newline at end of file + """root logger exists for your convinience only""" + + all = [ root, file_writer, module_builder, declarations ] + """contains all logger classes, defined by the class""" + \ No newline at end of file Modified: pyplusplus_dev/pyplusplus/_logging_/multi_line_formatter.py =================================================================== --- pyplusplus_dev/pyplusplus/_logging_/multi_line_formatter.py 2006-08-23 19:28:36 UTC (rev 442) +++ pyplusplus_dev/pyplusplus/_logging_/multi_line_formatter.py 2006-08-23 19:29:16 UTC (rev 443) @@ -5,6 +5,8 @@ # Initial version by Matthias Baas (ba...@ir...). +"""defines a class that helps to format user messages""" + import os, logging, textwrap class multi_line_formatter_t(logging.Formatter): Modified: pyplusplus_dev/pyplusplus/code_creators/array_1_registrator.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/array_1_registrator.py 2006-08-23 19:28:36 UTC (rev 442) +++ pyplusplus_dev/pyplusplus/code_creators/array_1_registrator.py 2006-08-23 19:29:16 UTC (rev 443) @@ -3,6 +3,7 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) + import os import algorithm import code_creator Modified: pyplusplus_dev/pyplusplus/decl_wrappers/algorithm.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/algorithm.py 2006-08-23 19:28:36 UTC (rev 442) +++ pyplusplus_dev/pyplusplus/decl_wrappers/algorithm.py 2006-08-23 19:29:16 UTC (rev 443) @@ -77,11 +77,12 @@ def create_identifier(creator, full_name ): - from pyplusplus import code_creators """ This function will find all relevant namespace aliases and will return new full name that takes into account namespace aliases. """ + + from pyplusplus import code_creators dset = creators_affect_on_me( creator ) dset = filter( lambda x: isinstance( x, code_creators.namespace_alias_t ), dset ) full_name = full_name.lstrip( '::' ) Modified: pyplusplus_dev/pyplusplus/file_writers/__init__.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/__init__.py 2006-08-23 19:28:36 UTC (rev 442) +++ pyplusplus_dev/pyplusplus/file_writers/__init__.py 2006-08-23 19:29:16 UTC (rev 443) @@ -6,12 +6,14 @@ """ This package contains few classes, that writes L{code_creators.module_t} to files. -Right now 2 strategies were implemented: +Right now 3 strategies were implemented: - 1. classic strategy of deviding classes to files one class in one header + source + 1. All code is written in one file + + 2. Classic strategy of deviding classes to files: one class in one header + source files. - 2. all code is written in one file. + 2.1 Huge classes are splitten to few source files. """ @@ -22,6 +24,7 @@ from class_multiple_files import class_multiple_files_t def write_file( data, file_path ): + """writes data to file""" if isinstance( data, types.StringTypes ): writer_t.write_file( data, file_path ) else: @@ -29,9 +32,11 @@ sf.write() def write_multiple_files( extmodule, dir_path ): + """writes extmodule to multiple files""" mfs = multiple_files_t( extmodule, dir_path ) mfs.write() def write_class_multiple_files( extmodule, dir_path, huge_classes ): + """writes extmodue to multiple files and splits huge classes to few source files""" mfs = class_multiple_files_t( extmodule, dir_path, huge_classes ) mfs.write() \ No newline at end of file Modified: pyplusplus_dev/pyplusplus/file_writers/class_multiple_files.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/class_multiple_files.py 2006-08-23 19:28:36 UTC (rev 442) +++ pyplusplus_dev/pyplusplus/file_writers/class_multiple_files.py 2006-08-23 19:29:16 UTC (rev 443) @@ -3,6 +3,10 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +"""defines a class that writes L{code_creators.module_t} to multiple files, the class +also splits huge C++ classes to few source files +""" + import os import writer import multiple_files Modified: pyplusplus_dev/pyplusplus/file_writers/multiple_files.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2006-08-23 19:28:36 UTC (rev 442) +++ pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2006-08-23 19:29:16 UTC (rev 443) @@ -3,6 +3,8 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +"""defines a class that writes L{code_creators.module_t} to multiple files""" + import os import writer from pygccxml import declarations Modified: pyplusplus_dev/pyplusplus/file_writers/single_file.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/single_file.py 2006-08-23 19:28:36 UTC (rev 442) +++ pyplusplus_dev/pyplusplus/file_writers/single_file.py 2006-08-23 19:29:16 UTC (rev 443) @@ -3,6 +3,8 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +"""defines a class that writes L{code_creators.module_t} to single file""" + import os import writer Modified: pyplusplus_dev/pyplusplus/file_writers/writer.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/writer.py 2006-08-23 19:28:36 UTC (rev 442) +++ pyplusplus_dev/pyplusplus/file_writers/writer.py 2006-08-23 19:29:16 UTC (rev 443) @@ -3,6 +3,8 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +"""defines interface for all classes that writes L{code_creators.module_t} to file(s)""" + import os import time from pyplusplus import _logging_ @@ -16,7 +18,6 @@ w = writer_class(module, file, ...) w.write() """ - logger = _logging_.loggers.file_writer def __init__(self, extmodule): @@ -36,6 +37,7 @@ @staticmethod def create_backup(fpath): + """creates backup of the file, by renaming it to C{fpath + ~}""" if not os.path.exists( fpath ): return backup_fpath = fpath + '~' @@ -44,6 +46,7 @@ os.rename( fpath, backup_fpath ) def write_code_repository(self, dir): + """creates files defined in L{code_repository} package""" for cr in code_repository.all: if self.__extmodule.is_system_header( cr.file_name ): self.write_file( os.path.join( dir, cr.file_name ), cr.code ) @@ -87,4 +90,5 @@ f = file( fpath, 'w+b' ) f.write( fcontent_new ) f.close() - writer_t.logger.info( 'file "%s" - updated( %f seconds )' % ( fname, time.clock() - start_time ) ) \ No newline at end of file + writer_t.logger.info( 'file "%s" - updated( %f seconds )' % ( fname, time.clock() - start_time ) ) + \ No newline at end of file Modified: pyplusplus_dev/pyplusplus/gui/freeze.py =================================================================== --- pyplusplus_dev/pyplusplus/gui/freeze.py 2006-08-23 19:28:36 UTC (rev 442) +++ pyplusplus_dev/pyplusplus/gui/freeze.py 2006-08-23 19:29:16 UTC (rev 443) @@ -4,6 +4,13 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) + +"""this module contains "freeze" functionality. + +It allows to create and distribute Py++ GUI as executable, that could be +run without installing Python, pygccxml and Py++. +""" + import os import sys import shutil Modified: pyplusplus_dev/pyplusplus/gui/ui.py =================================================================== --- pyplusplus_dev/pyplusplus/gui/ui.py 2006-08-23 19:28:36 UTC (rev 442) +++ pyplusplus_dev/pyplusplus/gui/ui.py 2006-08-23 19:29:16 UTC (rev 443) @@ -4,6 +4,11 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +"""this module implements GUI. + +TODO: It could be nice, if GUI will save the user settings beetwen runs. +""" + import os import time import Tkinter Modified: pyplusplus_dev/pyplusplus/gui/ui_runner.py =================================================================== --- pyplusplus_dev/pyplusplus/gui/ui_runner.py 2006-08-23 19:28:36 UTC (rev 442) +++ pyplusplus_dev/pyplusplus/gui/ui_runner.py 2006-08-23 19:29:16 UTC (rev 443) @@ -4,6 +4,12 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +"""Py++ user interface runner + +The main purpose of this module is to run ui.py from development tree, so the +only work it does is adding new paths to sys.path variable. +""" + import os import sys Modified: pyplusplus_dev/pyplusplus/gui/wizard.py =================================================================== --- pyplusplus_dev/pyplusplus/gui/wizard.py 2006-08-23 19:28:36 UTC (rev 442) +++ pyplusplus_dev/pyplusplus/gui/wizard.py 2006-08-23 19:29:16 UTC (rev 443) @@ -1,3 +1,5 @@ +"""generates Py++ code from the user data""" + CODE_TEMPLATE = \ """ import os @@ -22,6 +24,7 @@ """ class wizard_t( object ): + """code generator that creates Py++ code""" def __init__( self , parser_configuration , source_file ): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |