Skip to content

Commit 3ab1f00

Browse files
committed
Output ... when generating interfaces without members
Otherwise the body of the class will be empty which raises the syntax error.
1 parent 8af9ea3 commit 3ab1f00

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

src/sdbus/interface_generator.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -540,6 +540,10 @@ def __init__(self, element: Element):
540540
else:
541541
raise ValueError(f'Unknown D-Bus member {dbus_member}')
542542

543+
@property
544+
def has_members(self) -> bool:
545+
return any((self.methods, self.properties, self.signals))
546+
543547

544548
SKIP_INTERFACES = {
545549
'org.freedesktop.DBus.Properties',
@@ -549,6 +553,7 @@ def __init__(self, element: Element):
549553
}
550554

551555
INTERFACE_TEMPLATES: Dict[str, str] = {
556+
"generic_no_members": r"... # Interface has no members",
552557
"generic_method_flags": (
553558
r"""
554559
{%- if method.dbus_input_signature %}
@@ -609,6 +614,7 @@ def __init__(self, element: Element):
609614
interface_name="{{ interface.interface_name }}",
610615
):
611616
{%- filter indent -%}
617+
{%- if interface.has_members -%}
612618
{% for method in interface.methods -%}
613619
{% include 'async_method' %}
614620
{% endfor -%}
@@ -618,6 +624,9 @@ def __init__(self, element: Element):
618624
{% for signal in interface.signals -%}
619625
{% include 'async_signal' %}
620626
{% endfor -%}
627+
{%- else %}
628+
{% include 'generic_no_members' %}
629+
{% endif -%}
621630
{%- endfilter -%}
622631
"""
623632
),
@@ -693,12 +702,16 @@ def {{ signal.python_name }}(self) -> {{ signal.typing }}:
693702
interface_name="{{ interface.interface_name }}",
694703
):
695704
{%- filter indent -%}
705+
{%- if interface.has_members -%}
696706
{% for method in interface.methods -%}
697707
{% include 'blocking_method' %}
698708
{% endfor -%}
699709
{% for a_property in interface.properties -%}
700710
{% include 'blocking_property' %}
701711
{% endfor -%}
712+
{%- else %}
713+
{% include 'generic_no_members' %}
714+
{% endif -%}
702715
{%- endfilter -%}
703716
"""
704717
),

0 commit comments

Comments
 (0)