def include(self, new_value): if self._link is not None: raise TypeError("%s.include: You can either set link or include, but not both." % repr(self)) if not new_value: self._include = None self.clean() return if '#' in new_value: url, path = new_value.split('#', 1) else: url, path = new_value, None terminology.deferred_load(url) if self.parent is None: self._include = new_value return term = terminology.load(url) new_section = term.get_section_by_path(path) if path is not None else term.sections[0] if self._include is not None: self.clean() self._include = new_value self.merge(new_section)
def include(self, new_value): if self._link is not None: raise TypeError( "%s.include: You can either set link or include, but not both." % repr(self)) if not new_value: self._include = None self.clean() return if '#' in new_value: url, path = new_value.split('#', 1) else: url, path = new_value, None terminology.deferred_load(url) if self.parent is None: self._include = new_value return term = terminology.load(url) new_section = term.get_section_by_path( path) if path is not None else term.sections[0] if self._include is not None: self.clean() self._include = new_value self.merge(new_section)
def parse_mapping(url): """ parse u url of format http://host/file.xml#section_type:property_name returns a 3-tuple: (url, stype, prop_name) where stype or prop_name may be None """ stype = None prop_name = None if '#' in url: url, stype = url.split('#', 1) if ':' in stype: stype, prop_name = stype.split(':', 1) terminology.deferred_load(url) return (url, stype, prop_name)
def repository(self, url): if not url: url = None self._repository = url if url: terminology.deferred_load(url)