44import socket
55import warnings
66from datetime import datetime
7+ from uuid import uuid1
78
89from django .conf import settings
910from django .dispatch import Signal
@@ -64,12 +65,17 @@ def generate_signal_metadata(self):
6465 'sourcelib: '0.1.0',
6566 }
6667 """
68+ def generate_uuid ():
69+ """
70+ Generate events id based on UUID version 1.
71+ """
72+ return uuid1 ()
6773
6874 def get_current_time ():
6975 """
7076 Getter function used to get timestamp when the event ocurred.
7177 """
72- return datetime .now (). strftime ( "%Y-%m-%dT%H:%M:%SZ" )
78+ return datetime .utcnow ( )
7379
7480 def get_source ():
7581 """
@@ -85,28 +91,19 @@ def get_source_host():
8591 """
8692 return socket .gethostname ()
8793
88- def get_spec_version ():
89- """
90- Getter function used to obtain CloudEvents version.
91-
92- This field is added to be compliant with OEP-41, it's not
93- necessarily significant to the Open edX events metadata.
94- """
95- return "1.0"
96-
9794 def get_source_lib ():
9895 """
9996 Getter function used to obtain Open edX Events version.
10097 """
10198 return openedx_events .__version__
10299
103100 return {
101+ "id" : generate_uuid (),
104102 "event_type" : self .event_type ,
105103 "minorversion" : self .minor_version ,
106104 "time" : get_current_time (),
107105 "source" : get_source (),
108106 "sourcehost" : get_source_host (),
109- "specversion" : get_spec_version (),
110107 "sourcelib" : get_source_lib (),
111108 }
112109
0 commit comments