from json.tool import main
from faker import Faker
import json
import hashlib
import random
from generate_mac import generate_mac
import calendar
import time
connectivityType = ['bluetooth', 'nfc', 'wireless']
def gen_data():
current_GMT = time.gmtime()
time_stamp = calendar.timegm(current_GMT)
for i in range(1, 2000000):
data = {
"_id": "cin_"+str(hashlib.md5(str(i).encode()).hexdigest()),
"st": str(i),
"cr": str(hashlib.md5(str(i).encode()).hexdigest()),
"cnf": "text/plains:0",
"cs": str(i),
"con": {
"typeMessage":"updateData",
"dataMessage":{
"connectivityType": random.choice(connectivityType),
"properties":{
"command":"updateTrait",
"data":{
"deviceEUI": str(generate_mac.total_random()),
"child":"0x" + str(random.randrange(100, 9999)),
"trait":"traitOnOff",
"value":"0",
"timeStamp": time_stamp
}
}
}
},
"parentContainer": 'DBRef("CNT", "cnt-"'+str(hashlib.md5(str(i).encode()).hexdigest())+')',
"et": 'NumberLong(31536000)',
"ty": str(i),
"pi": "cnt-"+str(hashlib.md5(str(i).encode()).hexdigest()),
"ct": 'NumberLong(1630403618737)',
"lt": 'NumberLong(1630403618737)',
"rn": str(hashlib.md5(str(i).encode()).hexdigest()),
"huri": "in-name/ONEHome_VirtualDevice_mkox_1617815100021/cnt_telemetry/cin_"+str(hashlib.md5(str(i).encode()).hexdigest()),
"_class": "vn.vnpt.oneiot.common.entities.ContentInstanceEntity",
}
json_object = json.dumps(data, indent=4)
with open("test.json", "a") as outfile:
outfile.write(json_object)
if __name__ == "__main__":
gen_data()