def translate_uri(self, uri): try: library_uri = OE1LibraryUri.parse(uri) except InvalidOE1Uri: return None if library_uri.uri_type == OE1UriType.LIVE: return OE1Client.LIVE if library_uri.uri_type == OE1UriType.CAMPUS: return OE1Client.CAMPUS if library_uri.uri_type == OE1UriType.ARCHIVE_ITEM: return self.client.get_item_url(library_uri.day_id, library_uri.item_id)
def test_parse_item_uri(self): uri = 'oe1:archive:20140914:382176' result = OE1LibraryUri.parse(uri) self.assertEqual(result.uri_type, OE1UriType.ARCHIVE_ITEM) self.assertEqual(result.day_id, '20140914') self.assertEqual(result.item_id, '382176')
def test_parse_day_uri(self): uri = 'oe1:archive:20140914' result = OE1LibraryUri.parse(uri) self.assertEqual(result.uri_type, OE1UriType.ARCHIVE_DAY) self.assertEqual(result.day_id, '20140914')
def test_parse_archive_uri(self): uri = 'oe1:archive' result = OE1LibraryUri.parse(uri) self.assertEqual(result.uri_type, OE1UriType.ARCHIVE)
def test_parse_campus_uri(self): uri = 'oe1:campus' result = OE1LibraryUri.parse(uri) self.assertEqual(result.uri_type, OE1UriType.CAMPUS)
def test_parse_root_uri(self): uri = 'oe1:directory' result = OE1LibraryUri.parse(uri) self.assertEqual(result.uri_type, OE1UriType.ROOT)