Beispiel #1
0
class RecordingSource(object):
    __slots__ = ["name", "driver", "storage", "shows"]
    
    def __init__(self, name, driver, storage, shows):
        self.name = name
        self.driver = driver
        self.storage = storage
        self.shows = shows
    
    def __str__(self):
        return self.name
    
    def json_friendly(self):
        return self.name

add_json_serializer(RecordingSource, RecordingSource.json_friendly)

class Show(object):
    __slots__ = ["name", "schedule"]
    
    def __init__(self, name, schedule):
        self.name = name
        self.schedule = schedule
        
    def __eq__(self, other):
        return (isinstance(other, Show) and self.name == other.name and
            self.schedule == other.schedule)
    
    def __hash__(self):
        return hash(("Show", self.name, self.schedule))
    
Beispiel #2
0
                return number
        raise ConfigurationError('Invalid day of the week %r.' % day_name)
    
    @classmethod
    def _get_current_weekday(cls):
        return time.localtime().tm_wday
    
    def __repr__(self):
        return '%s(%r, %r, %r)' % (type(self).__name__, self.weekdays,
            self.start_time, self.duration)
    
    def __eq__(self, other):
        return (isinstance(other, WeeklySchedule) and
            other.weekdays == self.weekdays and
            other.start_time == self.start_time and
            other.duration == self.duration)
    
    def __hash__(self):
        return hash(("WeeklySchedule", self.weekdays, self.start_time,
            self.duration))
    
    def json_friendly(self):
        return {
            "weekdays": self.weekdays,
            "start_time": self.start_time,
            "duration": self.duration
        }
_implementations['weekly'] = WeeklySchedule

add_json_serializer(WeeklySchedule, WeeklySchedule.json_friendly)