def create_retry_job(user, original_job, items): ''' retry items that didn't import ''' job = ImportJob.objects.create( user=user, include_reviews=original_job.include_reviews, privacy=original_job.privacy, retry=True) for item in items: ImportItem(job=job, index=item.index, data=item.data).save() return job
def create_job(user, csv_file, include_reviews, privacy): ''' check over a csv and creates a database entry for the job''' job = ImportJob.objects.create(user=user, include_reviews=include_reviews, privacy=privacy) for index, entry in enumerate(list(csv.DictReader(csv_file))): if not all(x in entry for x in ('ISBN13', 'Title', 'Author')): raise ValueError('Author, title, and isbn must be in data.') ImportItem(job=job, index=index, data=entry).save() return job
def save_item(self, job, index, data): ImportItem(job=job, index=index, data=data).save()
def save_item(self, job, index, data): # pylint: disable=no-self-use """creates and saves an import item""" ImportItem(job=job, index=index, data=data).save()
def create_item(self, job, index, data): """creates and saves an import item""" normalized = self.normalize_row(data, job.mappings) normalized["shelf"] = self.get_shelf(normalized) ImportItem(job=job, index=index, data=data, normalized_data=normalized).save()