コード例 #1
0
    def take_action(self, parsed_args):
        api = memsource_cli.JobApi(self.app.client)
        response = api.get_part(token=self.app.client.configuration.token,
                                project_uid=parsed_args.project_uid,
                                job_uid=parsed_args.job_uid)

        return utils._print_output(response)
コード例 #2
0
ファイル: job.py プロジェクト: zerodayz/memsource-cli-client
    def take_action(self, parsed_args):
        api = memsource_cli.JobApi(self.app.client)
        query_params = vars(parsed_args)
        args = {}
        all_params = [
            'project_uid', 'page_number', 'page_size', 'count',
            'workflow_level', 'status', 'assigned_user', 'due_in_hours',
            'filename', 'target_lang', 'assigned_vendor'
        ]  # noqa: E501

        for k, v in query_params.items():
            if k in all_params and v is not None:
                args[k] = v

        response = api.list_parts_v2(token=self.app.client.configuration.token,
                                     **args)

        column_headers = [
            'uid', 'status', 'providers', 'target_lang', 'workflow_step',
            'filename', 'date_due', 'date_created', 'imported', 'continuous'
        ]

        data = []

        output = response.to_dict()
        content = output['content']

        for i in range(0, len(content)):
            data += [(content[i]['uid'], content[i]['status'],
                      content[i]['providers'], content[i]['target_lang'],
                      content[i]['workflow_step'], content[i]['filename'],
                      content[i]['date_due'], content[i]['date_created'],
                      content[i]['imported'], content[i]['continuous'])]

        return ((column_headers), (data))
コード例 #3
0
    def take_action(self, parsed_args):
        api = memsource_cli.JobApi(self.app.client)
        if parsed_args.output_dir:
            self.app.configuration.temp_folder_path = parsed_args.output_dir

        if parsed_args.output_dir:
            if not os.path.exists(parsed_args.output_dir):
                try:
                    os.makedirs(parsed_args.output_dir)
                except OSError as exc:
                    if exc.errno != errno.EEXIST:
                        raise

        file_paths = []
        if parsed_args.type == "target":
            for job_uid in parsed_args.job_uid:
                path = api.completed_file(
                    token=self.app.client.configuration.token,
                    project_uid=parsed_args.project_uid,
                    job_uid=job_uid,
                    format=parsed_args.target_format)
                file_paths.append(path)
            header = (("type"), ("format"), ("path"))
            values = ((parsed_args.type), (parsed_args.target_format),
                      (file_paths))

        elif parsed_args.type == "original":
            for job_uid in parsed_args.job_uid:
                path = api.get_original_file(
                    token=self.app.client.configuration.token,
                    project_uid=parsed_args.project_uid,
                    job_uid=job_uid)
                file_paths.append(path)
            header = (("type"), ("path"))
            values = ((parsed_args.type), (file_paths))

        elif parsed_args.type == "bilingual":
            _job_ids = []
            for job_uid in parsed_args.job_uid:
                _job_ids.append({'uid': job_uid})
            path = api.get_bilingual_file(
                token=self.app.client.configuration.token,
                project_uid=parsed_args.project_uid,
                body={"jobs": _job_ids},
                format=parsed_args.bilingual_format)
            file_paths.append(path)
            header = (("type"), ("format"), ("path"))
            values = ((parsed_args.type), (parsed_args.bilingual_format),
                      (file_paths))

        return ((header), (values))
コード例 #4
0
    def take_action(self, parsed_args):
        api = memsource_cli.JobApi(self.app.client)

        _job_ids = []
        for i in parsed_args.job_ids:
            _job_ids.append({'uid': i})

        print("Accepted request to delete jobs: %s in project %s" %
              (parsed_args.job_ids, parsed_args.project_uid))

        api.delete_parts(token=self.app.client.configuration.token,
                         project_uid=parsed_args.project_uid,
                         purge=parsed_args.purge,
                         body={"jobs": _job_ids})
コード例 #5
0
    def take_action(self, parsed_args):
        api = memsource_cli.JobApi(self.app.client)
        query_params = vars(parsed_args)
        args = {}
        all_params = ['project_uid', 'page_number', 'page_size',
                      'count', 'workflow_level', 'status', 'assigned_user',
                      'due_in_hours', 'filename', 'target_lang', 'assigned_vendor']  # noqa: E501

        for k, v in query_params.items():
            if k in all_params and v is not None:
                args[k] = v

        response = api.list_parts_v2(token=self.app.client.configuration.token,
                                     **args)

        column_pages = ['total_elements', 'total_pages', 'page_size', 'page_number', 'number_of_elements']
        column_headers = ['uid', 'status', 'providers',
                          'target_lang', 'workflow_step', 'filename',
                          'date_due', 'date_created', 'imported', 'continuous']

        data = []

        output = response.to_dict()
        content = output['content']

        meta = [(output['total_elements'], output['total_pages'], output['page_size'], output['page_number'],
                 output['number_of_elements'])]

        for column in parsed_args.columns:
            if column in column_pages:
                return (column_pages), (meta)

        for i in range(0, len(content)):
            for j in column_headers:
                if isinstance(content[i][j], dict):
                    content[i][j] = json.dumps(content[i][j])
            data += [(content[i]['uid'],
                      content[i]['status'],
                      content[i]['providers'],
                      content[i]['target_lang'],
                      content[i]['workflow_step'],
                      content[i]['filename'],
                      json.dumps(content[i]['date_due'],
                                 default=str).replace('"', ''),
                      json.dumps(content[i]['date_created'],
                                 default=str).replace('"', ''),
                      content[i]['imported'],
                      content[i]['continuous'])]

        return((column_headers), (data))
コード例 #6
0
    def take_action(self, parsed_args):
        api = memsource_cli.JobApi(self.app.client)

        _providers = []
        for i in parsed_args.providers:
            provider = i.split('=')
            provider_type = provider[0]
            provider_id = provider[1]
            _providers.append({'type': provider_type, 'id': provider_id})

        _jobs = []
        for i in parsed_args.jobs:
            _jobs.append({'uid': i})

        response = api.edit_parts(token=self.app.client.configuration.token,
                                  project_uid=parsed_args.project_uid,
                                  body={
                                      "status": parsed_args.status,
                                      "providers": _providers,
                                      "dateDue": parsed_args.date_due,
                                      "jobs": _jobs
                                  })
        return utils._print_output(response)