示例#1
0
	def start(self):
		clock = ClockThread.ClockThread()
		clock.setDaemon(True)
		clock.start()
		
		musicPlayer = MusicPlayer.MusicPlayer()
		textToSpeech = TextToSpeech.TextToSpeech()
		weather = Weather.Weather()
		
		segmentDimmer = SegmentDimmerThread.SegmentDimmerThread(clock, weather)
		segmentDimmer.setDaemon(True)
		segmentDimmer.start()
		
		gCalendar = GCalendar.GCalendar()
		volumeController = VolumeControllerThread.VolumeControllerThread()
		volumeController.setDaemon(True)
		volumeController.start()
		
		
		sleep(1) # Wait one second so clock's hour and minute values get filled ready for when alarm needs them
		alarm = AlarmThread.AlarmThread(musicPlayer, textToSpeech, weather, clock, gCalendar)
		alarm.setDaemon(True)
		# DEFAULT WAKEUP TIME - 6:00AM
		alarm.setAlarm(6,0)
		alarm.start()
		
		internalCommServer = InternalCommServer.InternalCommServer(alarm, musicPlayer, textToSpeech)
		internalCommServer.setDaemon(True)
		internalCommServer.start()
		
		try:
			while (self.ended == False):
				sleep(1)
		except (KeyboardInterrupt, SystemExit):
			logger.warn("Interrupted")
		logger.warn("Main powering off process beginning")
		clock.end()
		alarm.end()
		segmentDimmer.end()
		volumeController.end()
		internalCommServer.end()
		sleep(2)
		logger.info("Main powering off process finished")
        y += 1
        for event in calendar_data.events:
            screen.addstr(y, 0, ' ')  # because we can overflow
            screen.addstr(y, 1, event.start.strftime('%a - %X'))
            screen.addstr(y, 19, event.summary.encode(code))
            y += 1
    return y


def render_screen():
    calendar_list = calendar.get_calendar_list()
    draw_with_calendar_list(stdscr, calendar_list)
    stdscr.refresh()


if __name__ == '__main__':
    # we're going to want to delay starting curses until after we auth!
    # move to after teh ctor for GCalendar
    start_curses()
    calendar = GCalendar('client_secrets.json', sys.argv)
    stdscr.nodelay(1)

    while 1:
        try:
            render_screen()
            time.sleep(sleepTime * 60)
        except httplib.BadStatusLine:
            continue

    end_curses()