-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrandomise_demo.py
More file actions
45 lines (34 loc) · 1.56 KB
/
randomise_demo.py
File metadata and controls
45 lines (34 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from os import getcwd
import json
import random
import datetime
def severity_gen():
return random.choice(["moderate", "severe"])
def type_gen():
return random.choice(["Wind", "Rain", "Snow", "Low Temperatures", "Fog", "High Temperatures", "Thunderstorms"])
def rand_time_delta():
dict = {'days': random.randint(0, 1), 'hours': random.randint(0, 9), 'minutes': random.randint(0, 59)}
return datetime.timedelta(**dict)
def randomise_demo_dates():
strformat = lambda x: x.strftime("%Y-%m-%dT%H:%M:%S%z") + "+00:00"
now = datetime.datetime.now()
with open(getcwd() + '\\' + "demo_weather_warning.json", "r") as f:
data = json.loads(f.read())
for i in range(4):
data[i]["type"] = type_gen()
data[i]["updated"] = strformat(now)
data[i]["issued"] = strformat((now - rand_time_delta()))
if i in [0, 2, 3]: # Normal. Expires in Future, Onset in Future
data[i]["onset"] = strformat((now + rand_time_delta()))
data[i]["expiry"] = strformat(
datetime.datetime.strptime(data[i]["onset"], "%Y-%m-%dT%H:%M:%S+00:00") + a
)
elif i == 1: # Expired. Onset in past, Expiry in past
a = rand_time_delta()
data[1]["onset"] = strformat((now - a))
data[1]["expiry"] = strformat(
datetime.datetime.strptime(data[1]["onset"], "%Y-%m-%dT%H:%M:%S+00:00") - a / 2)
with open(getcwd() + '\\' + "demo_weather_warning.json", "w") as f:
json.dump(data, f, indent=0)
if __name__ == '__main__':
randomise_demo_dates()