Commit fe906f42 by Shirley He

convert date to obj

parent 2fd27d7a
......@@ -9,6 +9,8 @@ from itertools import product
from itertools import permutations
import sys
import json
import datetime
import pytz
def parse_field_arguments():
......@@ -62,25 +64,35 @@ def parse_field_arguments():
# json.dump(fields, outfile)
def generate_permutations(fields, index, results, current):
allKeys = fields.keys()
optionKey = allKeys[index]
all_permutations_keys = fields.keys()
permutation_option = all_permutations_keys[index]
values = fields[optionKey]
# print values
values = fields[permutation_option]
for i in range(len(values)):
current[optionKey] = values[i]
if index+1 < len(allKeys):
# add other required default fields to dict
current["organization"] = "RITX"
# generate different organization number for each course
organization_number = "PM9003"+str(i)+"x"
current["number"] = organization_number
current["run"] = "3T2017"
current["user"] = "edx@example.com"
# add permutation fields to dict
current[permutation_option] = values[i]
now = datetime.datetime.now(pytz.UTC)
if values[i] == "future":
future = str(now + datetime.timedelta(days=365))
current[permutation_option] = future
if values[i] == "past":
past = str(now - datetime.timedelta(days=60))
current[permutation_option] = past
if index+1 < len(all_permutations_keys):
generate_permutations(fields, index+1, results, current)
print current
results.append(current.copy())
# print results
# print current
results.append(current.copy())
with open("test_courses.json", "w") as outfile:
json.dump(results, outfile)
......
{
"permutation_data": {
"display_name": [
"International Project Management",
"Cybersecurity Fundamentals",
"",
null
],
"start": [
"past",
"future",
......@@ -24,12 +30,7 @@
[],
null
],
"display_name": [
"International Project Management",
"Cybersecurity Fundamentals",
"",
null
],
"mobile_available": [
true,
false,
......
[
{
"start": "past",
"end": "past",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": "2017-06-08 17:20:12.457841+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90030x",
"display_name": "International Project Management"
},
{
"start": "past",
"end": "past",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": "2017-06-08 17:20:12.457841+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90031x",
"display_name": "Cybersecurity Fundamentals"
},
{
"start": "past",
"end": "past",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": "2017-06-08 17:20:12.457841+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90032x",
"display_name": ""
},
{
"start": "past",
"end": "past",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": "2017-06-08 17:20:12.457841+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": "past",
"end": "past",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": "2017-06-08 17:20:12.457841+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": "past",
"end": "future",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": "2018-08-07 17:20:12.458054+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90030x",
"display_name": "International Project Management"
},
{
"start": "past",
"end": "future",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": "2018-08-07 17:20:12.458054+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90031x",
"display_name": "Cybersecurity Fundamentals"
},
{
"start": "past",
"end": "future",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": "2018-08-07 17:20:12.458054+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90032x",
"display_name": ""
},
{
"start": "past",
"end": "future",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": "2018-08-07 17:20:12.458054+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": "past",
"end": "future",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": "2018-08-07 17:20:12.458054+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": "past",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90030x",
"display_name": "International Project Management"
},
{
"start": "past",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90031x",
"display_name": "Cybersecurity Fundamentals"
},
{
"start": "past",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90032x",
"display_name": ""
},
{
"start": "past",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": "past",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": "past",
"start": "2017-06-08 17:20:12.457819+00:00",
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": "future",
"end": "past",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": "2017-06-08 17:20:12.459991+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90030x",
"display_name": "International Project Management"
},
{
"start": "future",
"end": "past",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": "2017-06-08 17:20:12.459991+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90031x",
"display_name": "Cybersecurity Fundamentals"
},
{
"start": "future",
"end": "past",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": "2017-06-08 17:20:12.459991+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90032x",
"display_name": ""
},
{
"start": "future",
"end": "past",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": "2017-06-08 17:20:12.459991+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": "future",
"end": "past",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": "2017-06-08 17:20:12.459991+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": "future",
"end": "future",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": "2018-08-07 17:20:12.460487+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90030x",
"display_name": "International Project Management"
},
{
"start": "future",
"end": "future",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": "2018-08-07 17:20:12.460487+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90031x",
"display_name": "Cybersecurity Fundamentals"
},
{
"start": "future",
"end": "future",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": "2018-08-07 17:20:12.460487+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90032x",
"display_name": ""
},
{
"start": "future",
"end": "future",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": "2018-08-07 17:20:12.460487+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": "future",
"end": "future",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": "2018-08-07 17:20:12.460487+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": "future",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90030x",
"display_name": "International Project Management"
},
{
"start": "future",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90031x",
"display_name": "Cybersecurity Fundamentals"
},
{
"start": "future",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90032x",
"display_name": ""
},
{
"start": "future",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": "future",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": "future",
"start": "2018-08-07 17:20:12.459968+00:00",
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": null,
"end": "past",
"end": "2017-06-08 17:20:12.462486+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90030x",
"display_name": "International Project Management"
},
{
"start": null,
"end": "past",
"end": "2017-06-08 17:20:12.462486+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90031x",
"display_name": "Cybersecurity Fundamentals"
},
{
"start": null,
"end": "past",
"end": "2017-06-08 17:20:12.462486+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90032x",
"display_name": ""
},
{
"start": null,
"end": "past",
"end": "2017-06-08 17:20:12.462486+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": null,
"end": "past",
"end": "2017-06-08 17:20:12.462486+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": null,
"end": "future",
"end": "2018-08-07 17:20:12.463232+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90030x",
"display_name": "International Project Management"
},
{
"start": null,
"end": "future",
"end": "2018-08-07 17:20:12.463232+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90031x",
"display_name": "Cybersecurity Fundamentals"
},
{
"start": null,
"end": "future",
"end": "2018-08-07 17:20:12.463232+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90032x",
"display_name": ""
},
{
"start": null,
"end": "future",
"end": "2018-08-07 17:20:12.463232+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": null,
"end": "future",
"end": "2018-08-07 17:20:12.463232+00:00",
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": null,
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90030x",
"display_name": "International Project Management"
},
{
"start": null,
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90031x",
"display_name": "Cybersecurity Fundamentals"
},
{
"start": null,
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90032x",
"display_name": ""
},
{
"start": null,
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": null,
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
},
{
"start": null,
"end": null,
"user": "edx@example.com",
"organization": "RITX",
"run": "3T2017",
"number": "PM90033x",
"display_name": null
}
]
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment