コード例 #1
0
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
コード例 #2
0
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)