def save_bangumi(data: WebsiteBangumi) -> None: """save bangumi to database""" b, obj_created = Bangumi.get_or_create(keyword=data.keyword, defaults=data.dict()) if not obj_created: should_save = False if data.cover and b.cover != data.cover: b.cover = data.cover should_save = True if data.update_time != "Unknown" and data.update_time != b.update_time: b.update_time = data.update_time should_save = True subtitle_group = Bangumi( subtitle_group=data.subtitle_group).subtitle_group if b.status != STATUS_UPDATING or b.subtitle_group != subtitle_group: b.status = STATUS_UPDATING b.subtitle_group = subtitle_group should_save = True if should_save: b.save() for subtitle_group in data.subtitle_group: (Subtitle.insert({ Subtitle.id: str(subtitle_group.id), Subtitle.name: str(subtitle_group.name), }).on_conflict_replace()).execute()
def save_data(data): """ save bangumi dict to database :type data: dict """ b, obj_created = Bangumi.get_or_create(name=data['name'], defaults=data) if not obj_created: b.status = STATUS_UPDATING b.subtitle_group = Bangumi(**data).subtitle_group b.cover = data['cover'] # if not b.cover.startswith(self.cover_url): # b.cover = self.cover_url + data['cover'] b.save()