def get_source_info(parent_uri, child_uri, existing_version, concept): if not parent_uri and not child_uri: return existing_version, get(concept, 'parent.uri') if parent_uri: version, uri = separate_version(parent_uri) else: version, uri = separate_version(to_parent_uri(child_uri)) return version or existing_version, uri or get(concept, 'parent.uri')
def test_separate_version(self): self.assertEqual( separate_version( "/orgs/org/collections/coll/coll-version/concepts/concept/1.24/" ), ("1.24", "/orgs/org/collections/coll/coll-version/concepts/concept/")) self.assertEqual( separate_version( "/orgs/org/collections/coll/concepts/concept/1.24/"), ("1.24", "/orgs/org/collections/coll/concepts/concept/")) self.assertEqual( separate_version("/orgs/org/collections/coll/concepts/concept/"), (None, "/orgs/org/collections/coll/concepts/concept/"))