Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
freckles / templates / src / python_3_src.j2
Size: Mime:
# -*- coding: utf-8 -*-

{% if package_name is defined %}
#
# module path: {{ package_name }}.{{ module_name }}.{{ frecklet.class_name }}
#
{% endif %}

from dataclasses import dataclass
from pyckles import AutoPycklet
from typing import *    # noqa

@dataclass
class {{ frecklet.class_name }}(AutoPycklet):
    """{{ frecklet.doc.get_help(use_short_help=True, default="No documentation available.") | indent(5) }}

       Args:
{% for an, a in frecklet.vars_frecklet.items() %}         {{ an }}: {{ a.doc.get_short_help(use_help=True, default="n/a") }}
{% endfor %}
    """

    FRECKLET_ID = "{{ frecklet.id }}"

{% for arg_name, arg in frecklet.vars.items() %}    {{ arg_name }}: {{ arg.type | get_dataclass_type }} = None
{% endfor %}

    def __post_init__(self):
        super({{ frecklet.class_name }}, self).__init__(var_names=[{{ frecklet.vars.keys() | map('quote') | join(', ') }}])


frecklet_class = {{ frecklet.class_name }}