Beispiel #1
0
def __create_build(record: database.Build):
    return models.Build(
        id=str(record.id),
        type="builds",
        attributes=models.BuildAttributes(status=record.status.name),
        relationships=models.BuildRelationships(
            ecosystem=models.RepoRelationshipsEcosystem(
                models.RepoRelationshipsEcosystemData(
                    id=record.profile.ecosystem_id, type="ecosystems")),
            commit=models.BuildRelationshipsCommit(
                data=models.BuildRelationshipsCommitData(id=record.commit_id,
                                                         type="commits")),
            profile=models.BuildRelationshipsProfile(
                data=models.EcosystemRelationshipsProfilesData(
                    id=record.profile_id, type="profiles")),
            log=models.BuildRelationshipsLog(
                data=models.BuildRelationshipsLogData(id=record.log_id,
                                                      type="logs")),
            package=models.BuildRelationshipsPackage(
                data=models.BuildRelationshipsPackageData(id=record.package_id,
                                                          type="packages")),
            missing_recipes=models.BuildRelationshipsMissingpackages(data=[
                models.BuildRelationshipsPackageData(id=p.id, type="recipes")
                for p in record.missing_recipes
            ]),
            missing_packages=models.BuildRelationshipsMissingpackages(data=[
                models.BuildRelationshipsPackageData(id=p.id, type="packages")
                for p in record.missing_packages
            ])))
Beispiel #2
0
def __createChannel(record: database.Channel):
    return models.Channel(
        id=str(record.id),
        type="channels",
        attributes=models.ChannelAttributes(name=record.name,
                                            conan_channel=record.conan_channel,
                                            branch=record.branch),
        relationships=models.ProfileRelationships(
            ecosystem=models.RepoRelationshipsEcosystem(
                data=models.RepoRelationshipsEcosystemData(
                    id=record.ecosystem_id, type="ecosystems"))))
Beispiel #3
0
def __create_recipe(record: database.Recipe):
    return models.Recipe(
        id=str(record.id),
        type="recipes",
        attributes=models.RecipeAttributes(name=record.name,
                                           version=record.version,
                                           channel=record.channel,
                                           user=record.user),
        relationships=models.RecipeRelationships(
            ecosystem=models.RepoRelationshipsEcosystem(
                data=models.RepoRelationshipsEcosystemData(
                    id=record.ecosystem_id, type="ecosystems")),
            revisions=models.RecipeRelationshipsRevisions(
                models.RecipeRelationshipsRevisionsLinks(related="revision"))))
Beispiel #4
0
 def __create_repo(self, name, url, path):
     return models.RepoData(data=models.Repo(
         type="repos",
         attributes=models.RepoAttributes(
             name=name,
             url=url,
             path=path,
             exclude=[models.RepoAttributesExclude("embedded")],
             options=[
                 models.RepoAttributesOptions(key=f"{name}:shared",
                                              value="True")
             ]),
         relationships=models.RepoRelationships(
             ecosystem=models.RepoRelationshipsEcosystem(
                 data=models.RepoRelationshipsEcosystemData(
                     type="ecosystems", id="1")))))
Beispiel #5
0
def __create_profile(record: database.Profile):
    return models.Profile(
        id=str(record.id),
        type="profiles",
        attributes=models.ProfileAttributes(
            name=record.name,
            container=record.container,
            platform=record.platform.name if record.platform else "",
            conan_profile=record.conan_profile,
            docker_user=record.docker_user,
            docker_password=record.docker_password,
            labels=[
                models.RepoAttributesExclude(label=r.value)
                for r in record.labels
            ]),
        relationships=models.ProfileRelationships(
            ecosystem=models.RepoRelationshipsEcosystem(
                data=models.RepoRelationshipsEcosystemData(
                    id=record.ecosystem_id, type="ecosystems"))))
Beispiel #6
0
 def __create_profile(self, name, container):
     return models.ProfileData(
         data=models.Profile(
             type="profiles",
             attributes=models.ProfileAttributes(
                 name=name,
                 container=container,
                 platform="linux",
                 conan_profile="linux-release",
                 labels=[models.RepoAttributesExclude("embedded")]
             ),
             relationships=models.ProfileRelationships(
                 ecosystem=models.RepoRelationshipsEcosystem(
                     data=models.RepoRelationshipsEcosystemData(
                         type="ecosystems",
                         id="1"
                     )
                 )
             )
         )
     )
Beispiel #7
0
def __create_repo(record: database.Repo):
    return models.Repo(
        id=str(record.id),
        type="repos",
        attributes=models.RepoAttributes(
            name=record.name,
            url=record.url,
            path=record.path,
            exclude=[
                models.RepoAttributesExclude(label=r.value)
                for r in record.exclude
            ],
            options=[
                models.RepoAttributesOptions(key=r.key, value=r.value)
                for r in record.options
            ]),
        relationships=models.RepoRelationships(
            commits=models.RepoRelationshipsCommits(
                links=models.RepoRelationshipsCommitsLinks(
                    related="commit".format(record.id))),
            ecosystem=models.RepoRelationshipsEcosystem(
                data=models.RepoRelationshipsEcosystemData(
                    id=record.ecosystem.id, type="ecosystems"))))