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
Create new library RPA.Smartsheet
#880
Conversation
* Set access token * Set max retry time * Get application constants * List sheets * Unselect current sheet * Get sheet * Convert sheet to table * Get sheet owner * List sheet filters * Create sheet * Search * List columns * Add columns * Add column * Update column * Convert row to dict * Get row * Set rows * Set row * Add rows * List attachments * Download attachment * Get current user
You can now set a `download_path`.
This was requested from client feedback for the initial version of the library.
Also implement some assistance features around using rows.
Tests are failing only because google.com is blocking our test traffic with a reCaptcha. |
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.
Review comments below:
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.
Thanks for the huge effort of bringing this in, still, besides a few cosmetics I've discovered some bugs and other issues that we may need to improve before releasing it.
Post-review PR
Outside of the inline comments, here are some other matters:
- We need a README entry as well describing this library.
- I saw no docs being able to be generated for
RPA.Smartsheet
(with invdocs.*
commands in my branchreview/library/smartsheet
) -- also take note of theinvocations.docs.EXCLUDES
constant as well. - Make sure you're consistent with using
Camel Case Keyword
format in examples/tests. (the default behavior of exposed keywords)
Nice to have
How hard is to setup a test drive where we can run in CI a few basic sweet-case RF robot tests, testing end-to-end for real the service? (the mocks of unit-tests won't be able to let us know if there's something fundamentally wrong with the library usage when accidentally introducing a regression in the future)
PyCharm can discover/warn most of these
@cmin764 What linter or otherwise is PyCharm running to report those problems? I would think integrating that into our linters would be the best thing to do, second best is integrate that into VSCode so one does not need to install a whole IDE just to check those problems... As for the Docs was on my list to build and then I got sidetracked just getting the actual documentation into the code and never built them, I'll need to build them tomorrow. I've responded to most if not all of your comments and resolved those that were straight forward or I agreed with. Thank you for the thorough review! |
Good question, and here's an unofficial answer. So most probably we use the same linters, just that our configuration is less strict to not make CI a smartass dictator. But this doesn't mean we have to ignore such warnings/problems, as misleading type-annotations might be worse than no types at all. PyCharm was built by Py devs for Py devs and it comes with its own IDE effort to help you write error-proof idiomatic Python code faster. If we use the right tool for the job, which is developing a Python library, the time spent to install, learn & use such new IDE might be less than the time spent in reviews & refactoring on both sides.
I'm aware just of this recent debate, where it was suggested the opposite. But please let me know if there's any newer contradiction to this.
You welcome and thank you for addressing them (or explaining the decision/opinion behind)! |
And add `isort` to `pyproject.toml` dev dependencies and set isort's profile to `black`
Alright, cleared everything and built the docs without error. I did not have a chance to test the logging nor did I have time to test it with a live robot yet. I must switch projects and cannot devote much more time to this unfortunately. |
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.
LGTM! (although real robot tests are missing -- we can address missing stuff in a follow-up PR post-merge)
One check failed due to Google blocking our traffic. |
Create the new library
RPA.Smartsheet
. This includes the new way we can import__version__
. This will need to be added to other packages via a follow on PR.To do list:
Keywords included in initial release: