import pickle import os import shutil class cls_debitors: items = [] file_path = "" def __init__(self, filepath=".temp"): self.items = [] self.file_path = filepath if not os.path.exists(self.file_path): os.makedirs(os.path.abspath(self.file_path)) if not os.path.isfile(os.path.join(self.file_path, f"debitors.bin")): shutil.copy("debitors_src.bin", os.path.join(self.file_path, f"debitors.bin")) self.load_debitors() def print_all_debs(self): for elem in self.items: print(f"Débiteur:{elem.code} {elem.names}") def get_deb_by_code(self, code): for deb in self.items: if deb.code == int(code): return deb return None def get_names_by_code(self, code): default = [] if int(code) < 100: return default for deb in self.items: # items contient l’ensemble des objects détiteur provenant d’un export BDD if deb.code == int(code): return deb.names return default def is_in_debitor_name(self, code, search_name): names = self.get_names_by_code(code) if search_name in names: return True return False def add_items(self, code, name): for deb in self.items: if deb.code == int(code): deb.add_name(name) return deb = cls_debitor() deb.code = int(code) deb.add_name(name) self.items.append(deb) def save_debitors(self): if len(self.items) > 0: with open(os.path.join(self.file_path, f"debitors.bin"), "wb") as file: pickle.dump(self.items, file) def load_debitors(self): try: with open(os.path.join(self.file_path, f"debitors.bin"), "rb") as file: self.items = pickle.load(file) except: print("Erreur lecture fichier débiteur") class cls_debitor: code = "" names = [] def __init__(self): self.code = "" self.names = [] def add_name(self, name): self.names.append(name) o_debs = cls_debitors(filepath=os.getenv('APPDATA') + '\Attrib2Biz\.temp') ''' o_deb = cls_debitor() o_deb.code = 100 o_deb.add_name("HRC Rennaz") o_deb.add_name("Hôpital riviera chablais Rennaz") o_debs.items.append(o_deb) o_deb = cls_debitor() o_deb.code = 101 o_deb.add_name("HVS") o_debs.items.append(o_deb) o_debs.add_items(102,"Clinique Bernoise Montana - Secrétariat médical") o_debs.add_items(102,"Clinique Bernoise Montana") o_debs.add_items(100,'Hôpital Riviera-Chablais Vaud-Valais - Fournisseurs ') o_debs.add_items(101,'Hôpital du Valais - Direction des Finances/Service des fournisseurs ') o_debs.add_items(102,'Clinique Bernoise Montana - Secrétariat médical ') o_debs.add_items(103,'Clinique Genevoise de Montana - Comptabilité ') o_debs.add_items(104,'Clinique SUVA - Comptabilité ') o_debs.add_items(105,'Fondation de Nant - Comptabilité ') o_debs.add_items(106,"Service de l'action sociale - Office de l'asile - Administration RAValais") o_debs.add_items(107,'OCVS - Comptabilité') o_debs.add_items(108,'Suva Aarau - Service Center') o_debs.add_items(109,'Suva Basel - Service Center') o_debs.add_items(110,'Suva Bellinzona - Assicurazione militare - Service Center') o_debs.add_items(111,'Suva Bellinzona - Service Center') o_debs.add_items(112,'Suva Bern - Militärversicherung - Service Center') o_debs.add_items(113,'Suva Chur - Service Center') o_debs.add_items(114,'Suva Delémont - Service Center') o_debs.add_items(115,'Suva Fribourg - Service Center') o_debs.add_items(116,'Suva Genève - Assurance militaire - Service Center') o_debs.add_items(117,'Suva Genève - Service Center') o_debs.add_items(118,'Suva La Chaux-de-Fonds - Service Center') o_debs.add_items(119,'Suva Lausanne - Service Center') o_debs.add_items(120,'Suva Luzern - Service Center') o_debs.add_items(121,'Suva Sion - Service Center') o_debs.add_items(122,'Suva Solothurn - Service Center') o_debs.add_items(123,'Suva St-Gallen - Militärversicherung - Service Center') o_debs.add_items(124,'Suva Zurich - Service Center') o_debs.add_items(125,'Antaé - Allianz Worldwide Care') o_debs.add_items(126,'Terre des Hommes - Soins aux Enfants ') o_debs.add_items(127,'REGA') o_debs.add_items(128,'CNAS Assistance') o_debs.add_items(129,'Clinique Lucernoise Montana - Comptabilité ') o_debs.add_items(130,'AAA Alpine Air Ambulance AG') o_debs.add_items(131,'CHUV') o_debs.add_items(132,'Clinique CIC Collombey SA - c/o Clinique CIC Suisse SA ') o_debs.add_items(133,'Clinique CIC Montreux SA ') o_debs.add_items(134,'Clinique CIC Saxon SA - c/o Clinique CIC Saxon SA ') o_debs.add_items(135,'Clinique CIC Suisse SA ') o_debs.add_items(136,'MedSTAR - Swiss Mobile Healthcare Alliance Sàrl') o_debs.add_items(137,'RFSM - Réseau fribourgeois de santé mentale ') o_debs.add_items(138,'Swiss Medical Network - GSMN Suisse SA - Clinique de Genolier') o_debs.add_items(139,'Swiss Medical Network - GSMN Suisse SA - Clinique de Montchoisi') o_debs.add_items(140,'Swiss Medical Network - GSMN Suisse SA - Clinique Valmont') o_debs.add_items(141,'Swiss Medical Network - Swiss Medical Network Hospitals SA - Hôpital de la Providence') o_debs.add_items(142,'Swiss Medical Network - Swiss Medical Network Hospitals SA - Clinique Montbrillant') o_debs.add_items(143,'Swiss Medical Network - Swiss Medical Network Hospitals SA - Clinique Générale Ste-Anne') o_debs.add_items(144,'Swiss Medical Network - Swiss Medical Network Hospitals SA - Clinique de Valère') o_debs.add_items(146,'Leukerbad Clinic - Comptabilité') o_debs.add_items(147,'Hôpital psychiatrique de Belle-Idée') o_debs.add_items(148,'Direction générale de la Santé VD') o_debs.add_items(149,'Swiss Risk & Care') o_debs.save_debitors() '''