def _get_date_and_granularity(self): date = self._get_text_or_none('.//memorix:MEMORIX/field[@name="Datum_afbeelding"]/value') if date is not None: return parse_date(self.regexen, date) else: date = self._get_text_or_none('.//item/dcterms:created') if date is not None: return parse_date(self.regexen, date) else: date = self._get_text_or_none('.//item/dc:date') if date is not None: return parse_date(self.regexen, date) else: return None, None
def _get_date_and_granularity(self): if self.original_item.find('production.date.start') is not None: pds_text = self.original_item.find('production.date.start').text # always take the production start date. period does not matter. return parse_date(self.regexen, pds_text) else: return None, None
def _get_date_and_granularity(self): date = self._get_text_or_none( './/memorix:MEMORIX/field[@name="Datum_afbeelding"]/value') if date is not None: return parse_date(self.regexen, date) else: date = self._get_text_or_none('.//item/dcterms:created') if date is not None: return parse_date(self.regexen, date) else: date = self._get_text_or_none('.//item/dc:date') if date is not None: return parse_date(self.regexen, date) else: return None, None
def get_index_data(self): index_data = {} # measurements fields = ['type', 'value', 'unit'] dim = zip( *[[c.text for c in self.original_item.iter('dimension.' + f)] for f in fields]) index_data['measurements'] = [{ 'type': t, 'value': v.replace(',', '.'), 'unit': u } for (t, v, u) in dim if t and v and v not in ['?', '...', '....']] # acquisition date = self.original_item.find('acquisition.date') method = self.original_item.find('acquisition.method') g, d = 0, None if not method == None and method.text: method = method.text if not date == None and date.text: date = date.text.replace( "+", "").strip() # the meaning of '+' is unknown if date not in ['?', '??', 'onbekend']: g, d = parse_date(self.regexen, date) index_data['acquisition'] = { 'method': method, 'date': d, 'date_granularity': g } # creator roles fields = ['creator', 'creator.role'] # creator.qualifier is never defined roles = [[c.text for c in self.original_item.iter(f) if c.text] for f in fields] if all(roles): index_data['creator_roles'] = [{ 'creator': r[0], 'role': r[1] } for r in zip(*roles)] # listed attributes attrs = { 'collections': 'collections', 'material': 'materials', 'object_name': 'tags', 'techniek.vrije.tekst': 'technique', 'notes': 'notes', } for attr, index_name in attrs.items(): val = [ unicode(c.text) for c in self.original_item.iter(attr) if c.text ] if val: index_data[index_name] = val return index_data
def get_index_data(self): index_data = {} # measurements fields = ['type', 'value', 'unit'] dim = zip(*[[c.text for c in self.original_item.iter('dimension.'+f)] for f in fields]) index_data['measurements'] = [ { 'type' : t, 'value' : v.replace(',','.'), 'unit' : u } for (t,v,u) in dim if t and v and v not in ['?','...','....']] # acquisition date = self.original_item.find('acquisition.date') method = self.original_item.find('acquisition.method') g,d = 0, None if not method == None and method.text: method = method.text if not date == None and date.text: date = date.text.replace("+","").strip() # the meaning of '+' is unknown if date not in ['?', '??', 'onbekend']: g,d = parse_date(self.regexen, date) index_data['acquisition'] = { 'method' : method, 'date' : d, 'date_granularity' : g } # creator roles fields = ['creator', 'creator.role'] # creator.qualifier is never defined roles = [[c.text for c in self.original_item.iter(f) if c.text] for f in fields] if all(roles): index_data['creator_roles'] = [ { 'creator' : r[0], 'role' : r[1] } for r in zip(*roles)] # listed attributes attrs = { 'collections' : 'collections', 'material' : 'materials', 'object_name' : 'tags', 'techniek.vrije.tekst' : 'technique', 'notes' : 'notes', } for attr, index_name in attrs.items(): val = [unicode(c.text) for c in self.original_item.iter(attr) if c.text] if val: index_data[index_name] = val return index_data
def get_index_data(self): index_data = {} # measurements fields = ['type', 'value', 'unit'] dim = zip( *[[c.text for c in self.original_item.iter('dimension.' + f)] for f in fields]) index_data['measurements'] = [{ 'type': t, 'value': v.replace(',', '.'), 'unit': u } for (t, v, u) in dim if t and v and v not in ['?', '...', '....']] # acquisition fields = ['date', 'method'] aq = zip( *[[c.text for c in self.original_item.iter('acquisition.' + f)] for f in fields]) aq = [{ 'date': d, 'date_granularity': g, 'method': m } for (ds, m) in aq if ds or m for g, d in [parse_date(self.regexen, ds)]] index_data['acquisition'] = aq[0] if aq else None # singleton # listed attributes attrs = { 'collection': 'collections', 'material': 'materials', 'production.place': 'production_place', 'technique': 'technique', 'object_name': 'tags', } for attr, index_name in attrs.items(): val = [ unicode(c.text) for c in self.original_item.iter(attr) if c.text ] if val: index_data[index_name] = val if 'production_place' in index_data: # singleton index_data['production_place'] = index_data['production_place'][0] return index_data
def get_index_data(self): index_data = {} # measurements fields = ['type', 'value', 'unit'] dim = zip(*[[c.text for c in self.original_item.iter('dimension.'+f)] for f in fields]) index_data['measurements'] = [ { 'type': t, 'value': v.replace(',','.'), 'unit': u } for (t, v, u) in dim if t and v and v not in ['?', '...', '....']] # acquisition fields = ['date', 'method'] aq = zip(*[[c.text for c in self.original_item.iter('acquisition.'+f)] for f in fields]) aq = [ { 'date' : d, 'date_granularity' : g, 'method' : m } for (ds,m) in aq if ds or m for g,d in [parse_date(self.regexen, ds)]] index_data['acquisition'] = aq[0] if aq else None # singleton # listed attributes attrs = { 'collection': 'collections', 'material': 'materials', 'production.place': 'production_place', 'technique': 'technique', 'object_name': 'tags', } for attr, index_name in attrs.items(): val = [unicode(c.text) for c in self.original_item.iter(attr) if c.text] if val: index_data[index_name] = val if 'production_place' in index_data: # singleton index_data['production_place'] = index_data['production_place'][0] return index_data