Example #1
0
 def test_hashable(self):
     s1 = RecordingSchedule({'recordid' : 1}, Mock())
     s2 = RecordingSchedule({'recordid' : 2}, Mock())
     d = {s1:'schedule1',}
     self.assertIn(s1, d)
     self.assertEqual('schedule1', d[s1])
     self.assertNotIn(s2, d)
Example #2
0
    def test_episodeFilter_and_checkForDupesIn_read_from_and_written_to_dupin_field_correctly(
            self):
        data = {
            'dupin':
            CheckForDupesIn.ALL_RECORDINGS
            | EpisodeFilter.EXCLUDE_REPEATS_AND_GENERICS
        }
        schedule = RecordingSchedule(data, Mock())
        self.assertEqual(EpisodeFilter.EXCLUDE_REPEATS_AND_GENERICS,
                         schedule.getEpisodeFilter())

        schedule.setEpisodeFilter(EpisodeFilter.NEW_EPISODES_ONLY)
        self.assertEqual(EpisodeFilter.NEW_EPISODES_ONLY,
                         schedule.getEpisodeFilter())
        self.assertEqual(CheckForDupesIn.ALL_RECORDINGS,
                         schedule.getCheckForDupesIn())

        schedule.setCheckForDupesIn(CheckForDupesIn.PREVIOUS_RECORDINGS)
        self.assertEqual(EpisodeFilter.NEW_EPISODES_ONLY,
                         schedule.getEpisodeFilter())
        self.assertEqual(CheckForDupesIn.PREVIOUS_RECORDINGS,
                         schedule.getCheckForDupesIn())

        schedule.setEpisodeFilter(EpisodeFilter.NONE)
        self.assertEqual(EpisodeFilter.NONE, schedule.getEpisodeFilter())
        self.assertEqual(CheckForDupesIn.PREVIOUS_RECORDINGS,
                         schedule.getCheckForDupesIn())
Example #3
0
 def test_starttime_DataFromNativeMySQL(self):
     data = {
         'starttime':
         datetime.timedelta(seconds=(1 * 60 * 60) + (2 * 60) + 3)
     }
     schedule = RecordingSchedule(data, Mock())
     self.assertEqual('010203', schedule.starttime())
Example #4
0
 def getRecordingSchedules(self, chanId='', scheduleId=-1):
     """
     @return: All recording schedules unless a specific channel or schedule id is given.
     @rtype: RecordingSchedule[]
     """
     sql = """
         SELECT
             r.recordid,
             r.type,
             r.chanid,
             r.starttime,
             r.startdate,
             r.endtime,
             r.enddate,
             r.title,
             r.subtitle,
             r.description,
             r.category,
             r.profile,
             r.recpriority,
             r.autoexpire,
             r.maxepisodes,
             r.maxnewest,
             r.startoffset,
             r.endoffset,
             r.recgroup,
             r.dupmethod,
             r.dupin,
             r.station,
             r.seriesid,
             r.programid,
             r.search,
             r.autotranscode,
             r.autocommflag,
             r.autouserjob1,
             r.autouserjob2,
             r.autouserjob3,
             r.autouserjob4,
             r.findday,
             r.findtime,
             r.findid,
             r.inactive,
             r.parentid,
             c.channum,
             c.callsign,
             c.name as channame,
             c.icon,
             (select count(*) from oldrecorded where oldrecorded.title=r.title and oldrecorded.recstatus = %d) as numRecorded
         FROM
             record r
         LEFT JOIN channel c ON r.chanid = c.chanid
         """ % RecordingStatus.RECORDED
 
     if chanId != "":
         sql += "WHERE r.chanid = '%s' "%chanId
         
     if scheduleId != -1:
         if chanId == "":
             sql+="WHERE "
         else:
             sql +="AND "
         sql += "r.recordid = %d "%scheduleId
         
     sql += """
         ORDER BY
             r.recordid
             DESC
         """
     schedules = []
     self.cursor.execute(sql)
     rows = self.cursor.fetchall()
     from mythbox.mythtv.domain import RecordingSchedule
     for row in rows:
         row = self.toDict(self.cursor, row)
         schedules.append(RecordingSchedule(row, self.translator))
     return schedules
Example #5
0
 def test_enddate_DataFromNativeMySQL(self):
     data = {'enddate': datetime.date(2008, 11, 12)}
     schedule = RecordingSchedule(data, Mock())
     self.assertEqual('20081112', schedule.enddate())