def _save_features(self, features, extractor_type): "save results of basic extractions" metadata_list, delete_list = [], [] #log.debug('ExtractBasicFeatures._save_features: %s' % features) ctype = ContentType.objects.get_for_model(self.source) try: save_type(ctype, self.source) except Exception, e: log.error("Failed to save component format as DC:Format: %s" % (str(e)))
self.deferred.errback(failure) def _cb_xmp_ok(self, features): try: ctype_component = ContentType.objects.get_for_model(self.component) ctype = ContentType.objects.get_for_model(self.item) xpath = re.compile(r"(?P<prefix>\w+):(?P<property>\w+)(?P<array_index>\[\d+\]){,1}") user = self.item.uploaded_by() metadata_default_language = get_metadata_default_language(user) except Exception, e: log.error("Error in %s: %s %s" % (self.__class__.__name__, type(e), str(e))) self.deferred.errback(e) return try: save_type(ctype, self.component) except Exception, e: log.error("Failed to save component format as DC:Format: %s" % (str(e))) self.deferred.errback(e) return try: xmp_metadata_list, xmp_delete_list = self._read_xmp_features(features) MetadataValue.objects.filter( schema__in=xmp_delete_list, object_id=self.component.pk, content_type=ctype_component ).delete() latitude = None longitude = None for x in xmp_metadata_list: if x.xpath == "exif:GPSLatitude":
try: ctype_component = ContentType.objects.get_for_model(self.component) ctype = ContentType.objects.get_for_model(self.item) xpath = re.compile( r'(?P<prefix>\w+):(?P<property>\w+)(?P<array_index>\[\d+\]){,1}' ) user = self.item.uploaded_by() metadata_default_language = get_metadata_default_language(user) except Exception, e: log.error('Error in %s: %s %s' % (self.__class__.__name__, type(e), str(e))) self.deferred.errback(e) return try: save_type(ctype, self.component) except Exception, e: log.error("Failed to save component format as DC:Format: %s" % (str(e))) self.deferred.errback(e) return try: xmp_metadata_list, xmp_delete_list = self._read_xmp_features( features) MetadataValue.objects.filter( schema__in=xmp_delete_list, object_id=self.component.pk, content_type=ctype_component).delete() latitude = None