Skip to content

Commit 0babeb7

Browse files
author
Inbal Tako
committed
Fix event parsing
1 parent 3c1601a commit 0babeb7

File tree

5 files changed

+43
-26
lines changed

5 files changed

+43
-26
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.2.4
1+
0.2.5

securenative/event_manager.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -132,20 +132,20 @@ def serialize(obj):
132132
"eventType": obj.event_type,
133133
"userId": obj.user_id,
134134
"userTraits": {
135-
"name": obj.user_traits.name,
136-
"email": obj.user_traits.email,
137-
"phone": obj.user_traits.phone,
138-
"createdAt": obj.user_traits.created_at,
135+
"name": obj.user_traits.name if obj.user_traits else "",
136+
"email": obj.user_traits.email if obj.user_traits else "",
137+
"phone": obj.user_traits.phone if obj.user_traits else "",
138+
"createdAt": obj.user_traits.created_at if obj.user_traits else "",
139139
},
140140
"request": {
141-
"cid": obj.request.cid,
142-
"vid": obj.request.vid,
143-
"fp": obj.request.fp,
144-
"ip": obj.request.ip,
145-
"remoteIp": obj.request.remote_ip,
146-
"method": obj.request.method,
147-
"url": obj.request.url,
148-
"headers": obj.request.headers
141+
"cid": obj.request.cid if obj.request else "",
142+
"vid": obj.request.vid if obj.request else "",
143+
"fp": obj.request.fp if obj.request else "",
144+
"ip": obj.request.ip if obj.request else "",
145+
"remoteIp": obj.request.remote_ip if obj.request else "",
146+
"method": obj.request.method if obj.request else "",
147+
"url": obj.request.url if obj.request else "",
148+
"headers": obj.request.headers if obj.request else None
149149
},
150150
"timestamp": obj.timestamp,
151151
"properties": obj.properties,

securenative/models/sdk_event.py

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from securenative.context.context_builder import ContextBuilder
44
from securenative.models.request_context import RequestContextBuilder
5+
from securenative.models.user_traits import UserTraits
56
from securenative.utils.date_utils import DateUtils
67
from securenative.utils.encryption_utils import EncryptionUtils
78

@@ -14,21 +15,34 @@ def __init__(self, event_options, securenative_options):
1415
else:
1516
self.context = ContextBuilder.default_context_builder().build()
1617

17-
client_token = EncryptionUtils.decrypt(self.context.client_token, securenative_options.api_key)
18+
if self.context.client_token:
19+
client_token = EncryptionUtils.decrypt(self.context.client_token, securenative_options.api_key)
20+
else:
21+
client_token = None
22+
23+
if event_options.user_traits and isinstance(event_options.user_traits, dict):
24+
user_traits = UserTraits(event_options.user_traits.get("name", ""),
25+
event_options.user_traits.get("email", ""),
26+
event_options.user_traits.get("phone", ""),
27+
event_options.user_traits.get("created_at", ""))
28+
elif event_options.user_traits:
29+
user_traits = event_options.user_traits
30+
else:
31+
user_traits = UserTraits()
1832

1933
self.rid = str(uuid.uuid4())
20-
self.event_type = event_options.event.value
21-
self.user_id = event_options.user_id
22-
self.user_traits = event_options.user_traits
34+
self.event_type = event_options.event if event_options.event else ""
35+
self.user_id = event_options.user_id if event_options.user_id else ""
36+
self.user_traits = user_traits
2337
self.request = RequestContextBuilder() \
2438
.with_cid(client_token.cid if client_token else "") \
2539
.with_vid(client_token.vid if client_token else "") \
2640
.with_fp(client_token.fp if client_token else "") \
27-
.with_ip(self.context.ip) \
28-
.with_remote_ip(self.context.remote_ip) \
29-
.with_method(self.context.method) \
30-
.with_url(self.context.url) \
31-
.with_headers(self.context.headers) \
41+
.with_ip(self.context.ip if self.context.ip else "") \
42+
.with_remote_ip(self.context.remote_ip if self.context.remote_ip else "") \
43+
.with_method(self.context.method if self.context.method else "") \
44+
.with_url(self.context.url if self.context.url else "") \
45+
.with_headers(self.context.headers if self.context.headers else None) \
3246
.build()
3347

3448
self.timestamp = DateUtils.to_timestamp(event_options.timestamp)

securenative/utils/date_utils.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ class DateUtils(object):
55

66
@staticmethod
77
def to_timestamp(date):
8-
if not date:
9-
return datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z'
10-
return datetime.strptime(date, '%Y-%m-%dT%H:%M:%S.%f'[:-3] + 'Z')
8+
try:
9+
if not date or date is "":
10+
return datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z'
11+
return datetime.strptime(date, '%Y-%m-%dT%H:%M:%S.%f'[:-3] + 'Z')
12+
except Exception:
13+
return ""

securenative/utils/version_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ class VersionUtils(object):
22

33
@staticmethod
44
def get_version():
5-
return "0.2.4"
5+
return "0.2.5"

0 commit comments

Comments
 (0)