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
예제 #2
0
 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
예제 #3
0
 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
예제 #4
0
 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
예제 #5
0
 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