Değerli üstatlar merhaba.
Elimde olan json verisi şu şekilde ;
{
"user_id": 23092833316,
"firstName": "Ahmet",
"lastName": "Bilmemne",
"email": "Ahmet@outlook.com",
"username": "Ahmetce",
"password": "225c7b7f0cd74e1627fbf7786e58e12625e77a7904f9c13a63217a5a85a2461f:c5b07bae800446bdb5b9f603885593cb",
"accountKEY": "7US2-AN6I-K8ZR-OFHE-1BGY-45L9",
"register_date": "Fri Oct 29 23:47:27 2021",
"accessLevel": "Customer"
}
Bu veriyi şu hale getirebilmem mümkün mü ?
"23092833316" : {
"firstName": "Ahmet",
"lastName": "Bilmemne",
"email": "Ahmet@outlook.com",
"username": "Ahmetce",
"password": "225c7b7f0cd74e1627fbf7786e58e12625e77a7904f9c13a63217a5a85a2461f:c5b07bae800446bdb5b9f603885593cb",
"accountKEY": "7US2-AN6I-K8ZR-OFHE-1BGY-45L9",
"register_date": "Fri Oct 29 23:47:27 2021",
"accessLevel": "Customer"
}
}
Bunu nasıl yapabilirim ?
Kodlarım :
import sqlite3 as sqlite
import Generator
import os
import json
import datetime
import GeneralSecure
# Account Management
class Account:
# Props
def __init__(self, user_id, firstName, lastName,
email, accessLevel, username, password,
accountKEY, register_date):
#, Get & Set?
self.user_id = user_id
self.firstName = firstName
self.lastName = lastName
self.email = email
self.username = username
self.password = password
self.accountKEY = accountKEY
self.register_date = register_date
self.accessLevel = accessLevel
class UserRepository:
def __init__(self):
self.users = []
self.staff = []
self.IsLoggedIn = False # By default, login is not available.
self.currentUser = {}
self.loadUsers()
def loadUsers(self):
try:
# Eğer AccInformation.json dosyası varsa...
if os.path.exists('AccInformation.json'): # True ise......
with open('AccInformation.json', 'r', encoding='utf-8') as file:
users = json.load(file)
for user in users:
newUser = Account(
user_id = user['user_id'],
firstName = user['firstName'],
lastName = user['lastName'],
email = user['email'],
accessLevel = user['accessLevel'],
username = user['username'],
password = user['password'],
accountKEY = user['accountKEY'],
register_date = user['register_date'])
self.users.append(newUser)
#print(self.users)
else:
print("""File named 'AcInformation' could not be found.""")
# TODO: We'll check the "except" block in detail later.
except json.decoder.JSONDecodeError:
pass
# We want the type of user information coming from outside to be Account.
def accountRegister(self, user: Account):
# USER ID (AUTO)
igenerator = Generator.Production()
user.user_id = igenerator.id_generator()
# Account KEY (AUTO)
user.accountKEY = igenerator.license_generator()
# Register Date
gay = datetime.datetime.now() # Gün / ay / yıl
user.register_date = datetime.datetime.ctime(gay)
self.users.append(user)
self.saveToFile()
def saveToFile(self):
list = []
for user in self.users:
list.append(user.__dict__)
with open('AccInformation.json', 'w', encoding='utf-8') as file: # We send the list and save it in the file.
json.dump(list, file, indent=1)
# Müşteri(customer) Account oluşturma
def CustomerAccount(self, _firstName, _lastName, _email, _username, _password):
repository = UserRepository()
self.password = _password
convertHashPassword = GeneralSecure.SecurePassword.hash_password(self.password) # Convert to hash pass.
accessLevel = "Customer"
customer = Account("1", _firstName, _lastName, _email, accessLevel, _username, convertHashPassword, "1", "1")
repository.accountRegister(customer)
#test
register = UserRepository()
register.CustomerAccount("Ahmet", "Bilmemne", "Ahmet@outlook.com", "Ahmetce", "123456789")