Пример #1
0
 def _bind_view(self):
     self.view = Main()
Пример #2
0
 def _bind_view(self):
     self.view = Main()
Пример #3
0
class MainController(object):
    """
    """

    def __init__(self):
        self._bind_view()
        self.quit = False
        self.queue = Queue.Queue(0)
        self.select = 0

    def _bind_view(self):
        self.view = Main()

    def run(self, switch_queue):

        self.view.display()
        # 用于控制切换界面
        self.switch_queue = switch_queue
        self.quit = False
        Thread(target=self._controller).start()
        Thread(target=self._watchdog_queue).start()
        # Thread(target=self._wacthdog_time).start()
        # Thread(target=self._discover_log).start()

    def _controller(self):
        """
        按键监控
        """
        while not self.quit:
            k = getch.getch()
            self.queue.put(k)
            #
            # if k == 'q' or k == 'o':
            #    break
            if k == " ":
                break
            if k == "q":
                break

    def _watchdog_queue(self):
        """
        从queue里取出字符执行命令
        """
        while not self.quit:
            k = self.queue.get()
            if k == "q":
                self.quit = True
                self.switch_queue.put("bye")
            elif k == " ":  # 确定
                if self.view.select == 0:  # 全部选择,进入输出界面
                    db = sqlite3.connect("db/loginfo.db")
                    cur = db.cursor()
                    data = get_all_log()
                    r = []
                    for key in log_list:
                        if data[key][0] != "无":
                            for i in data[key]:
                                t = []
                                t.append(i)
                                r.append(t)
                    cur.executemany("INSERT INTO log_select(name) VALUES(?)", r)
                    db.commit()
                    cur.close()
                    db.close()
                    self.quit = True
                    self.switch_queue.put("rawinput")
                elif self.view.select == 1:  # 进入具体界面
                    self.quit = True
                    self.switch_queue.put("login")
            elif k == "j":  # 下
                self.view.move(-1)

                self.view.display()
                # self.select +=1
            elif k == "k":  # 上
                # self.select -=1
                self.view.move(1)

                self.view.display()
            # elif k == 'm':# 标记
            #     self.view.marking()
            # elif k =='o':#输入输出地址,然后输出
            #     self.quit = True
            #     self.switch_queue.put('rawinput')

    def _wacthdog_time(self):
        """
        页面时间的变化
        """
        while not self.quit:
            try:
                self.view.display()
                time.sleep(0.3)
            except Exception, e:
                print e
                break
Пример #4
0
class MainController(object):
    '''
    '''
    def __init__(self):
        self._bind_view()
        self.quit = False
        self.queue = Queue.Queue(0)
        self.select = 0

    def _bind_view(self):
        self.view = Main()

    def run(self, switch_queue):

        self.view.display()
        #用于控制切换界面
        self.switch_queue = switch_queue
        self.quit = False
        Thread(target=self._controller).start()
        Thread(target=self._watchdog_queue).start()
        # Thread(target=self._wacthdog_time).start()
        # Thread(target=self._discover_log).start()

    def _controller(self):
        '''
        按键监控
        '''
        while not self.quit:
            k = getch.getch()
            self.queue.put(k)
            #
            # if k == 'q' or k == 'o':
            #    break
            if k == ' ':
                break
            if k == 'q':
                break

    def _watchdog_queue(self):
        '''
        从queue里取出字符执行命令
        '''
        while not self.quit:
            k = self.queue.get()
            if k == 'q':
                self.quit = True
                self.switch_queue.put('bye')
            elif k == ' ':  # 确定
                if self.view.select == 0:  # 全部选择,进入输出界面
                    db = sqlite3.connect('db/loginfo.db')
                    cur = db.cursor()
                    data = get_all_log()
                    r = []
                    for key in log_list:
                        if data[key][0] != '无':
                            for i in data[key]:
                                t = []
                                t.append(i)
                                r.append(t)
                    cur.executemany('INSERT INTO log_select(name) VALUES(?)',
                                    r)
                    db.commit()
                    cur.close()
                    db.close()
                    self.quit = True
                    self.switch_queue.put('rawinput')
                elif self.view.select == 1:  # 进入具体界面
                    self.quit = True
                    self.switch_queue.put('login')
            elif k == 'j':  #下
                self.view.move(-1)

                self.view.display()
                # self.select +=1
            elif k == 'k':  #上
                # self.select -=1
                self.view.move(1)

                self.view.display()
            # elif k == 'm':# 标记
            #     self.view.marking()
            # elif k =='o':#输入输出地址,然后输出
            #     self.quit = True
            #     self.switch_queue.put('rawinput')

    def _wacthdog_time(self):
        '''
        页面时间的变化
        '''
        while not self.quit:
            try:
                self.view.display()
                time.sleep(0.3)
            except Exception, e:
                print e
                break