def __next__(self): if self.data_lines is None: self.open_next_file() try: data_lines = next(self.data_lines) elements = data_lines.split('~') except StopIteration: self.open_next_file() elements = next(self.data_lines).split('~') if len(elements) != NUMBER_OF_ELEMENTS_PER_LINE: logger.debug("Did not find 45 elements as expected in titelive" + " line. Skipping line") return None self.infos = get_infos_from_data_line(elements) self.extraData = {} self.thing_type, self.extraData[ 'bookFormat'] = get_thing_type_and_extra_data_from_titelive_type( self.infos['code_support']) if self.thing_type is None: return None providable_info = ProvidableInfo() providable_info.type = Product providable_info.idAtProviders = self.infos['ean13'] providable_info.dateModifiedAtProvider = read_things_date( self.infos['date_updated']) return providable_info
def create_providable_info(self, model_object: PcObject) -> ProvidableInfo: providable_info = ProvidableInfo() providable_info.type = model_object providable_info.idAtProviders = "%s@%s" % (self.titelive_stock['ref'], self.venue_siret) providable_info.dateModifiedAtProvider = datetime.utcnow() return providable_info
def retrieve_providable_info(self) -> ProvidableInfo: providable_info = ProvidableInfo() providable_info.idAtProviders = \ f"{self.application_details['structureId']}|{self.application_details['venueId']}" providable_info.type = BankInformation providable_info.dateModifiedAtProvider = self.application_details['updated_at'] return providable_info
def retrieve_providable_info(self): providable_info = ProvidableInfo() providable_info.idAtProviders = self.bank_information_dict[ 'idAtProviders'] providable_info.type = BankInformation providable_info.dateModifiedAtProvider = datetime.strptime( self.application_details['dossier']['updated_at'], DATE_ISO_FORMAT) return providable_info
def __next__(self): if self.description_zip_infos is None: self.open_next_file() self.description_zipinfo = next(self.description_zip_infos) providable_info = ProvidableInfo() providable_info.type = Product providable_info.dateModifiedAtProvider = self.date_modified path = PurePath(self.description_zipinfo.filename) providable_info.idAtProviders = path.name.split('_', 1)[0] self.productId = providable_info.idAtProviders return providable_info
def __next__(self): p_info_event = super().__next__ p_info_stock = ProvidableInfo() p_info_stock.type = Stock p_info_stock.idAtProviders = p_info_event.idAtProviders p_info_stock.dateModifiedAtProvider = p_info_event.dateModifiedAtProvider return p_info_event, p_info_stock event.venue = self.venue stock = Stock() stock.idAtProvider = event.idAtProvider stock.dateModifiedAtProvider = event.dateModifiedAtProvider stock.event = event return stock
def __next__(self): if self.thumb_zipinfos is None: self.open_next_file() try: self.thumb_zipinfo = next(self.thumb_zipinfos) except StopIteration: self.open_next_file() self.thumb_zipinfo = next(self.thumb_zipinfos) providable_info = ProvidableInfo() providable_info.type = Product providable_info.dateModifiedAtProvider = None path = PurePath(self.thumb_zipinfo.filename) providable_info.idAtProviders = path.name.split('_', 1)[0] self.thingId = providable_info.idAtProviders return providable_info
def __next__(self): if self.data_lines is None: self.data_lines = get_lines_from_thing_file(self.lines_checked, str(self.thing_file)) try: data_lines = next(self.data_lines) elements = data_lines.split('~') except StopIteration: self.data_lines = get_lines_from_thing_file(self.lines_checked, str(self.thing_file)) elements = next(self.data_lines).split('~') if len(elements) != NUMBER_OF_ELEMENTS_PER_LINE: logger.info("Did not find 45 elements as expected in titelive" + " line. Skipping line") return None if (self.lines_checked % SYNC_PART_SIZE) == 0: self.logEvent(LocalProviderEventType.SyncPartEnd, self.lines_checked) self.infos = get_infos_from_data_line(elements) self.extraData = {} self.thing_type, self.extraData['bookFormat'] = get_thing_type_and_extra_data_from_titelive_type( self.infos['code_support']) self.lines_checked += 1 if self.thing_type is None: return None providable_info = ProvidableInfo() providable_info.type = Product providable_info.idAtProviders = self.infos['ean13'] providable_info.dateModifiedAtProvider = read_things_date(self.infos['date_updated']) return providable_info
def __next__(self): self.index = self.index + 1 if (self.data is None or len(self.data['events']) <= self.index): if (not self.more_pages): raise (StopIteration) self.page = self.page + 1 self.index = 0 self.data = get_data(self.page, self.venueProvider.venueIdAtOfferProvider, self.is_mock) total_objects = self.data['offset'] + self.data['limit'] self.more_pages = total_objects < self.data['total'] print("LEN", len(self.data['events'])) print("INDEX", self.index) self.oa_event = self.data['events'][self.index] self.seen_uids.append(str(self.oa_event['uid'])) if self.venueLocationUid is not None and\ self.oa_event['location']['uid'] != self.venueLocationUid: return next(self) p_info_event = ProvidableInfo() p_info_event.type = Product p_info_event.idAtProviders = str(self.oa_event['uid']) p_info_event.dateModifiedAtProvider = read_date( self.oa_event['updatedAt']) p_info_offer = ProvidableInfo() p_info_offer.type = Offer p_info_offer.idAtProviders = str(self.oa_event['uid']) p_info_offer.dateModifiedAtProvider = read_date( self.oa_event['updatedAt']) p_info_eos = [] durations_sum = 0 for oa_timing in self.oa_event['timings']: p_info_eo = ProvidableInfo() p_info_eo.type = Stock p_info_eo.idAtProviders = str(self.oa_event['uid']) + '_' + str( read_date(oa_timing['start'])) p_info_eo.dateModifiedAtProvider = read_date( self.oa_event['updatedAt']) p_info_eos.append(p_info_eo) duration = read_date(oa_timing['end'])\ - read_date(oa_timing['start']) durations_sum += duration.days * 24 * 60 + int( duration.seconds / 60) self.duration = int(durations_sum / len(p_info_eos)) return [p_info_event, p_info_offer] + p_info_eos