Skip to content
This repository was archived by the owner on Jan 9, 2021. It is now read-only.

Commit e80604f

Browse files
hlgaothms
authored andcommitted
basic autocompletion
1 parent d336146 commit e80604f

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

bimserver.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,13 @@ def make_request(self, method, **kwargs):
4040

4141
def __getattr__(self, method):
4242
return lambda **kwargs: self.make_request(method, **kwargs)
43+
44+
def __dir__(self):
45+
interFaceMethods = self.api.MetaInterface.getServiceMethods(serviceInterfaceName="org.bimserver."+self.name)
46+
# TODO use long names
47+
interFaceMethodNames = [method["name"] for method in interfaceMethods]
48+
return sorted(set(api.interface.__dict__.keys() + self.__dict__.keys()).union(interFaceMethodNames))
49+
4350

4451

4552
token = None
@@ -75,3 +82,6 @@ def __getattr__(self, interface):
7582

7683
raise AttributeError("'%s' is does not name a valid interface on this server" % interface)
7784
return api.interface(self, interface)
85+
86+
def __dir__(self):
87+
return sorted(set(api.__dict__.keys() + self.__dict__.keys()).union(self.interfaces))

0 commit comments

Comments
 (0)