@@ -37,13 +37,15 @@ def __init__(
37
37
url = URL ,
38
38
token = TOKEN ,
39
39
debug : bool = False ,
40
+ write_legacy : bool = True ,
40
41
):
41
42
self .tool_name = tool_name
42
43
self .tool_version = tool_version
43
44
self .enabled = enabled
44
45
self .url = url
45
46
self .token = token
46
47
self .debug = debug
48
+ self .write_legacy = write_legacy
47
49
if self .debug :
48
50
logger .setLevel (logging .DEBUG )
49
51
logger .debug ("IterativeTelemetryLogger is in debug mode" )
@@ -75,7 +77,8 @@ def is_enabled(self):
75
77
return (
76
78
os .environ .get (DO_NOT_TRACK_ENV , None ) is None and self .enabled ()
77
79
if callable (self .enabled )
78
- else self .enabled and _find_or_create_user_id () is not None
80
+ else self .enabled
81
+ and _find_or_create_user_id (self .write_legacy ) is not None
79
82
)
80
83
81
84
def send (
@@ -153,7 +156,7 @@ def _runtime_info(self):
153
156
# "tool_source": self.tool_source, # TODO
154
157
# "scm_class": _scm_in_use(),
155
158
** _system_info (),
156
- "user_id" : _find_or_create_user_id (),
159
+ "user_id" : _find_or_create_user_id (self . write_legacy ),
157
160
"group_id" : "" , # TODO
158
161
}
159
162
@@ -193,7 +196,7 @@ def generate_id():
193
196
194
197
195
198
@lru_cache (None )
196
- def _find_or_create_user_id ():
199
+ def _find_or_create_user_id (write_legacy = True ):
197
200
"""
198
201
The user's ID is stored on a file under the global config directory.
199
202
The file should contain JSON with a `user_id` key:
@@ -221,7 +224,11 @@ def _find_or_create_user_id():
221
224
222
225
# only for non-DVC packages,
223
226
# write legacy file in case legacy DVC is installed later
224
- if not old .exists () and uid .lower () != DO_NOT_TRACK_VALUE .lower ():
227
+ if (
228
+ write_legacy
229
+ and not old .exists ()
230
+ and uid .lower () != DO_NOT_TRACK_VALUE .lower ()
231
+ ):
225
232
json .dump ({"user_id" : uid }, old .open ("w" , encoding = "utf8" ))
226
233
227
234
if uid .lower () != DO_NOT_TRACK_VALUE .lower ():
0 commit comments