Things changes quite fast lol :D On Sat, Mar 2, 2013 at 3:48 AM, Michele Comitini <michele.comit...@gmail.com > wrote:
> http://www.jsonrpc.org/specification > > not draft anymore... > > mic > > 2013/3/1 Phyo Arkar <phyo.arkarl...@gmail.com>: > > I c , JSONRPC2 is still in draft right? > > we are not using JSONRPC2 yet so that gave us problem. > > > > > > On Sat, Mar 2, 2013 at 2:12 AM, Niphlod <niph...@gmail.com> wrote: > >> > >> yep, to support keyword arguments. It was an oversight of jsonrpc 1 vs 2 > >> specs. > >> > >> trunk has it fixed, along with "specific" 1 vs 2 support (i.e. jsonrpc > and > >> jsonrpc2 decorators) > >> > >> > >> On Friday, March 1, 2013 8:00:30 PM UTC+1, Phyo Arkar wrote: > >>> > >>> Any reason there for ** ? > >>> > >>> On Sat, Mar 2, 2013 at 12:40 AM, Phyo Arkar <phyo.ar...@gmail.com> > wrote: > >>>> > >>>> The bug is at: > >>>> > >>>> gluon/tools.py > >>>> > >>>> s = methods[method](**params) > >>>> > >>>> it should be > >>>> s = methods[method](*params) > >>>> > >>>> > >>>> On Sat, Mar 2, 2013 at 12:16 AM, Phyo Arkar <phyo.ar...@gmail.com> > >>>> wrote: > >>>>> > >>>>> We got a problem when we upgrade to 2.3.2 in JSONRPC called via > >>>>> qooxdoo. > >>>>> > >>>>> "TypeError: testlogin() argument after ** must be a mapping, not > list", > >>>>> "JSONRPCError" > >>>>> > >>>>> > >>>>> Which worked fine in 2.2.1 > >>>>> > >>>>> > >>>>> > >>>>> Below is code for controller : > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> @service.jsonrpc > >>>>> def testlogin(username, password): > >>>>> status = 0 > >>>>> authed = auth.login_bare(str(username), str(password)) > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> if authed: > >>>>> status = 1 > >>>>> return dict(status=status) > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> JSONRPC request code is : > >>>>> > >>>>> jsonrpc_login.callAsync(handler_login, > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> "testlogin", > >>>>> textbox_username.getValue(), > >>>>> textbox_password.getValue()); > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> Full JS Code (qooxdoo) : > >>>>> > >>>>> qx.Class.define("logintest.login", { > >>>>> extend: qx.ui.container.Composite, > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> construct : function() { > >>>>> this.base(arguments); > >>>>> this.setLayout(new qx.ui.layout.VBox()); > >>>>> var center_hbox = new qx.ui.container.Composite(new > >>>>> qx.ui.layout.HBox()); > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> var loginform = new qx.ui.form.Form(); > >>>>> var textbox_username = new qx.ui.form.TextField(); > >>>>> var textbox_password = new qx.ui.form.PasswordField(); > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> var button_login = new qx.ui.form.Button("Login", > >>>>> "logintest/test.png"); > >>>>> > >>>>> loginform.add(textbox_username, "User Name"); > >>>>> loginform.add(textbox_password, "Password"); > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> loginform.addButton(button_login); > >>>>> > >>>>> var jsonrpc_login = new > >>>>> qx.io.remote.Rpc("/auth_test/default/call/jsonrpc"); > >>>>> > >>>>> center_hbox.add(new qx.ui.core.Spacer(), {flex: 1}); > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> center_hbox.add(new qx.ui.form.renderer.Single(loginform)); > >>>>> center_hbox.add(new qx.ui.core.Spacer(), {flex: 1}); > >>>>> > >>>>> this.add(new qx.ui.core.Spacer(), {flex: 1}); > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> this.add(center_hbox); > >>>>> this.add(new qx.ui.core.Spacer(), {flex: 1}); > >>>>> > >>>>> var handler_login = function(result, ex, id) > >>>>> { > >>>>> if (ex == null) > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> { > >>>>> alert(result.status); > >>>>> } else { > >>>>> console.log("=Err="); > >>>>> console.log(ex); > >>>>> } > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> }; > >>>>> > >>>>> button_login.addListener("execute", function(e) { > >>>>> jsonrpc_login.callAsync(handler_login, > >>>>> "testlogin", > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> textbox_username.getValue(), > >>>>> textbox_password.getValue()); > >>>>> }); > >>>>> }, > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> members : { > >>>>> > >>>>> } > >>>>> }); > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>> > >>> > >> -- > >> > >> --- > >> You received this message because you are subscribed to the Google > Groups > >> "web2py-users" group. > >> To unsubscribe from this group and stop receiving emails from it, send > an > >> email to web2py+unsubscr...@googlegroups.com. > >> For more options, visit https://groups.google.com/groups/opt_out. > >> > >> > > > > > > -- > > > > --- > > You received this message because you are subscribed to the Google Groups > > "web2py-users" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to web2py+unsubscr...@googlegroups.com. > > For more options, visit https://groups.google.com/groups/opt_out. > > > > > > -- > > --- > You received this message because you are subscribed to the Google Groups > "web2py-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.