@@ -37,13 +37,15 @@ def __init__(
3737 url = URL ,
3838 token = TOKEN ,
3939 debug : bool = False ,
40+ write_legacy : bool = True ,
4041 ):
4142 self .tool_name = tool_name
4243 self .tool_version = tool_version
4344 self .enabled = enabled
4445 self .url = url
4546 self .token = token
4647 self .debug = debug
48+ self .write_legacy = write_legacy
4749 if self .debug :
4850 logger .setLevel (logging .DEBUG )
4951 logger .debug ("IterativeTelemetryLogger is in debug mode" )
@@ -75,7 +77,8 @@ def is_enabled(self):
7577 return (
7678 os .environ .get (DO_NOT_TRACK_ENV , None ) is None and self .enabled ()
7779 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
7982 )
8083
8184 def send (
@@ -153,7 +156,7 @@ def _runtime_info(self):
153156 # "tool_source": self.tool_source, # TODO
154157 # "scm_class": _scm_in_use(),
155158 ** _system_info (),
156- "user_id" : _find_or_create_user_id (),
159+ "user_id" : _find_or_create_user_id (self . write_legacy ),
157160 "group_id" : "" , # TODO
158161 }
159162
@@ -193,7 +196,7 @@ def generate_id():
193196
194197
195198@lru_cache (None )
196- def _find_or_create_user_id ():
199+ def _find_or_create_user_id (write_legacy = True ):
197200 """
198201 The user's ID is stored on a file under the global config directory.
199202 The file should contain JSON with a `user_id` key:
@@ -221,7 +224,11 @@ def _find_or_create_user_id():
221224
222225 # only for non-DVC packages,
223226 # 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+ ):
225232 json .dump ({"user_id" : uid }, old .open ("w" , encoding = "utf8" ))
226233
227234 if uid .lower () != DO_NOT_TRACK_VALUE .lower ():
0 commit comments