| 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 |