def run_it(self): ds_name = os.path.splitext(os.path.basename(self.ds.ffile.name))[0] self.ds = self.grab_item(models.DataSet, self.ds.pk,'parsing imgs from %s' % ds_name) if not self.ds: return True # all got taken by somebody else if self.ds.status == models.DS_RECHECK: self.recheck_dataset(ds_name) elif self.ds.tar_dir: # already in progress, continue to work on it self.process_tar_snippets() else: self.log('Reading dataset %s' % ds_name, 3) stats, created = Statistics.objects.get_or_create(ds=self.ds) if not created: stats.delete() stats = Statistics(ds=self.ds) stats.set_name = ds_name stats.save() self.process_dataset() self.release_item(models.DataSet, self.ds.pk) return True