import mongo import pymongo import random import bson class Open5GS: def __init__(self, server, port): self.server = server self.port = port def GetSubscribers(self): myclient = pymongo.MongoClient("mongodb://" + str(self.server) + ":" + str(self.port) + "/") mydb = myclient["open5gs"] mycol = mydb["subscribers"] subs_list = [] for x in mycol.find(): print(x) subs_list.append(x) pass return subs_list def GetSubscriber(self, imsi): myclient = pymongo.MongoClient("mongodb://" + str(self.server) + ":" + str(self.port) + "/") mydb = myclient["open5gs"] mycol = mydb["subscribers"] myquery = { "imsi": str(imsi)} mydoc = mycol.find(myquery) for x in mydoc: print(x) return x def AddSubscriber(self, sub_data): myclient = pymongo.MongoClient("mongodb://" + str(self.server) + ":" + str(self.port) + "/") mydb = myclient["open5gs"] mycol = mydb["subscribers"] x = mycol.insert_one(sub_data) print("Added subscriber with Inserted ID : " + str(x.inserted_id)) return x.inserted_id def UpdateSubscriber(self, imsi, sub_data): myclient = pymongo.MongoClient("mongodb://" + str(self.server) + ":" + str(self.port) + "/") mydb = myclient["open5gs"] mycol = mydb["subscribers"] print("Attempting to update IMSI " + str(imsi)) newvalues = { "$set": sub_data } myquery = { "imsi": str(imsi)} x = mycol.update_one(myquery, newvalues) print(x) return True def DeleteSubscriber(self, imsi): myclient = pymongo.MongoClient("mongodb://" + str(self.server) + ":" + str(self.port) + "/") mydb = myclient["open5gs"] mycol = mydb["subscribers"] myquery = { "imsi": str(imsi)} x = mycol.delete_many(myquery) print(x.deleted_count, " subscribers deleted.") return x.deleted_count