def create_test_track(id=None, duration=None, tags=(), attachments=(), lyrics=None, source_filename=None): def _get_tag(tag): return get_tag(tag, create_if_missing=True) def _get_attachment(attachment): if hasattr(attachment, 'location') and hasattr(attachment, 'type'): return create_attachment(attachment) else: return DBSession.query(Attachment).filter( Attachment.location.like('%%{0}%%'.format(attachment))).one() track = Track() track.id = id if id else random_string(10) track.duration = duration if duration else random.randint(60, 360) for tag in tags: track.tags.append(_get_tag(tag)) for attachment in attachments: track.attachments.append(_get_attachment(attachment)) track.lyrics = lyrics or '' track.source_filename = source_filename DBSession.add(track) return track
def create_test_track(id=None, duration=None, tags=[], attachments=[], lyrics=None, source_filename=None): def _get_tag(tag): return get_tag(tag, create_if_missing=True) def _get_attachment(filename): return DBSession.query(Attachment).filter(Attachment.location.like('%%{0}%%'.format(filename))).one() track = Track() track.id = id if id else random_string(10) track.duration = duration if duration else random.randint(60,360) [track.tags .append(_get_tag (t)) for t in tags ] [track.attachments.append(_get_attachment(a)) for a in attachments] if lyrics: track.lyrics.append(lyrics) track.source_filename = source_filename return track
def create_test_track(id=None, duration=None, tags=(), attachments=(), lyrics=None, source_filename=None): def _get_tag(tag): return get_tag(tag, create_if_missing=True) def _get_attachment(attachment): if hasattr(attachment, 'location') and hasattr(attachment, 'type'): return create_attachment(attachment) else: return DBSession.query(Attachment).filter(Attachment.location.like('%%{0}%%'.format(attachment))).one() track = Track() track.id = id if id else random_string(10) track.duration = duration if duration else random.randint(60, 360) for tag in tags: track.tags.append(_get_tag(tag)) for attachment in attachments: track.attachments.append(_get_attachment(attachment)) track.lyrics = lyrics or '' track.source_filename = source_filename DBSession.add(track) return track