# -*- coding: utf-8 -*-
"""
Created on Wed Mar  4 00:56:40 2026

@author: scige
"""
import pprint
import time
import datetime
#%%
class Ruota:
    _idContatore=2026.
    def __init__(self,numerSeriale):
        Ruota._idContatore+=0.000001
        self.id=Ruota._idContatore
        self.creazione=datetime.datetime.now()
        

mioDict={}
for ii in range(10):
    miaRuota=Ruota(ii)
    mioDict[ii]=miaRuota
    time.sleep(0.125)
pprint.pprint(mioDict)

#%%
import inspect
class RuotaParlante(Ruota):
    def get_any_field(self, field_name):
        # Accede a self.field_name dinamicamente
        return getattr(self, field_name, "Campo non trovato")
    def __str__(self):
        
        fields=dir(self)
        fields=[field for field in fields if not field.startswith("_") ]
        fields=[field for field in fields if not inspect.ismethod(getattr(self, field)) ]
        
        retVal={'class':__class__.__name__}
        for field_name in fields:
            value=getattr(self, field_name, "Campo non trovato")
            if type(value) is datetime.datetime:
                value=value.strftime("%Y%m%d_%H%M%S")
            retVal[field_name] = value
        return str(retVal)

for ii in range(10):
    miaRuota=RuotaParlante(ii)
    mioDict[10+ii]=miaRuota
    time.sleep(0.125)
    
for ii in mioDict:
    print(f"mioDict[{ii}] : {mioDict[ii]}")
