def test_invalid_check_digit(self): self.assertFalse(is_valid_isbn('0471958698')) self.assertFalse(is_valid_isbn('0 471 60695 1')) self.assertFalse(is_valid_isbn('0-470-84525-X'))
def reactToAMQPMessage(req, UUID): """ React to given (AMQP) message. This function is used by :mod:`edeposit.amqp.alephdaemon`. It works as highlevel wrapper for whole module. Example: >>> import aleph >>> request = aleph.SearchRequest( ... aleph.ISBNQuery("80-251-0225-4") ... ) >>> request SearchRequest(query=ISBNQuery(ISBN='80-251-0225-4', base='nkc')) >>> response = aleph.reactToAMQPMessage(request, "UUID") >>> response # formated by hand for purposes of example SearchResult( records=[ AlephRecord( base='nkc', library='NKC01', docNumber=1492461, xml='HERE IS WHOLE MARC OAI RECORD', epublication=EPublication( ISBN=['80-251-0225-4'], nazev='Umění programování v UNIXu /', podnazev='', vazba='(bro\xc5\xbe.) :', cena='K\xc4\x8d 590,00', castDil='', nazevCasti='', nakladatelVydavatel='Computer Press,', datumVydani='2004', poradiVydani='1. vyd.', zpracovatelZaznamu='BOA001', format='23 cm', url='', mistoVydani='Brno :', ISBNSouboruPublikaci=[], autori=[ Author( firstName='Eric S.', lastName='Raymond', title='' ) ], originaly=[ 'Art of UNIX programming' ], internal_url='' ) ) ] ) Args: req (Request class): Any of the Request class from :class:`aleph.datastructures.requests`. UUID (str): Unique ID of received message. Returns: Result class: Result of search in Aleph. \ See :mod:`aleph.datastructures.results` submodule. Raises: ValueError: If bad type of `req` structure is given. """ if not _iiOfAny(req, REQUEST_TYPES): raise ValueError( "Unknown type of request: '" + str(type(req)) + "'!" ) if _iiOfAny(req, CountRequest) and _iiOfAny(req.query, QUERY_TYPES): return req.query.getCountResult() elif _iiOfAny(req, SearchRequest) and _iiOfAny(req.query, QUERY_TYPES): return req.query.getSearchResult() elif _iiOfAny(req, ISBNValidationRequest): ISBN = req.ISBN if _iiOfAny(ISBN, ISBNQuery): ISBN = ISBN.ISBN return ISBNValidationResult(isbn.is_valid_isbn(ISBN)) elif _iiOfAny(req, ExportRequest): export.exportEPublication(req.epublication) return ExportResult(req.epublication.ISBN) raise ValueError( "Unknown type of request: '" + str(type(req)) + "' or query: '" + str(type(req.query)) + "'!" )
def test_invalid_length(self): self.assertFalse(is_valid_isbn('123123978047005902')) self.assertFalse(is_valid_isbn('')) self.assertFalse(is_valid_isbn('978'))
def test_invalid_characters(self): self.assertFalse(is_valid_isbn('a471958697')) self.assertFalse(is_valid_isbn('047195869_')) self.assertFalse(is_valid_isbn('04719X8697'))
def test_valid_isbn(self): self.assertTrue(is_valid_isbn('0471958697')) self.assertTrue(is_valid_isbn('0 471 60695 2')) self.assertTrue(is_valid_isbn('0-470-84525-2')) self.assertTrue(is_valid_isbn('0-321-14653-0')) self.assertTrue(is_valid_isbn('0-821-14653-X'))
def test_invalid_check_digit(self): self.assertFalse(is_valid_isbn('9780470059020')) self.assertFalse(is_valid_isbn('978 0 471 48648 1'))
def test_invalid_characters(self): self.assertFalse(is_valid_isbn('a780470059029')) self.assertFalse(is_valid_isbn('978047005902_')) self.assertFalse(is_valid_isbn('978+0470059029')) self.assertFalse(is_valid_isbn('978047005902_9'))
def test_invalid_length(self): self.assertFalse(is_valid_isbn('978047005902')) self.assertFalse(is_valid_isbn('')) self.assertFalse(is_valid_isbn('978-0596809485-123123'))
def test_valid_isbn(self): self.assertTrue(is_valid_isbn('9780470059029')) self.assertTrue(is_valid_isbn('978 0 471 48648 0')) self.assertTrue(is_valid_isbn('978-0596809485')) self.assertTrue(is_valid_isbn('978-0-13-149505-0')) self.assertTrue(is_valid_isbn('978-0-262-13472-9'))