def InsertRevision(self, url: str): url = self.__GetServiceUrl(url) data = WebServiceData() # data = WebServiceData.WebServiceData() data.Get(url) service_record = self.__services['Services'].find_one(Url=url) if None is service_record: self.__InsertService(data) self.__InsertFavicon(data) print('InsertRevision 挿入しました。: {0}'.format(url)) else: self.__UpdateService(data) favicon_record = self.__favicons['Favicons'].find_one( ServiceId=service_record['Id']) print('InsertRevision 更新しました。: {0}'.format(url)) if data.Content != favicon_record['Content']: self.__InsertRevisionFavicon(favicon_record, service_record['Id']) self.__UpdateFavicon(data, service_record['Id']) print('InsertRevision 古いファビコンをOldFaviconに登録しました。: {0}'.format( url)) # ファビコン変更時にしか画面更新しない(タイトル変更時には画面更新しない) # if data.Content == favicon_record['Content']: # return None # else: # self.__InsertRevisionFavicon(favicon_record, service_record['Id']) # self.__UpdateFavicon(data, service_record['Id']) # print('InsertRevision 古いファビコンをOldFaviconに登録しました。: {0}'.format(url)) return data
def Loads(self) -> WebServiceData: for record in self.__services['Services']: data = WebServiceData() data.Load( record, self.__favicons['Favicons'].find_one(ServiceId=record['Id'])) yield data
def InsertGet(self, url: str): url = self.__GetServiceUrl(url) service_record = self.__services['Services'].find_one(Url=url) if None is not service_record: print('InsertGet 既存のため挿入中止します: {0}'.format(url)) return None data = WebServiceData() data.Get(url) self.__InsertService(data) self.__InsertFavicon(data) print('InsertGet 挿入しました。: {0}'.format(url)) return data
def __LoadFromUrl(self, url: str, if_none=None) -> WebServiceData: url = self.__GetServiceUrl(url) data = WebServiceData() record = self.__services.find_one(Url=url) if None is record: if None is if_none: return else: if_none(url) # self.InsertRevision, self.Upsert, self.Insert data.Load( record, self.__favicons['Favicons'].find_one( ServiceId=record['Id'])['Content']) return data
def Upsert(self, url: str): url = self.__GetServiceUrl(url) data = WebServiceData() data.Get(url) service_record = self.__services['Services'].find_one(Url=url) if None is service_record: self.__InsertService(data) self.__InsertFavicon(data) print('Upsert 挿入しました。: {0}'.format(url)) else: self.__UpdateService(data) self.__UpdateFavicon(data) print('Upsert 更新しました。: {0}'.format(url)) favicon_record = self.__favicons['Favicons'].find_one( ServiceId=service_record['Id']) return data
def Upsert(self, url: str): url = self.__GetServiceUrl(url) data = WebServiceData() # data = WebServiceData.WebServiceData() data.Get(url) service_record = self.__services['Services'].find_one(Url=url) if None is service_record: self.__InsertService(data) self.__InsertFavicon(data) print('Upsert 挿入しました。: {0}'.format(url)) else: self.__UpdateService(data) self.__UpdateFavicon(data) print('Upsert 更新しました。: {0}'.format(url)) favicon_record = self.__favicons['Favicons'].find_one( ServiceId=service_record['Id']) # ファビコン変更時にしか画面更新しない(タイトル変更時には画面更新しない) # if data.Content == favicon_record['Content']: # return None return data