-
Notifications
You must be signed in to change notification settings - Fork 8
Con 1896 jobs progress #95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Summary of ChangesHello @az-smartling, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the Smartling CLI by adding a new Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces a new jobs progress command to check the status of translation jobs. It also includes a significant refactoring to centralize the handling of output parameters. The refactoring is well-executed and improves code structure. However, the implementation of the new jobs progress command has some areas for improvement, including code duplication, redundant checks, and dead code. I've left specific comments with suggestions to address these points.
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. 🤖 Generated with Claude Code - If this code review was useful, please react with 👍. Otherwise, react with 👎. |
| If multiple jobs share the same name, the most recent active job (not Canceled or Closed) | ||
| will be selected. | ||
|
|
||
| Output Formats: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@az-smartling I have updated the documentation for two new commands. Please review the new texts, but I want to draw your attention to these output formats. Of course, this text was generated by LLM, but I'm not sure if we should hard-code it into this command. Perhaps we should make this text a shared const and reuse it in all new commands. What are your thoughts on it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will be good to standardize output related variable for all commands. And move them to root command.
We have
--output-format (simple, json etc)
--output-template ({{.File}}, {{.Language}} ...)
--output-mode (dynamic, static) - only for mt command
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My original comment was about two predefined output styles\templates: simple and json. If we can generalize the code and keep it in the root command, then it is great.
But I didn't get the output-mode (dynamic, static). What is it? And why mt requires a dedicated implementation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For some commands we have table output.
| --output string Output format: table, json, simple (default "simple") |
We should discuss this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@az-smartling I didn't generate the updated documentation. I plan to do this in the master branch when we will merge all related PRs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've generated docs and will generate it on master too after merge.
# Conflicts: # go.mod # go.sum
cmd/jobs/progress/run.go
Outdated
|
|
||
| if progressOutput.TranslationJobUID == "" { | ||
| rlog.Infof("no jobs found for given translationJobUid or translationJobName: %s", params.JobIDOrName) | ||
| return nil |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the exit code that will be returned in this case? I believe it should be non-zero.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed to return error
services/jobs/run_progress.go
Outdated
| } | ||
| } | ||
| if translationJobUID == "" { | ||
| return ProgressOutput{}, nil |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Return some error here.
| return ProgressOutput{}, nil | |
| return ProgressOutput{}, ErrJobNotFound |
| If multiple jobs share the same name, the most recent active job (not Canceled or Closed) | ||
| will be selected. | ||
|
|
||
| Output Formats: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My original comment was about two predefined output styles\templates: simple and json. If we can generalize the code and keep it in the root command, then it is great.
But I didn't get the output-mode (dynamic, static). What is it? And why mt requires a dedicated implementation.
services/jobs/run_progress.go
Outdated
| type ProgressParams struct { | ||
| AccountUID api.AccountUID | ||
| ProjectUID string | ||
| JobIDOrName string |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| JobIDOrName string | |
| JobUIDOrName string |
Smartling/api-sdk-go#24