MCPcopy Create free account
hub / github.com/diffgram/diffgram / track_user

Method track_user

shared/database/event/event.py:393–430  ·  view source on GitHub ↗
(
        event,
        email = None)

Source from the content-addressed store, hash-verified

391
392 @staticmethod
393 def track_user(
394 event,
395 email = None):
396 # Validate an event exists.
397 if settings.DIFFGRAM_SYSTEM_MODE in ['testing', 'testing_e2e']:
398 return
399 if event is None:
400 return
401 if event.member_id is None:
402 return
403 if email is None:
404 return
405 if not settings._ANALYTICS_WRITE_KEY:
406 return
407 # CAREFUL using MEMBER id NOT user id.
408 props = {
409 'description': event.description,
410 'success': event.success,
411 'run_time': event.run_time,
412 'email': email,
413 'project_id': event.project_id
414 }
415 if event.error_log is not None and type(event.error_log) is dict:
416 props.update(event.error_log)
417 try:
418 analytics.track(
419 user_id = event.member_id,
420 event = event.kind,
421 properties = props,
422 context = {
423 'traits': {
424 event.kind: True
425 }
426 }
427 )
428 except Exception as e:
429 logger.error(f"Error tracking user: {e}")
430 pass
431
432 @staticmethod
433 def list(

Callers 1

newMethod · 0.80

Calls 1

updateMethod · 0.45

Tested by

no test coverage detected