6
6
import os
7
7
import subprocess
8
8
import sys
9
+ import warnings
9
10
from datetime import datetime
10
11
from importlib .util import find_spec
11
12
20
21
21
22
def start_logging (
22
23
output_dir ,
23
- package ,
24
+ package = None ,
24
25
variables = None ,
25
26
verbose = True ,
26
27
file_log_level = "DEBUG" ,
@@ -37,6 +38,7 @@ def start_logging(
37
38
log_to_console = True ,
38
39
timestamp = True ,
39
40
logger_name = None ,
41
+ program = None ,
40
42
):
41
43
"""Prepare the log file, and then begin logging.
42
44
@@ -81,6 +83,8 @@ def start_logging(
81
83
logger_name
82
84
If None, logger uses default logger; otherwise, logger
83
85
name is set to `logger_name`.
86
+ program
87
+ Deprecated alias name for `package`.
84
88
85
89
Returns
86
90
-------
@@ -91,6 +95,21 @@ def start_logging(
91
95
output_dir = str (output_dir )
92
96
print_log_level = "DEBUG" if verbose else "INFO"
93
97
98
+ if program :
99
+ warnings .warn (
100
+ "`program` is deprecated since 0.6.0 and will be "
101
+ "removed in 0.7.0; use `package` instead." ,
102
+ DeprecationWarning ,
103
+ stacklevel = 2 ,
104
+ )
105
+ package = program
106
+
107
+ if not package :
108
+ raise ValueError (
109
+ "`package` or `program` (deprecated)` must be "
110
+ "passed to `start_logging()`."
111
+ )
112
+
94
113
if log_to_file :
95
114
if filename is None :
96
115
filename = package .__name__
@@ -136,7 +155,7 @@ class LoggingHeader:
136
155
def __init__ (
137
156
self ,
138
157
file ,
139
- program ,
158
+ package ,
140
159
variable_objects ,
141
160
output_dir ,
142
161
write_header = True ,
@@ -151,13 +170,13 @@ def __init__(
151
170
152
171
See start_logging() for parameters.
153
172
"""
154
- self .program = program
173
+ self .package = package
155
174
156
175
with open (file , "w" , encoding = "utf-8" ) as self .file :
157
176
if write_header :
158
177
self .write_log_header (output_dir , log_header )
159
178
if write_git :
160
- self .write_git_info (self .program .__name__ )
179
+ self .write_git_info (self .package .__name__ )
161
180
if write_cli_args :
162
181
self .write_command_line_arguments ()
163
182
if write_python :
@@ -167,12 +186,12 @@ def __init__(
167
186
if write_variables and variable_objects :
168
187
self .write_variables (variable_objects )
169
188
170
- def write_git_info (self , program_name , header = "GIT INFO" ):
189
+ def write_git_info (self , package_name , header = "GIT INFO" ):
171
190
"""Write information about the git repository state.
172
191
173
192
Parameters
174
193
----------
175
- program_name
194
+ package_name
176
195
The name of the installed package, to
177
196
locate and inspect its Git repository.
178
197
header
@@ -181,11 +200,11 @@ def write_git_info(self, program_name, header="GIT INFO"):
181
200
"""
182
201
self .write_separated_section_header (header )
183
202
try :
184
- program_path = find_spec (program_name ).submodule_search_locations [
203
+ package_path = find_spec (package_name ).submodule_search_locations [
185
204
0
186
205
]
187
- program_path = os .path .split (program_path )[0 ]
188
- git_info = get_git_info (program_path )
206
+ package_path = os .path .split (package_path )[0 ]
207
+ git_info = get_git_info (package_path )
189
208
190
209
self .file .write (f"Commit hash: { git_info .head .hash } \n " )
191
210
self .file .write (f"Commit message: { git_info .head .message } \n " )
@@ -402,7 +421,7 @@ def write_log_header(self, output_dir, log_header):
402
421
self .file .write ("Output directory: " + output_dir + "\n " )
403
422
self .file .write ("Current directory: " + os .getcwd () + "\n " )
404
423
with contextlib .suppress (AttributeError ):
405
- self .file .write (f"Version: { self .program .__version__ } " )
424
+ self .file .write (f"Version: { self .package .__version__ } " )
406
425
407
426
def write_separated_section_header (
408
427
self ,
0 commit comments