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 inplace_chekin(self): if self.args_dict['checkin_app'] == 'standalone': def inplace_checkin_agent(): # for in-place checkin check_ok = tc.inplace_checkin( self.args_dict['file_paths'], self.virtual_snapshot, self.args_dict['repo_name'], self.args_dict['update_versionless'], self.args_dict['only_versionless'], self.args_dict['create_icon'], self.args_dict['files_objects'], self.args_dict['padding'], progress_callback=inplace_checkin_worker.emit_progress, ) return check_ok inplace_checkin_worker = gf.get_thread_worker( inplace_checkin_agent, thread_pool=env_inst.get_thread_pool('commit_queue/server_thread_pool'), result_func=self.inplace_checkin_done, finished_func=self.chekin_snapshot, progress_func=self.checkin_progress, error_func=gf.error_handle ) inplace_checkin_worker.start() if self.args_dict['checkin_app'] == 'maya': import thlib.maya_functions as mf mf.set_info_to_scene(self.args_dict['search_key'], self.args_dict['context']) # for in-place checkin check_ok, files_objects = mf.inplace_checkin( self.virtual_snapshot, self.args_dict['repo_name'], self.args_dict['update_versionless'], self.args_dict['only_versionless'], self.args_dict['create_icon'], selected_objects=self.args_dict['selected_objects'], ext_type=self.args_dict['ext_type'], setting_workspace=self.args_dict['setting_workspace'], ) if check_ok: self.args_dict['files_objects'] = files_objects self.chekin_snapshot() else: self.commit_item.set_progress_indicator_on() self.commit_item.set_commit_failed()
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 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 = 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 ) server_thread_pool = env_inst.get_thread_pool('server_query/server_thread_pool') if server_thread_pool.activeThreadCount() == 0: self.stop_update_timer() # print query_worker.start(priority=1) # for i in range(50): query_worker.try_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 chekin_snapshot(self): self.update_args_dict() def inplace_checkin_agent(): info_dict = { 'status_text': 'Saving Snapshot To DB', 'total_count': 2 } snapshot_checkin_worker.emit_progress(0, info_dict) snapshot = tc.checkin_snapshot( search_key=self.args_dict['search_key'], context=self.args_dict['context'], snapshot_type=self.args_dict['snapshot_type'], is_revision=self.args_dict['is_revision'], description=self.args_dict['description'], version=self.args_dict['version'], update_versionless=self.args_dict['update_versionless'], only_versionless=self.args_dict['only_versionless'], keep_file_name=self.args_dict['keep_file_name'], repo_name=self.args_dict['repo_name'], virtual_snapshot=self.virtual_snapshot, files_dict=self.args_dict['files_dict'], mode=self.args_dict['mode'], create_icon=self.args_dict['create_icon'], files_objects=self.args_dict['files_objects'], ) snapshot_checkin_worker.emit_progress(1, info_dict) return snapshot snapshot_checkin_worker = gf.get_thread_worker( inplace_checkin_agent, thread_pool=env_inst.get_thread_pool('commit_queue/server_thread_pool'), result_func=self.checkin_done, progress_func=self.checkin_progress, error_func=gf.error_handle ) snapshot_checkin_worker.start()