diff --git a/.idea/edx-xapi-bridge.iml b/.idea/edx-xapi-bridge.iml
new file mode 100644
index 0000000..6711606
--- /dev/null
+++ b/.idea/edx-xapi-bridge.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..97626ba
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..c23ecac
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..1c9a037
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..87a7f9d
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xapi-bridge/__main__.py b/xapi-bridge/__main__.py
index 4f6e020..3f8089c 100644
--- a/xapi-bridge/__main__.py
+++ b/xapi-bridge/__main__.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
import sys, os, json, requests, threading
from urlparse import urljoin
from pyinotify import WatchManager, Notifier, EventsCodes, ProcessEvent
diff --git a/xapi-bridge/converter.py b/xapi-bridge/converter.py
index 02e2781..b0c8857 100644
--- a/xapi-bridge/converter.py
+++ b/xapi-bridge/converter.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
import json, re, xml.etree.ElementTree as ET
@@ -65,7 +66,7 @@ def to_xapi(evt):
},
'context': {
'contextActivities': {
- 'parent': [{'id': 'i4x://'+evt['context']['course_id']}]
+ 'parent': [{'id': 'i4x:'+evt['context']['course_id']}]
}
}
})
@@ -104,7 +105,7 @@ def to_xapi(evt):
},
'context': {
'contextActivities': {
- 'parent': [{'id': 'i4x://'+evt['context']['course_id']}]
+ 'parent': [{'id': 'i4x:'+evt['context']['course_id']}]
}
}
})
@@ -126,14 +127,14 @@ def to_xapi(evt):
},
'object': {
'objectType': 'Activity',
- 'id': 'i4x://' + evt['context']['course_id'] + event['id'],
+ 'id': 'i4x:' + evt['context']['course_id'] + event['id'],
'definition': {
'name': {'en-US': "Loaded Video" }
}
},
'context': {
'contextActivities': {
- 'parent': [{'id': 'i4x://'+evt['context']['course_id']}]
+ 'parent': [{'id': 'i4x:'+evt['context']['course_id']}]
}
}
})
@@ -154,7 +155,7 @@ def to_xapi(evt):
},
'object': {
'objectType': 'Activity',
- 'id': 'i4x://' + evt['context']['course_id'] + event['id'],
+ 'id': 'i4x:' + evt['context']['course_id'] + event['id'],
'definition': {
'name': {'en-US': "Played Video" }
}
@@ -166,7 +167,7 @@ def to_xapi(evt):
},
'context': {
'contextActivities': {
- 'parent': [{'id': 'i4x://'+evt['context']['course_id']}]
+ 'parent': [{'id': 'i4x:'+evt['context']['course_id']}]
}
}
})
@@ -187,7 +188,7 @@ def to_xapi(evt):
},
'object': {
'objectType': 'Activity',
- 'id': 'i4x://' + evt['context']['course_id'] + event['id'],
+ 'id': 'i4x:' + evt['context']['course_id'] + event['id'],
'definition': {
'name': {'en-US': "Paused Video" }
}
@@ -199,7 +200,7 @@ def to_xapi(evt):
},
'context': {
'contextActivities': {
- 'parent': [{'id': 'i4x://'+evt['context']['course_id']}]
+ 'parent': [{'id': 'i4x:'+evt['context']['course_id']}]
}
}
})
@@ -220,7 +221,7 @@ def to_xapi(evt):
},
'object': {
'objectType': 'Activity',
- 'id': 'i4x://' + evt['context']['course_id'] + event['id'],
+ 'id': 'i4x:' + evt['context']['course_id'] + event['id'],
'definition': {
'name': {'en-US': "Completed Video" }
}
@@ -232,7 +233,7 @@ def to_xapi(evt):
},
'context': {
'contextActivities': {
- 'parent': [{'id': 'i4x://'+evt['context']['course_id']}]
+ 'parent': [{'id': 'i4x:'+evt['context']['course_id']}]
}
}
})
@@ -253,7 +254,7 @@ def to_xapi(evt):
},
'object': {
'objectType': 'Activity',
- 'id': 'i4x://' + evt['context']['course_id'] + event['id'],
+ 'id': 'i4x:' + evt['context']['course_id'] + event['id'],
'definition': {
'name': {'en-US': "Video seek" }
}
@@ -267,7 +268,7 @@ def to_xapi(evt):
},
'context': {
'contextActivities': {
- 'parent': [{'id': 'i4x://'+evt['context']['course_id']}]
+ 'parent': [{'id': 'i4x:'+evt['context']['course_id']}]
}
}
})
@@ -288,7 +289,7 @@ def to_xapi(evt):
},
'object': {
'objectType': 'Activity',
- 'id': 'i4x://' + evt['context']['course_id'] + event['id'],
+ 'id': 'i4x:' + evt['context']['course_id'] + event['id'],
'definition': {
'name': {'en-US': "Video speed change" }
}
@@ -302,7 +303,7 @@ def to_xapi(evt):
},
'context': {
'contextActivities': {
- 'parent': [{'id': 'i4x://'+evt['context']['course_id']}]
+ 'parent': [{'id': 'i4x:'+evt['context']['course_id']}]
}
}
})
@@ -323,7 +324,7 @@ def to_xapi(evt):
},
'object': {
'objectType': 'Activity',
- 'id': 'i4x://' + evt['context']['course_id'] + event['id'],
+ 'id': 'i4x:' + evt['context']['course_id'] + event['id'],
'definition': {
'name': {'en-US': "Video transcript hidden" }
}
@@ -335,7 +336,7 @@ def to_xapi(evt):
},
'context': {
'contextActivities': {
- 'parent': [{'id': 'i4x://'+evt['context']['course_id']}]
+ 'parent': [{'id': 'i4x:'+evt['context']['course_id']}]
}
}
})
@@ -356,7 +357,7 @@ def to_xapi(evt):
},
'object': {
'objectType': 'Activity',
- 'id': 'i4x://' + evt['context']['course_id'] + event['id'],
+ 'id': 'i4x:' + evt['context']['course_id'] + event['id'],
'definition': {
'name': {'en-US': "Video transcript shown" }
}
@@ -368,7 +369,7 @@ def to_xapi(evt):
},
'context': {
'contextActivities': {
- 'parent': [{'id': 'i4x://'+evt['context']['course_id']}]
+ 'parent': [{'id': 'i4x:'+evt['context']['course_id']}]
}
}
})