Python Project Fixer
Модуль исправления структуры Python-проекта.
Автоматически выполняет: 1. Удаление BOM-маркеров из файлов 2. Создание недостающих init.py 3. Логирование всех операций
Использование: python fix_python_project.py [путь_к_проекту]
ProjectFixer
Исправляет структуру Python-проекта.
Атрибуты
root_dir: Корневая директория проекта. log: Лог выполненных операций.
Source code in tools\fix_python_project.py
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | |
__init__(root_dir='.')
Инициализирует экземпляр ProjectFixer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
root_dir
|
str
|
Корневая директория проекта. По умолчанию '.'. |
'.'
|
Source code in tools\fix_python_project.py
33 34 35 36 37 38 39 40 41 | |
create_init_py(dir_path)
Создаёт файл init.py.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dir_path
|
str
|
Путь к директории. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
bool |
bool
|
True если файл создан. |
Raises:
| Type | Description |
|---|---|
Exception
|
При ошибке создания. |
Source code in tools\fix_python_project.py
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | |
needs_init_py(dir_path)
Проверяет нужно ли создать init.py.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dir_path
|
str
|
Путь к директории. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
bool |
bool
|
True если init.py требуется. |
Source code in tools\fix_python_project.py
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | |
process_directory()
Рекурсивно обрабатывает проект.
Source code in tools\fix_python_project.py
127 128 129 130 131 132 133 134 135 136 137 138 | |
remove_bom(filepath)
Удаляет BOM-маркер из файла.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
filepath
|
str
|
Путь к файлу. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
bool |
bool
|
True если BOM был удалён. |
Raises:
| Type | Description |
|---|---|
Exception
|
При ошибке чтения/записи. |
Source code in tools\fix_python_project.py
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | |
save_log(log_file='project_fix.log')
Сохраняет лог операций в файл.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
log_file
|
str
|
Имя файла лога. По умолчанию 'project_fix.log'. |
'project_fix.log'
|
Source code in tools\fix_python_project.py
140 141 142 143 144 145 146 147 148 | |
should_skip_init(dir_path)
Проверяет нужно ли пропустить директорию.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dir_path
|
str
|
Путь к директории. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
bool |
bool
|
True если директорию нужно пропустить. |
Source code in tools\fix_python_project.py
69 70 71 72 73 74 75 76 77 78 79 80 81 | |