A utility library that generates service name convention details based on a repo url.
Project description
Gogo-utils
gogo-utils is a utility library that generates a service name convention based on a repo url. The library is mainly used to ensure that an application is able to easily know the path to a service it may need.
from gogoutils import Parser, Generator
url = 'https://github.com/gogoair/test.git'
project, repo = Parser(url).parse_url()
# a way to customize based on your conventions
my_formats = {
'jenkins_job_name': '{project}-{repo}-master',
'app': 'app-{project}{repo}',
}
info = Generator(project, repo, 'dev', formats=my_formats)
info.jenkins()
> {'name': 'gogoair-test-master'}
info.app_name()
> app-gogoairtest
Classes
Parser
This class is needed to parse and gather details about a git repository. A url is split up and the result is a project, repo.
Generator
This class provides details about an application’s details when using different technologies. Its a simple and concise way to know how a specific app is referenced in jenkins, gitlab, s3, iam, dns and among other services tools.
Formats
This class provides a mechanism to alter the way Generator generates certain application references. It it mainly referenced within Generator to provide that functionality.
In setting up the format the following variables are exposed:
domain, env, project, repo, raw_project, raw_repo
Contributions
We encourage contributions, feedback and any bug fixes.
Running Tests
Running tests are very quick and easy when using tox. We validate against python 2.7, 3.4 and 3.5.
To run the tests simply execute
# only needed once
$ pip install -r requirements-dev.txt
$ tox
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for gogo_utils-1.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f1a063b391cc6c7b002ae0538e0012a87884a085ca98d66c7da28d765e97946 |
|
MD5 | d7e5ee4ef1b684c75a4c06027c4cd9a5 |
|
BLAKE2b-256 | b981db41d1f120d1428a99cb5d5265ae351d21c5b955b6f8ba35d045db136f19 |