def test_normalize_pid(self): for i, expected_schemes, normalized_value in identifiers: self.assertEqual( pidutils.normalize_pid(i, expected_schemes[0]), normalized_value or i ) assert pidutils.normalize_pid(None, 'handle') is None
def test_tourl(self): for i, expected_schemes, normalized_value, url_value in identifiers: self.assertEqual( pidutils.to_url(pidutils.normalize_pid(i, expected_schemes[0]), expected_schemes[0]), url_value, )
def __call__(self, form, field, submit=False, fields=None): scheme = None if self.scheme_field: scheme = getattr(form, self.scheme_field).data elif self.scheme: scheme = self.scheme else: schemes = pidutils.detect_identifier_schemes(field.data) if schemes: scheme = schemes[0] if scheme: if field.data: field.data = pidutils.normalize_pid(field.data, scheme=scheme)
def test_normalize_pid(self): for i, expected_schemes, normalized_value, url_value in identifiers: self.assertEqual(pidutils.normalize_pid(i, expected_schemes[0]), normalized_value or i) assert pidutils.normalize_pid(None, 'handle') is None