Example #1
0
 def __init__(self):
     super(MainController, self).__init__()
     self.config_ini = QtCore.QSettings("pref.ini",
                                        QtCore.QSettings.IniFormat)
     # 读ini文件中现在的并发数
     self.thread_number = int(
         self.config_ini.value("/config/thread_number").toString())
     # 文件检测器
     self.monitor = FileMonitor()
     # 记录现在工作路径
     self.working_direcotry = self.monitor.directory
     # 获取现有文件列表
     self.curr_file_list = self.monitor.get_all_path()
     # 监听是否目录被更改
     self.monitor.watcher.directoryChanged.connect(self.directory_handling)
     # 读取之前传输记录
     self.success_handler = FileHandler("success")
     self.success_record = self.success_handler.readFile()
     # 失败记录初始化
     self.fail_record = {}
     # 用文件初始化模型
     self.model = MainTableModel(fail_record=self.fail_record)
     # 初始化上传队列
     self.uploader = UploadController(fail_record=self.fail_record,
                                      directory=self.working_direcotry)
     # 依据并发数加入线程
     for i in range(self.thread_number):
         self.uploader.add_thread()
     # 第一次判定
     self.first_time = True
     self.should_sync = False