| Trees | Indices | Help | 
 | 
|---|
|  | 
 1  # Copyright 2004-2008 Roman Yakovenko. 
 2  # Distributed under the Boost Software License, Version 1.0. (See 
 3  # accompanying file LICENSE_1_0.txt or copy at 
 4  # http://www.boost.org/LICENSE_1_0.txt) 
 5   
 6  """ 
 7  This package contains few classes, that writes L{code_creators.module_t} to files. 
 8   
 9  Right now 3 strategies were implemented: 
10   
11      1. All code is written in one file 
12   
13      2. Classic strategy of deviding classes to files: one class in one header + source files. 
14   
15          2.1 Huge classes are splitten to few source files. 
16   
17  """ 
18   
19  import types 
20  from writer import writer_t 
21  from single_file import single_file_t 
22  from multiple_files import multiple_files_t 
23  from balanced_files import balanced_files_t 
24  from class_multiple_files import class_multiple_files_t 
25  from md5sum_repository import repository_t 
26  from md5sum_repository import cached_repository_t 
27   
29      """returns True if file has Py++ specific extension, otherwise False""" 
30      for ext in ( multiple_files_t.HEADER_EXT, multiple_files_t.SOURCE_EXT ): 
31          if fname.endswith( ext ): 
32              return True 
33      return False 
34   
36      """writes data to file""" 
37      if isinstance( data, types.StringTypes ): 
38          writer_t.write_file( data, file_path, encoding=encoding ) 
39      else: 
40          sf = single_file_t( data, file_path, encoding=encoding ) 
41          sf.write() 
42   
44      """writes extmodule to multiple files""" 
45      mfs = multiple_files_t( extmodule, dir_path, files_sum_repository=files_sum_repository, encoding=encoding ) 
46      mfs.write() 
47      return mfs.written_files 
48   
49 -def write_balanced_files( extmodule, dir_path, number_of_buckets, files_sum_repository=None, encoding='ascii' ): 
50      """writes extmodule to fixed number of multiple cpp files""" 
51      mfs = balanced_files_t( extmodule, dir_path, number_of_buckets, files_sum_repository=files_sum_repository, encoding=encoding ) 
52      mfs.write() 
53      return mfs.written_files 
54   
55 -def write_class_multiple_files( extmodule, dir_path, huge_classes, files_sum_repository, encoding='ascii' ): 
56      """writes extmodule to multiple files and splits huge classes to few source files""" 
57      mfs = class_multiple_files_t( extmodule, dir_path, huge_classes, files_sum_repository=files_sum_repository, encoding=encoding ) 
58      mfs.write() 
59      return mfs.written_files 
60   
| Trees | Indices | Help | 
 | 
|---|
| Generated by Epydoc 3.0.1 on Mon Oct 20 08:51:17 2008 | http://epydoc.sourceforge.net |