def run(self, admin_id, email, created_at, distinct_id=None, backend='password', activation_url=None): if distinct_id is not None: analytics.alias(distinct_id, email) analytics.alias(email, admin_id) analytics.identify(admin_id, traits={'email': email, 'Lifecycle stage': 'customer', 'created_at': created_at}, timestamp=self.timestamp) data = {'authBackend': backend} if activation_url is not None: data['activationUrl'] = activation_url analytics.track(admin_id, 'Sign up', data, timestamp=self.timestamp)
def alias(): try: content = request.get_json(silent=True) _previous_id = content.get('previousId') _userId = content.get('userId') _context = content.get('context') _timestamp = format_timestamp(content.get('timestamp')) _integrations = content.get('integrations') analytics.alias(_previous_id, _userId, _context, _timestamp, _integrations) return format_response('alias') except Exception as e: return json.dumps({'error': str(e)})
def test_alias(self): session_id = str(randint(1000000, 99999999)) user_id = 'bob+'+session_id + '@gmail.com' analytics.default_client.flush_at = 1 analytics.default_client.async = False last_aliases = analytics.stats.aliases last_successful = analytics.stats.successful analytics.identify(session_id, traits={'AnonymousTrait': 'Who am I?'}) analytics.track(session_id, 'Anonymous Event') # alias the user analytics.alias(session_id, user_id) analytics.identify(user_id, traits={'IdentifiedTrait': 'A Hunk'}) analytics.track(user_id, 'Identified Event') self.assertEqual(analytics.stats.aliases, last_aliases + 1) self.assertEqual(analytics.stats.successful, last_successful + 5)
def test_alias(self): session_id = str(randint(1000000, 99999999)) user_id = 'bob+'+session_id + '@gmail.com' analytics.default_client.flush_at = 1 analytics.default_client.async = False last_aliases = analytics.stats.aliases last_successful = analytics.stats.successful analytics.identify(session_id, traits={'AnonymousTrait': 'Who am I?'}) analytics.track(session_id, 'Anonymous Event') # alias the user analytics.alias(session_id, user_id) analytics.identify(user_id, traits={'IdentifiedTrait': 'A Hunk'}) analytics.track(user_id, 'Identified Event') self.assertEqual(analytics.stats.aliases, last_aliases + 1) self.assertEqual(analytics.stats.successful, last_successful + 5)
def send_identify(self, email, user_id): try: if self.is_enabled: analytics.identify( user_id, { 'anonymous_id': self.anonymous_id, 'installation_id': self.device_id, 'email': email, 'user_id': user_id, 'deviceId': user_id, # all DATE and TIME submissions need to be in ISO 8601 format 'createdAt': datetime.datetime.now().isoformat(), }, anonymous_id=self.anonymous_id, ) # Associate old unauthenticated events to post-authenticated events analytics.alias(self.anonymous_id, user_id) except Exception as except_err: logger.error( "Exception in send_identify while communicating to segment") logger.exception(except_err)
def test_alias(self): analytics.alias('previousId', 'userId') analytics.flush()
def test_alias(self): analytics.alias('previousId', 'userId') analytics.flush()
def test_alias(self): analytics.alias('previousId', 'distinct_id') analytics.flush()
properties = arguments["--properties"] if properties: properties = json.loads(properties) analytics.track(user_id = userId, anonymous_id=anonymousId, event = arguments["--event"], properties = properties, context = context, integrations = integrations) elif msgType == "screen": properties = arguments["--properties"] if properties: properties = json.loads(properties) analytics.screen(user_id = userId, anonymous_id=anonymousId, name = arguments["--name"], properties = properties, context = context, integrations = integrations) elif msgType == "page": properties = arguments["--properties"] if properties: properties = json.loads(properties) analytics.page(user_id = userId, anonymous_id=anonymousId, name = arguments["--name"], properties = properties, context = context, integrations = integrations) elif msgType == "alias": analytics.alias(user_id = userId, previousId=arguments["--previousId"]) elif msgType == "group": traits = arguments["--traits"] if traits: traits = json.loads(traits) analytics.group(user_id = userId, anonymous_id=anonymousId, group_id = arguments["--groupId"], traits = traits, context = context, integrations = integrations) elif msgType == "identify": traits = arguments["--traits"] if traits: traits = json.loads(traits) analytics.identify(user_id = userId, anonymous_id=anonymousId, traits = traits, context = context, integrations = integrations) else: raise Exception('Unknown argument') analytics.flush