def get_stypes(self, result=None, run_thread=False): if result: if self.project.stypes: self.create_checkin_checkout_ui() self.toggle_loading_label() self.ui_checkin_checkout.setHidden(False) env_inst.ui_main.set_info_status_text('') if run_thread: env_inst.ui_main.set_info_status_text( '<span style=" font-size:8pt; color:#00ff00;">Getting Search Types</span>') def get_stypes_agent(): return self.project.get_stypes() env_inst.set_thread_pool(None, 'server_query/server_thread_pool') stypes_items_worker = gf.get_thread_worker( get_stypes_agent, env_inst.get_thread_pool('server_query/server_thread_pool'), result_func=self.get_stypes, error_func=gf.error_handle ) stypes_items_worker.start()
def query_projects(self, result=None, run_thread=False): if result: self.restore_opened_projects() self.fill_projects_to_menu() env_inst.ui_main.set_info_status_text('') if run_thread: env_inst.ui_main.set_info_status_text( '<span style=" font-size:8pt; color:#00ff00;">Getting projects</span>') def get_all_projects_agent(): return tc.get_all_projects() # projects_cache = self.load_object('projects_items') projects_cache = None if projects_cache: # self.projects_items = projects_cache if not self.projects_items_thread.isRunning(): self.projects_items_thread.kwargs = dict(result=env_inst.projects) self.projects_items_thread.routine = self.empty_return self.projects_items_thread.start(QtCore.QThread.NormalPriority) else: server_thread_pool = QtCore.QThreadPool() server_thread_pool.setMaxThreadCount(env_tactic.max_threads()) env_inst.set_thread_pool(server_thread_pool, 'server_query/server_thread_pool') projects_items_worker = gf.get_thread_worker( get_all_projects_agent, env_inst.get_thread_pool('server_query/server_thread_pool'), result_func=self.query_projects, error_func=gf.error_handle ) projects_items_worker.start()
def listen(self): def listen_agent(): from array import array address = ('localhost', 6000) # family is deduced to be 'AF_INET' listener = Listener(address, authkey='secret password') conn = listener.accept() print 'connection accepted from', listener.last_accepted conn.send([2.25, None, 'junk', float]) conn.send_bytes('hello') conn.send_bytes(array('i', [42, 1729])) conn.close() listener.close() return 'Done' env_inst.set_thread_pool(None, 'server_query/server_thread_pool') worker = gf.get_thread_worker( listen_agent, env_inst.get_thread_pool('server_query/server_thread_pool'), self.create_ui, gf.error_handle) worker.start()
def search_suggestions(self, key=None): state = self.validator.validate(key, 0)[0].name if state == 'Invalid': key = None if key: code = self.stype.info.get('code') project = self.project.info.get('code') columns = [self.suggest_column, 'keywords'] # print columns filters = [(self.suggest_column, 'EQI', key)] def assets_query_new_agent(): return tc.server_query( filters=filters, stype=code, columns=columns, project=project, limit=self.display_limit, offset=0, ) env_inst.set_thread_pool(None, 'server_query/server_thread_pool') search_suggestions_worker = gf.get_thread_worker( assets_query_new_agent, thread_pool=env_inst.get_thread_pool('server_query/server_thread_pool'), result_func=self.search_suggestions_end, error_func=gf.error_handle ) search_suggestions_worker.try_start()
def create_ui(self): if self.project: self.setWindowTitle('Commit Queue for Project: {0}'.format(self.project.info.get('title'))) else: self.setWindowTitle('Global Commit Queue') # self.setWindowFlags(QtCore.Qt.Window | QtCore.Qt.WindowStaysOnTopHint) self.setWindowFlags(QtCore.Qt.Window) server_thread_pool = QtCore.QThreadPool() server_thread_pool.setMaxThreadCount(1) env_inst.set_thread_pool(server_thread_pool, 'commit_queue/server_thread_pool') self.create_files_queue_tree_context_menu() self.create_progress_bar_widget() self.clearQueuePushButton.setIcon(gf.get_icon('trash')) self.clearQueuePushButton.setEnabled(False) self.commitAllPushButton.setIcon(gf.get_icon('save')) self.commitAllPushButton.setEnabled(False) self.create_empty_queue_label() self.customize_ui() self.controls_actions()
def search_suggestions(self, key=None): if key: code = self.stype.info.get('code') project = self.project.info.get('code') columns = [self.suggest_column] filters = [(self.suggest_column, 'EQI', key)] def assets_query_new_agent(): return tc.server_query( filters=filters, stype=code, columns=columns, project=project, limit=self.display_limit, offset=0, ) server_thread_pool = QtCore.QThreadPool() server_thread_pool.setMaxThreadCount(env_tactic.max_threads()) env_inst.set_thread_pool(server_thread_pool, 'server_query/server_thread_pool') search_suggestions_worker = gf.get_thread_worker( assets_query_new_agent, thread_pool=env_inst.get_thread_pool( 'server_query/server_thread_pool'), result_func=self.search_suggestions_end, error_func=gf.error_handle) search_suggestions_worker.try_start()
def get_widgets(self, kwargs): def query_widgets_agent(): return self.query_widgets(kwargs) env_inst.set_thread_pool(None, 'server_query/server_thread_pool') worker = gf.get_thread_worker( query_widgets_agent, env_inst.get_thread_pool('server_query/server_thread_pool'), self.create_widgets_ui, gf.error_handle) worker.start()
def query_tasks(self): def get_tasks_sobjects_agent(): return self.sobject.get_tasks_sobjects() env_inst.set_thread_pool(None, 'server_query/server_thread_pool') get_tasks_sobjects_worker = gf.get_thread_worker( get_tasks_sobjects_agent, env_inst.get_thread_pool('server_query/server_thread_pool'), result_func=self.fill_tasks, error_func=gf.error_handle, ) get_tasks_sobjects_worker.try_start()
def get_widgets(self, kwargs): def query_widgets_agent(): return tc.execute_procedure_serverside(tq.query_EditWdg, kwargs, project=kwargs['project']) env_inst.set_thread_pool(None, 'server_query/server_thread_pool') worker = gf.get_thread_worker( query_widgets_agent, env_inst.get_thread_pool('server_query/server_thread_pool'), self.create_widgets_ui, gf.error_handle) worker.start()
def get_widgets(self, kwargs): def query_widgets_agent(): return self.query_widgets(kwargs) server_thread_pool = QtCore.QThreadPool() server_thread_pool.setMaxThreadCount(env_tactic.max_threads()) env_inst.set_thread_pool(server_thread_pool, 'server_query/server_thread_pool') worker = gf.get_thread_worker( query_widgets_agent, env_inst.get_thread_pool('server_query/server_thread_pool'), self.create_widgets_ui, gf.error_handle) worker.start()
def query_projects(self): env_inst.ui_main.set_info_status_text( '<span style=" font-size:8pt; color:#00ff00;">Getting projects</span>') def get_all_projects_and_logins_agent(): return tc.get_all_projects_and_logins() env_inst.set_thread_pool(None, 'server_query/server_thread_pool') projects_items_worker = gf.get_thread_worker( get_all_projects_and_logins_agent, env_inst.get_thread_pool('server_query/server_thread_pool'), result_func=self.query_projects_finished, error_func=gf.error_handle ) projects_items_worker.start()
def get_stypes(self, result=None, run_thread=False): if result: self.stypes_items = result self.create_checkin_checkout_ui() # self.create_ui_my_tactic() # self.create_ui_float_notify() # self.create_ui_assets_browser() self.toggle_loading_label() if env_mode.get_mode() == 'maya': dl.log('Handling Maya Hotkeys', group_id='Maya') env_inst.ui_maya_dock.handle_hotkeys() self.ui_checkin_checkout.setHidden(False) env_inst.ui_main.set_info_status_text('') if run_thread: env_inst.ui_main.set_info_status_text( '<span style=" font-size:8pt; color:#00ff00;">Getting Search Types</span>') def get_stypes_agent(): return self.project.get_stypes() stypes_cache = None if stypes_cache: self.stypes_items = stypes_cache if not self.stypes_items_thread.isRunning(): self.stypes_items_thread.kwargs = dict(result=self.stypes_items) self.stypes_items_thread.routine = self.empty_return self.stypes_items_thread.start(QtCore.QThread.NormalPriority) else: server_thread_pool = QtCore.QThreadPool() server_thread_pool.setMaxThreadCount(env_tactic.max_threads()) env_inst.set_thread_pool(server_thread_pool, 'server_query/server_thread_pool') stypes_items_worker = gf.get_thread_worker( get_stypes_agent, env_inst.get_thread_pool('server_query/server_thread_pool'), result_func=self.get_stypes, error_func=gf.error_handle ) stypes_items_worker.start()
def perform_update(self): def get_subscriptions_and_messages_agent(): current_login = env_inst.get_current_login_object() return current_login.get_subscriptions_and_messages(True) env_inst.set_thread_pool(None, 'server_query/server_update_thread_pool') env_inst.set_thread_pool(None, 'server_query/server_thread_pool') query_worker, thread_pool = gf.get_thread_worker( get_subscriptions_and_messages_agent, thread_pool=env_inst.get_thread_pool( 'server_query/server_update_thread_pool'), result_func=self.updating, error_func=self.start_update_timer) if thread_pool.activeThreadCount() == 0: self.stop_update_timer() # print query_worker.start(priority=1) # for i in range(50): thread_pool.try_start(query_worker)