def emit_types():
        def get_code(t):
            if isinstance(t, core.Class):
                code = _emit_snippet_class(t)
            else:
                code = _emit_snippet_enum(t)
            code += gu.emit_line_return(2)

            return code

        return gu.emit(get_classes(p), get_code, sort=False) + \
               gu.emit(p.enums, get_code)
Example #2
0
    def get_imports():
        def get_code(c):
            return "from {0} import {1}".format(
                pgu.get_package_module_name(c.package, 'decoder'),
                _get_decoder_function_name(c)) + gu.emit_line_return()

        return gu.emit(o.entities, get_code)
Example #3
0
def _emit_snippet_decodings(c):
    """Emits a set of class decodings."""
    code = []
    for p in sorted(c.all_properties, key= lambda p: p.name):
        for dc in c.get_property_decodings(p):
            if dc.decoding is not None:
                code.append(_emit_snippet_decoding(p, dc.decoding, dc.type))

    return gu.emit(code)
    def emit_imports():
        def get_code(ap):
            return "import {} as {}{}".format(
                pgu.get_package_module_name(ap, 'typeset'),
                ap.op_name,
                gu.emit_line_return())

            return code

        return gu.emit(p.associated_for_import, get_code)
Example #5
0
def emit_package_imports(o):
    """Emit set of package imports.

    """
    def emit_import(p):
        return "import {} as {}{}".format(
            get_package_module_name(p, 'typeset'),
            p.op_name,
            gu.emit_line_return())

    return gu.emit(o.packages, emit_import)
def _emit_snippet_class_computed_properties(c):
    """Emits set of class computed properties."""
    def get_code(cp):
        # Open template.
        code = _TEMPLATES[_TEMPLATE_CLASS_COMPUTED_PROPERTY]

        # Generate code.
        code = code.replace('{computed-property-name}', cp.name)
        code = code.replace('{computed-property-computation}', cp.computation)

        return code

    return gu.emit(c.computed_properties, get_code)
def _emit_snippet_class_properties(c):
    """Emits set of class properties."""
    def get_code(p):
        return "{0}{1}{2}# {3} ({4}){5}".format(
            gu.emit_indent(2),
            pgu.get_property_ctor(p),
            ''.ljust(50 - len(pgu.get_property_ctor(p))),
            pgu.get_type_doc_name(p.type),
            p.cardinality,
            gu.emit_line_return()
        )

    return gu.emit(c.properties, get_code)
    def emit_descriptions():
        def get_code(m):
            code = gu.emit_line_return()
            code += gu.emit_indent(2)
            code += '"{}"'.format(m.doc_string)

            return code

        code = gu.emit(e.members, get_code, joiner=",", sort=False)
        code += gu.emit_line_return()
        code += gu.emit_indent(2)

        return code
    def emit_members():
        def get_code(m):
            code = gu.emit_line_return()
            code += gu.emit_indent(2)
            code += '"{}"'.format(m.name)

            return code

        code = gu.emit(e.members, get_code, joiner=",", sort=False)
        code += gu.emit_line_return()
        code += gu.emit_indent(2)

        return code
def _emit_snippet_class_property_constants(c):
    """Emits set of class property constants."""
    def get_code(cnt):
        prp = c.get_property(cnt[0])
        if prp is not None:
            return '{0}self.{1} = {2}("{3}"){4}'.format(
                gu.emit_indent(2),
                cnt[0],
                pgu.get_type_functional_name(prp.type),
                cnt[1],
                gu.emit_line_return()
            )

    return gu.emit(c.constants, get_code)