Skip to content

Commit 826d265

Browse files
committed
fixed get_service_description to match SCSCP specs
Closes #5
1 parent 40d1829 commit 826d265

File tree

5 files changed

+10
-7
lines changed

5 files changed

+10
-7
lines changed

demo_server.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,9 @@ def is_allowed_head(self, data):
9191
or head.cd == 'scscp1')
9292

9393
def get_service_description(self, data):
94-
return scscp.service_description(self.server.description)
94+
return scscp.service_description(self.server.name.decode(),
95+
self.server.version.decode(),
96+
self.server.description)
9597

9698
class Server(socketserver.ThreadingMixIn, socketserver.TCPServer, object):
9799
allow_reuse_address = True

scscp/cli.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,4 @@ def is_allowed_head(self, name, cd):
109109
return self.heads.scscp2.is_allowed_head([om.OMSymbol(name, cd)])
110110

111111
def get_description(self):
112-
return '\n'.join(a.string for a in self.heads.scscp2.get_service_description([]).arguments)
112+
return [a.string for a in self.heads.scscp2.get_service_description([]).arguments]

scscp/scscp.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -182,8 +182,8 @@ def signature(name, cd, symbol_sets=None, min=None, max=None):
182182
def get_service_description():
183183
return _apply('get_service_description', [])
184184

185-
def service_description(*desc):
186-
return _apply('service_description', [om.OMString(d) for d in desc])
185+
def service_description(service, name, description):
186+
return _apply('service_description', [om.OMString(d) for d in (service, name, description)])
187187

188188
def no_such_transient_cd(cd):
189189
return om.OMError(om.OMSymbol('no_such_transient_cd', cd='scscp2'), [om.OMString(cd)])

tests/test_cli.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def test_two_clients(self):
4545
self.assertEqual(client.status, 2)
4646

4747
def test_description(self):
48-
self.assertEqual(self.client.get_description(), "Demo SCSCP server")
48+
self.assertEqual(self.client.get_description(), ["DemoServer", "none", "Demo SCSCP server"])
4949

5050
def test_arith(self):
5151
cases = [

tests/test_scscp_cd.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@ def test_service_description(self):
99
OMSymbol('get_service_description', 'scscp2', id=None, cdbase=None),
1010
[], id=None, cdbase=None))
1111

12-
self.assertEqual(scscp.service_description('Hello', 'world'),
12+
self.assertEqual(scscp.service_description('Hello', 'world', '!'),
1313
OMApplication(
1414
OMSymbol('service_description', 'scscp2', id=None, cdbase=None),
15-
[OMString('Hello', id=None), OMString('world', id=None)],
15+
[OMString('Hello', id=None), OMString('world', id=None),
16+
OMString('!', id=None)],
1617
id=None, cdbase=None))
1718

1819
def test_procedure(self):

0 commit comments

Comments
 (0)