from pprint import pprint
import json
#Słowniki (Dictionaries), JSON

#Słownik
# student = {
#     "name": "Jan Kowalski",
#     "age" : 22

# }

# #JSON
# {
#     "name": "Jan Kowalski",
#     "age" : 22,
#     "courses":["Matematyka", "Informatyka"]
# }

# # serializacja i deserializacja (konwersja na pythone, albo tekst)

gra = {
    "Nazwa_gry": "gta",
    "data_wydania": 2013,
    "wydawca": "Rockstar games",
    "gatunek": "zycie gangstera"
}

# print(gra["wydawca"]) #BŁĄD 
# print(gra.get("Nazwa_gry"))

# for value in gra.values():
#     print(value)

# #iterowanie po kluczach słownika 


# for key in gra.keys():
#     print(key)

#iterowanie po parach klucz : wartosc 

# for item in gra.items():
#     print(item)

# #dodanie pary klucz : wartosc do słownika 
# gra.setdefault("PEGI", 18)
# print(gra)

#Usuniecie i zwrocenie wartosci 
# deleted = gra.pop("wydawca")
# print(deleted)
# print(gra)

# #usuniecie i zwrocenie ostatniej pary
# deleted = gra.popitem()
# print(deleted)
# print(gra)

# #jak chcemy po prostu cos wywalic i sie nie przejmowac 
# del gra["data_wydania"]
# print(gra)

# #Wywalamy wszystko
# gra.clear()
# print(gra)


# pprint(gra)


# json.dumps() -> konwenteruje slownik na JSON
# json.lads() => konwenteruje JSON na słownik 
# json.dump() -> zapisuje słownik w formacie JSON
# json.load() -> wczytuje dane JSON z pliku i zamienia na słownik 


# R jak chcemy czytac tylko plik
with open("spis_gier.json", "r") as file:
    spis_gier = json.load(file)

spis_gier["spis_gier"].append(gra)
pprint(spis_gier["spis_gier"])

# w jak chcemy edytowac/zmieniac plik
with open("test.json", "w") as file:
    json.dump(spis_gier, file, indent = 4, sort_keys = True)

