def test_cycle_users(self): song_id_0 = self._add_song(song_no=0, user_name='user0') _ = self._add_song(song_no=1, user_name='user0') song_id_2 = self._add_song(song_no=2, user_name='user1') database.mark_song_played(song_id_0) songs = database.load_songs(include_played=True, cycle_users_timedelta=None) self.assertEqual(len(songs), 3) songs = database.load_songs( include_played=False, cycle_users_timedelta=datetime.timedelta(weeks=1)) self.assertEqual(len(songs), 1) songs = database.load_songs( include_played=True, cycle_users_timedelta=datetime.timedelta(weeks=1)) self.assertEqual(len(songs), 1) self.assertEqual(song_id_2, songs[0].song_id) songs = database.load_songs( include_played=False, cycle_users_timedelta=datetime.timedelta(microseconds=1)) self.assertEqual(len(songs), 2) songs = database.load_songs(include_played=False, cycle_users_timedelta=None) self.assertEqual(len(songs), 2)
def test_apply_priority_played(self): today = datetime.date.today().isoweekday() song_id_0 = self._add_song(song_no=0, user_name='user0') song_id_1 = self._add_song(song_no=1, user_name='user0', day=today) _ = self._add_song(song_no=2, user_name='user0') song_id_3 = self._add_song(song_no=3, user_name='user0', day=today) database.mark_song_played(song_id_0) database.mark_song_played(song_id_1) songs = database.load_songs(include_played=False, include_out_of_office=False, apply_priority=False) self.assertEqual(len(songs), 2) songs = database.load_songs(include_played=True, include_out_of_office=False, apply_priority=False) self.assertEqual(len(songs), 4) songs = database.load_songs(include_played=False, include_out_of_office=False, apply_priority=True) self.assertEqual(len(songs), 1) self.assertEqual(song_id_3, songs[0].song_id) songs = database.load_songs(include_played=True, include_out_of_office=False, apply_priority=True) self.assertEqual(len(songs), 2)
def update_list(song): if not TESTING: database.mark_song_played(song.song_id) # log that its done with open('%s/mindful.log' % util.BASE_PATH, 'a') as f: f.write("Played %s at %s\n" % (song.title, datetime.datetime.now().strftime("%I:%M%p on %B %d, %Y")))
def test_load_songs(self): songs = database.load_songs(include_played=True) self.assertEqual(len(songs), 0) songs = database.load_songs(include_played=False) self.assertEqual(len(songs), 0) song_id = self._add_song() songs = database.load_songs(include_played=True) self.assertEqual(len(songs), 1) songs = database.load_songs(include_played=False) self.assertEqual(len(songs), 1) database.mark_song_played(song_id) songs = database.load_songs(include_played=True) self.assertEqual(len(songs), 1) songs = database.load_songs(include_played=False) self.assertEqual(len(songs), 0)
def test_cycle_played(self): song_id_0 = self._add_song(song_no=0, user_name='user0') song_id_1 = self._add_song(song_no=1, user_name='user0') database.mark_song_played(song_id_0, date=(datetime.datetime.now() - datetime.timedelta(days=1)).date()) songs = database.load_songs(include_played=False, cycle_users_timedelta=None, cycle_played_timedelta=None) self.assertEqual(len(songs), 1) songs = database.load_songs( include_played=False, cycle_users_timedelta=None, cycle_played_timedelta=datetime.timedelta(microseconds=1)) self.assertEqual(len(songs), 2) songs = database.load_songs( include_played=False, cycle_users_timedelta=None, cycle_played_timedelta=datetime.timedelta(weeks=1)) self.assertEqual(len(songs), 1) self.assertEqual(song_id_1, songs[0].song_id)