Example #1
0
 def _parse_submission(self, values, suffix):
     # type: (MultiDict, str) -> None
     p = {}  # type: Dict[str, Any]
     p['index'] = (suffix or '')[1:]
     p['puid'] = values.get('puid' + suffix)
     if p['puid'] and not is_uuid(p['puid']):
         raise errors.InvalidUUIDError('puid' + suffix)
     p['foreignid'] = values.get('foreignid' + suffix)
     if p['foreignid'] and not is_foreignid(p['foreignid']):
         raise errors.InvalidForeignIDError('foreignid' + suffix)
     p['mbids'] = values.getlist('mbid' + suffix)
     if p['mbids'] and not all(map(is_uuid, p['mbids'])):
         raise errors.InvalidUUIDError('mbid' + suffix)
     self._parse_duration_and_format(p, values, suffix)
     fingerprint_string = values.get('fingerprint' + suffix)
     if not fingerprint_string:
         raise errors.MissingParameterError('fingerprint' + suffix)
     p['fingerprint'] = decode_fingerprint(
         fingerprint_string.encode('ascii', 'ignore'))
     if not p['fingerprint']:
         logger.info('Got invalid fingerprint %r', fingerprint_string)
         raise errors.InvalidFingerprintError()
     p['bitrate'] = values.get('bitrate' + suffix, type=int) or None
     if p['bitrate'] is not None and p['bitrate'] <= 0:
         raise errors.InvalidBitrateError('bitrate' + suffix)
     p['track'] = values.get('track' + suffix)
     p['artist'] = values.get('artist' + suffix)
     p['album'] = values.get('album' + suffix)
     p['album_artist'] = values.get('albumartist' + suffix)
     p['track_no'] = values.get('trackno' + suffix, type=int)
     p['disc_no'] = values.get('discno' + suffix, type=int)
     p['year'] = values.get('year' + suffix, type=int)
     self.submissions.append(p)
Example #2
0
 def _parse_submission(self, values, suffix):
     p = {}
     p['puid'] = values.get('puid' + suffix)
     if p['puid'] and not is_uuid(p['puid']):
         raise errors.InvalidUUIDError('puid' + suffix)
     p['foreignid'] = values.get('foreignid' + suffix)
     if p['foreignid'] and not is_foreignid(p['foreignid']):
         raise errors.InvalidForeignIDError('foreignid' + suffix)
     p['mbids'] = values.getlist('mbid' + suffix)
     if p['mbids'] and not all(map(is_uuid, p['mbids'])):
         raise errors.InvalidUUIDError('mbid' + suffix)
     self._parse_duration_and_format(p, values, suffix)
     fingerprint_string = values.get('fingerprint' + suffix)
     if not fingerprint_string:
         raise errors.MissingParameterError('fingerprint' + suffix)
     p['fingerprint'] = decode_fingerprint(fingerprint_string)
     if not p['fingerprint']:
         raise errors.InvalidFingerprintError()
     p['bitrate'] = values.get('bitrate' + suffix, type=int) or None
     if p['bitrate'] is not None and p['bitrate'] <= 0:
         raise errors.InvalidBitrateError('bitrate' + suffix)
     p['track'] = values.get('track' + suffix)
     p['artist'] = values.get('artist' + suffix)
     p['album'] = values.get('album' + suffix)
     p['album_artist'] = values.get('albumartist' + suffix)
     p['track_no'] = values.get('trackno' + suffix, type=int)
     p['disc_no'] = values.get('discno' + suffix, type=int)
     p['year'] = values.get('year' + suffix, type=int)
     self.submissions.append(p)
Example #3
0
 def _parse_submission(self, values, suffix):
     p = {}
     p["puid"] = values.get("puid" + suffix)
     if p["puid"] and not is_uuid(p["puid"]):
         raise errors.InvalidUUIDError("puid" + suffix)
     p["foreignid"] = values.get("foreignid" + suffix)
     if p["foreignid"] and not is_foreignid(p["foreignid"]):
         raise errors.InvalidForeignIDError("foreignid" + suffix)
     p["mbids"] = values.getlist("mbid" + suffix)
     if p["mbids"] and not all(map(is_uuid, p["mbids"])):
         raise errors.InvalidUUIDError("mbid" + suffix)
     self._parse_duration_and_format(p, values, suffix)
     fingerprint_string = values.get("fingerprint" + suffix)
     if not fingerprint_string:
         raise errors.MissingParameterError("fingerprint" + suffix)
     p["fingerprint"] = decode_fingerprint(fingerprint_string)
     if not p["fingerprint"]:
         raise errors.InvalidFingerprintError()
     p["bitrate"] = values.get("bitrate" + suffix, type=int) or None
     if p["bitrate"] is not None and p["bitrate"] <= 0:
         raise errors.InvalidBitrateError("bitrate" + suffix)
     p["track"] = values.get("track" + suffix)
     p["artist"] = values.get("artist" + suffix)
     p["album"] = values.get("album" + suffix)
     p["album_artist"] = values.get("albumartist" + suffix)
     p["track_no"] = values.get("trackno" + suffix, type=int)
     p["disc_no"] = values.get("discno" + suffix, type=int)
     p["year"] = values.get("year" + suffix, type=int)
     self.submissions.append(p)
Example #4
0
def test_is_foreignid():
    # type: () -> None
    assert_true(is_foreignid('abc:123'))
    assert_true(is_foreignid('foo:123'))
    assert_false(is_foreignid('ABC:83'))
    assert_false(is_foreignid('83'))
Example #5
0
def test_is_foreignid():
    assert_true(is_foreignid('abc:123'))
    assert_true(is_foreignid('foo:123'))
    assert_false(is_foreignid('ABC:83'))
    assert_false(is_foreignid('83'))