-
Notifications
You must be signed in to change notification settings - Fork 33
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
Problem: The Automation Tools AMClient script could be easier to jump into and add functionality #47
Comments
During your endeavor please try to keep in mind that this repo doesn't follow Python's best practices and people is going to expect that things keep working as usual, i.e. clone the repo and use it as it was described in the installation instructions, files like I think that we need a long-term plan that serves as basis for future efforts like #46. To be clear, I like #46 but I'm also wondering if the next effort should be previously discussed. I personally like the way that https://github.com/docker/compose is arranged and I think that it'd be awesome that automation-tools moves into that direction. |
* Creates new logging configuration script to reduce redundancy * Separates responsibility of amclient, defaults, and cli args * Cleans up argparse output using metavar * Adds Conformity to PEP8 to amclient.py and transfers.py * Returns user friendly string via getattr if function call fails in main * Improved error return from JSON request function in amclient.py * Adds .db and .lck files to .gitignore * Works at module and executable level * E402 flake8 warning ignored in Tox to enable module/exe to work * Captures connection errors in transfers.py better * Initial changes provides scope for future refactoring as required * Addresses #47
* Creates new logging configuration script to reduce redundancy * Separates responsibility of amclient, defaults, and cli args * Cleans up argparse output using metavar * Adds Conformity to PEP8 to amclient.py and transfers.py * Returns user friendly string via getattr if function call fails in main * Improved error return from JSON request function in amclient.py * Adds .db and .lck files to .gitignore * Works at module and executable level * E402 flake8 warning ignored in Tox to enable module/exe to work * Captures connection errors in transfers.py better * Initial changes provides scope for future refactoring as required * Addresses #47
* Creates new logging configuration script to reduce redundancy * Separates responsibility of amclient, defaults, and cli args * Cleans up argparse output using metavar * Adds Conformity to PEP8 to amclient.py and transfers.py * Returns user friendly string via getattr if function call fails in main * Improved error return from JSON request function in amclient.py * Adds .db and .lck files to .gitignore * Works at module and executable level * E402 flake8 warning ignored in Tox to enable module/exe to work * Captures connection errors in transfers.py better * Initial changes provides scope for future refactoring as required * Addresses #47
* Creates new logging configuration script to reduce redundancy * Separates responsibility of amclient, defaults, and cli args * Cleans up argparse output using metavar * Adds Conformity to PEP8 to amclient.py and transfers.py * Returns user friendly string via getattr if function call fails in main * Improved error return from JSON request function in amclient.py * Adds .db and .lck files to .gitignore * Works at module and executable level * E402 flake8 warning ignored in Tox to enable module/exe to work * Captures connection errors in transfers.py * Initial changes provides scope for future refactoring as required * Addresses #47
* Creates new logging configuration script to reduce redundancy * Separates responsibility of amclient, defaults, and cli args * Cleans up argparse output using metavar * Adds Conformity to PEP8 to amclient.py and transfers.py * Returns user friendly string via getattr if function call fails in main * Improved error return from JSON request function in amclient.py * Adds .db and .lck files to .gitignore * Works at module and executable level * E402 flake8 warning ignored in Tox to enable module/exe to work * Captures connection errors in transfers.py * Initial changes provides scope for future refactoring as required * Addresses #47
* Creates new logging configuration script to reduce redundancy * Separates responsibility of amclient, defaults, and cli args * Cleans up argparse output using metavar * Adds Conformity to PEP8 to amclient.py and transfers.py * Returns user friendly string via getattr if function call fails in main * Improved error return from JSON request function in amclient.py * Adds .db and .lck files to .gitignore * Works at module and executable level * E402 flake8 warning ignored in Tox to enable module/exe to work * Captures connection errors in transfers.py * Adds a utils module to handle json requests across scripts * Initial changes provides scope for future refactoring as required * Addresses #47
* Creates new logging configuration script to reduce redundancy * Separates responsibility of amclient, defaults, and cli args * Cleans up argparse output using metavar * Adds Conformity to PEP8 to amclient.py and transfers.py * Returns user friendly string via getattr if function call fails in main * Improved error return from JSON request function in amclient.py * Adds .db and .lck files to .gitignore * Works at module and executable level * E402 flake8 warning ignored in Tox to enable module/exe to work * Captures connection errors in transfers.py * Adds a utils module to handle json requests across scripts * Initial changes provides scope for future refactoring as required * Addresses #47
Closed via 699b018 |
As a developer I like to be able to see a division in responsibilities of code. For example being able to see clearly where I can add new CLI args, or new logic.
The AMClient.py script in Automation Tools currently tries to do a lot of this in a single script - args/logging/functional logic. I think there is an opportunity to pull those three pieces apart to make it easier for developers to work with and open the opportunity for smaller refactors in the future.
AMClient.py is a good candidate to have this attention paid to it as its functionality is only likely to grow as it wraps the AM API capabilities in a consistent way.
Proposal:
This will reduce the size of each of the scripts and hopefully make it a bit easier for folk to delve into.
The text was updated successfully, but these errors were encountered: