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.12.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c78c963ec91a03a342e342a8a858256c8e10c1a94587901d3579b4583da524bf |
|
MD5 | e35c5d40ac6c9687398566b38a6fb9a3 |
|
BLAKE2b-256 | 371dd3211cc0c2102a303195e76f63016a424e4932c7df5159d090e8f0baccc7 |
Close
Hashes for ign_gpao_project_builder-0.12.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a993bd93eb525d240158cbb51506a2c0474c6b688583902eb010e23384cc0240 |
|
MD5 | 2a972ad0287a5f52201f73ee5640f43d |
|
BLAKE2b-256 | 636239da0786fc510c638e735ec11bf7770f57b8444486533e58e19a8e2d8293 |