コード例 #1
0
ファイル: test_classes.py プロジェクト: elcaminoreal/pulgas
    class PackageSpec(object):

        extras = pulgas.override(schema=[text_type],
                                 default=attr.Factory(list))
        git = ref = file = path = index = pulgas.optional(schema=text_type)
        os_name = markers = pulgas.optional(schema=text_type)
        editable = pulgas.override(schema=bool, default=False)
        version = pulgas.override(schema=text_type, default='*')
コード例 #2
0
ファイル: test_classes.py プロジェクト: elcaminoreal/pulgas
    class Requires(object):

        os_name = sys_platform = platform_machine = pulgas.optional(text_type)
        platform_python_implementation = pulgas.optional(text_type)
        platform_machine = platform_version = pulgas.optional(text_type)
        platform_release = platform_system = pulgas.optional(text_type)
        python_version = python_full_version = pulgas.optional(text_type)
        implementation_version = pulgas.optional(text_type)
        implementation_name = sys_platform = pulgas.optional(text_type)
コード例 #3
0
ファイル: test_classes.py プロジェクト: elcaminoreal/pulgas
class PyProject(object):
    @pulgas.config()
    class BuildSystem(object):

        requires = pulgas.required(schema=[text_type])
        build_backend = pulgas.optional(schema=text_type,
                                        real_name='build-backend')

    build_system = pulgas.optional(schema=pulgas.sub(BuildSystem),
                                   real_name='build-system')

    tool = pulgas.override(schema=object, default=attr.Factory(dict))
コード例 #4
0
ファイル: test_classes.py プロジェクト: elcaminoreal/pulgas
    class BuildSystem(object):

        requires = pulgas.required(schema=[text_type])
        build_backend = pulgas.optional(schema=text_type,
                                        real_name='build-backend')
コード例 #5
0
ファイル: test_classes.py プロジェクト: elcaminoreal/pulgas
class Pipfile(object):
    @pulgas.config()
    class Source(object):

        url = pulgas.required(schema=text_type)
        name = pulgas.required(schema=text_type)
        verify_ssl = pulgas.override(schema=bool, default=True)

    # Copied from PEP 508, removed "extra"
    @pulgas.config()
    class Requires(object):

        os_name = sys_platform = platform_machine = pulgas.optional(text_type)
        platform_python_implementation = pulgas.optional(text_type)
        platform_machine = platform_version = pulgas.optional(text_type)
        platform_release = platform_system = pulgas.optional(text_type)
        python_version = python_full_version = pulgas.optional(text_type)
        implementation_version = pulgas.optional(text_type)
        implementation_name = sys_platform = pulgas.optional(text_type)

    @pulgas.config()
    class Packages(object):

        packages = pulgas.custom(default=attr.Factory(dict))

        @classmethod
        def __pulgas_from_config__(cls, config):
            spec = schema.Or(
                text_type,  # Should be version str
                pulgas.sub(Pipfile.PackageSpec))
            my_schema = schema.Schema({text_type: spec})
            validated_config = my_schema.validate(config)

            def to_spec(value):
                if isinstance(value, text_type):
                    return Pipfile.PackageSpec(version=value)
                return value

            packages = {
                name: to_spec(value)
                for name, value in validated_config.items()
            }
            return cls(packages=packages)

    @pulgas.config()
    class PackageSpec(object):

        extras = pulgas.override(schema=[text_type],
                                 default=attr.Factory(list))
        git = ref = file = path = index = pulgas.optional(schema=text_type)
        os_name = markers = pulgas.optional(schema=text_type)
        editable = pulgas.override(schema=bool, default=False)
        version = pulgas.override(schema=text_type, default='*')

    source = pulgas.override(schema=[pulgas.sub(Source)],
                             default=[
                                 Source(url=('https://pypi.python.org/'
                                             'simple'),
                                        verify_ssl=True,
                                        name='pypi')
                             ])

    requires = pulgas.optional(schema=pulgas.sub(Requires))

    packages = pulgas.optional(schema=pulgas.sub(Packages))

    dev_packages = pulgas.optional(schema=pulgas.sub(Packages),
                                   real_name='dev-packages')