Write a json's GPAO file
Project description
IGN GPAO Project Builder
IGN GPAO Project Builder est une bibliothèque python de création de projet au format JSON pour la GPAO.
Prérequis
- Python 3 ou plus
Installation
Vous pouvez la télécharger depuis les dépôts officiels de PyPI:
pip install ign-gpao-project-builder
Exemple d'utilisation
from gpao.builder import Builder
from gpao.project import Project
from gpao.job import Job
job1 = Job("job1", "touch file", tags=["tag1", "tag2"])
job2 = Job("job2", "touch file")
job3 = Job("job3", "touch file", job1, tags=["tag1", "tag2"])
job3.add_dependency(job2)
# print(job1.to_json())
# print(job2.to_json())
# print(job3.to_json())
project1 = Project("project1", [job1, job2, job3])
# print(project1.to_json())
job4 = Job("job4", "touch file")
job5 = Job("job5", "touch file")
job5.add_dependency(job4)
project2 = Project("project2", [job4, job5])
# print(project2.to_json())
job6 = Job("job6", "touch file")
job7 = Job("job7", "touch file", job6)
project3 = Project("project3", [job6, job7], [project1, project2])
# print(project3.to_json())
builder = Builder([project1, project2])
builder.add_project(project3)
builder.save_as_json("project.json")
job8 = Job("job8", "touch file")
job8bis = Job("job8bis", "touch file", job8)
project4 = Project("project4", [job8, job8bis])
job9 = Job("job9", "touch file")
project5 = Project("project5", [job9], [project4])
builder = Builder([project4, project5])
builder.send_project_to_api("http://localhost:8080")
Cet exemple sauvegarde un fichier project.json
avec le contenu suivant :
{
"projects": [
{
"name": "project1",
"jobs": [
{
"name": "job1",
"command": "touch file",
"tags": [
"tag1",
"tag2"
]
},
{
"name": "job2",
"command": "touch file"
},
{
"name": "job3",
"command": "touch file",
"deps": [
{
"id": 0
},
{
"id": 1
}
],
"tags": [
"tag1",
"tag2"
]
}
]
},
{
"name": "project2",
"jobs": [
{
"name": "job4",
"command": "touch file"
},
{
"name": "job5",
"command": "touch file",
"deps": [
{
"id": 0
}
]
}
]
},
{
"name": "project3",
"jobs": [
{
"name": "job6",
"command": "touch file"
},
{
"name": "job7",
"command": "touch file",
"deps": [
{
"id": 0
}
]
}
],
"deps": [
{
"id": 0
},
{
"id": 1
}
]
}
]
}
Licence
Ce projet est sous licence CECILL-B (voir LICENSE.md).
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
Close
Hashes for ign-gpao-project-builder-0.10.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 234d3ab79a4e1eadd756a23d685d1335d8f42bf7d0da9e7d34af110b328e66d9 |
|
MD5 | 1f18bb7db55223951781dd95d6151fdb |
|
BLAKE2b-256 | efa44d8022436e5e2f2be4b8e94b3987d7d9835a44969196211a29f84f56aa8b |
Close
Hashes for ign_gpao_project_builder-0.10.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bded93eabc7a910ebfd00f110fc40a49afc223b2c319df8690f65352b2fce33f |
|
MD5 | a3dc5b06b2b14b0f5af97c6b390475ca |
|
BLAKE2b-256 | d0d0f86372d06894d08b648cafb64411bea3666590fa01fb1a106ae42b98d92f |