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()
Exemple #5
0
    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()
Exemple #6
0
    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()