class Business: def __init__(self): self.user_dao = UserDao() self.playlist_dao = PlaylistDao() self.reaction_dao = ReactionDao() self.track_dao = TrackDao() def __new__(cls): if not hasattr(cls, 'instance'): cls.instance = super(Business, cls).__new__(cls) return cls.instance def process_insertion_of_musics(self, playlist_id, user_id, tracks, hrv, current_track_id, user_evaluation): user = self.user_dao.get_user_by_id(user_id) playlist = self.playlist_dao.get_playlist_by_id(playlist_id) if (bool(user_evaluation)): user_evaluation = 1 else: user_evaluation = 0 if (user and playlist): for track_id in tracks: track_to_insert = self.track_dao.map_track({ 'id': '0', 'track_id': track_id, 'playlist_id': playlist[0]['id'] }) track_inserted_id = self.track_dao.insert_track( track_to_insert) reaction_to_insert = self.reaction_dao.map_reaction({ 'id': '0', 'user_id': user[0]['id'], 'track_id': current_track_id, 'hrv': hrv, 'evaluation': 1, 'user_evaluation': user_evaluation }) self.reaction_dao.insert_reaction(reaction_to_insert) else: user = self.user_dao.map_user({ 'id': '0', 'user_id': user_id, 'date': datetime.now().strftime("%Y-%m-%d") }) id_user = self.user_dao.insert_user(user) playlist = self.playlist_dao.map_playlist({ 'id': '0', 'playlist_id': playlist_id, 'user_id': id_user }) id_playlist = self.playlist_dao.insert_playlist(playlist) for track_id in tracks: track_to_insert = self.track_dao.map_track({ 'id': '0', 'track_id': track_id, 'playlist_id': id_playlist }) track_inserted_id = self.track_dao.insert_track( track_to_insert) reaction_to_insert = self.reaction_dao.map_reaction({ 'id': '0', 'user_id': id_user, 'track_id': current_track_id, 'hrv': hrv, 'evaluation': 1, 'user_evaluation': user_evaluation }) self.reaction_dao.insert_reaction(reaction_to_insert) def remove_track_from_list(self, playlist_id, user_id, tracks, hrv, current_track_id, user_evaluation): user = self.user_dao.get_user_by_id(user_id) if (bool(user_evaluation)): user_evaluation = 1 else: user_evaluation = 0 if (user): reaction_to_insert = self.reaction_dao.map_reaction({ 'id': '0', 'user_id': user[0]['id'], 'track_id': current_track_id, 'hrv': hrv, 'evaluation': 0, 'user_evaluation': user_evaluation }) self.reaction_dao.insert_reaction(reaction_to_insert) else: user = self.user_dao.map_user({ 'id': '0', 'user_id': user_id, 'date': datetime.now().strftime("%Y-%m-%d") }) id_user = self.user_dao.insert_user(user) reaction_to_insert = self.reaction_dao.map_reaction({ 'id': '0', 'user_id': id_user, 'track_id': current_track_id, 'hrv': hrv, 'evaluation': 0, 'user_evaluation': user_evaluation }) self.reaction_dao.insert_reaction(reaction_to_insert)
def test_get_account_by_id(self): oid = u'56840a2db37b6c16a0ef1b6c' user = UserDao.get_user_by_id(oid) #logger.debug('test_get_account_by_id type={0}'.format(type(user['name']))) expected_user_name = u'anna' self.assertEquals(user['name'],expected_user_name,'signed user name should be {0}'.format(expected_user_name))