From 8f33cfd27c4f726e4e2dfbd8dd855e84b8230a12 Mon Sep 17 00:00:00 2001 From: sarahmarshy Date: Mon, 15 Jun 2015 11:19:48 -0500 Subject: [PATCH] Changed the way RPC commands are sent over HTTP, spaces must be URL encoded. --- workspace_tools/host_tests/mbedrpc.py | 56 ++++++++++++++------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/workspace_tools/host_tests/mbedrpc.py b/workspace_tools/host_tests/mbedrpc.py index efefb57ec2..1371036b04 100644 --- a/workspace_tools/host_tests/mbedrpc.py +++ b/workspace_tools/host_tests/mbedrpc.py @@ -1,29 +1,31 @@ -""" -mbed SDK -Copyright (c) 2010-2013 ARM Limited - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - - -Example: -> from mbedRPC import* -> mbed = SerialRPC("COM5",9600); -> myled = DigitalOut(mbed, "myled"); <--- Where the text in quotations matches your - RPC pin definition's second parameter, in - this case it could be RpcDigitalOut myled(LED1,"myled"); -> myled.write(1) -> -""" +#mbedRPC.py - mbed RPC interface for Python +# +##Copyright (c) 2010 ARM Ltd +## +##Permission is hereby granted, free of charge, to any person obtaining a copy +##of this software and associated documentation files (the "Software"), to deal +##in the Software without restriction, including without limitation the rights +##to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +##copies of the Software, and to permit persons to whom the Software is +##furnished to do so, subject to the following conditions: +## +##The above copyright notice and this permission notice shall be included in +##all copies or substantial portions of the Software. +## +##THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +##IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +##FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +##AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +##LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +##OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +##THE SOFTWARE. +# +#Example: +#>from mbedRPC import* +#>mbed = SerialRPC("COM5",9600) +#>myled = DigitalOut(mbed,"myled") <--- Where the text in quotations matches your RPC pin definition's second parameter, in this case it could be RpcDigitalOut myled(LED1,"myled"); +#>myled.write(1) +#> import serial, urllib2, time @@ -59,7 +61,7 @@ class HTTPRPC(mbed): self.host = "http://" + ip def rpc(self, name, method, args): - response = urllib2.urlopen(self.host + "/rpc/" + name + "/" + method + "," + ",".join(args)) + response = urllib2.urlopen(self.host + "/rpc/" + name + "/" + method + "%20" + "%20".join(args)) return response.read().strip()