def test_DictProperty_keys_and_values(): dp = DictProperty(resultD.copy()) print() print("test_DictProperty_keys_and_values:") print(" keys:") for k in dp.keys(): print(" - {}".format(k)) print(" values:") for v in dp.values(): print(" - {}".format(k, v)) zip1 = dict(zip(dp.keys(), dp.values())) assert zip1 == resultD
class MainApp(App): def __init__(self, **kwargs): super().__init__(**kwargs) self.archive = DictProperty() self.manager = ObjectProperty() self.archive = {} # dummy archive # abc = [i for i in 'abcdefghifjklmnop'] # for i, a in enumerate(abc): # self.archive[str(i)] = str(a) self.date = StringProperty() self.date = str(datetime.date.today()) def build(self): try: self.load_json() except: print('[APP-INFO] No Archive found.') sm = Manager() self.manager = sm sm.add_widget(HomeScreen(name='Home')) sm.add_widget(EditScreen(name='New', date=str(self.date))) for key in self.archive.keys(): sm.add_widget( EditScreen(name=str(key), date=key, body=self.archive[key])) return sm def save_entry(self, date: str, text: str): assert isinstance(text, str) assert isinstance(date, str) print(date + ' ' + text) self.archive[date] = text if date not in self.manager.screen_names: self.manager.add_widget( EditScreen(name=str(date), date=date, body=text)) self.save_json() def save_json(self): with open('journal_data.txt', 'w') as outfile: json.dump(self.archive, outfile) def load_json(self): with open('journal_data.txt', 'r') as json_file: self.archive = json.load(json_file)