Now that’s a novel approach to asking for free help: pretending to be smarter than the people who are trying to help you.
On Tue, 19 Nov 2019 at 14:17 R.Wieser <address@not.available> wrote: > Michael, > > > Sure but the Python methods* themselves are exposed and accessible > > and according to your previous posts, all you want to do is add an > > argument to a call to the existing method. If that's true, then you > > should be able to do that part from pure Python. > > >* class methods defined by the C code > > Feel free to post code showing that it can be done. The extension is > RPi.GPIO, the method is "output", and the extra argument is the pinnaming > scheme (BCM or BOARD). Success! :-p > > > I can understand that the pure C stuff is not accessible of course. > > But the snippets you've shown so far don't show any of that. > > Where did you think that "static PyObject *py_proc1(PyObject *self, > PyObject > *args)" came from, or why I said "I've also tried to go the C way" ? > Besides that, the subject line should have been a dead giveaway by > itself ... > > > We're working in the dark here > > Are you sure ? MRAB didn't seem to have too much problems with both > recognising and understanding what I was busy with - he posted a spot-on > example, containing not more, but also not anything less than what I was > asking for. > > > Looking at existing examples, as well as the C API documentation > > I did not find any example that showed me what I needed to know - simply > one > CPython function calling another one. And yes, I've found multiple > documentation pages, including the "Extending and Embedding the Python > Interpreter" ones. Alas, no dice. > > Most of that documentation is only good when you already know what you are > looking for, and need to make sure of its exact usage. Not so much the > other way around, when you have no clue and are searching for what you need > to use to solve a particular problem (even one as stupid as just calling > another method) > > > By the way, the whole solution consists outof the following: > > static PyObject *py_proc1(PyObject *self, int ExtraArg, PyObject *args) > { > .... > Py_RETURN_NONE > } > > static PyObject *py_proc2(PyObject *self, PyObject *args) > { > return py_proc1(self, 42, args) > } > > Regards, > Rudy Wieser > > > > > -- > https://mail.python.org/mailman/listinfo/python-list > -- Luciano Ramalho | Author of Fluent Python (O'Reilly, 2015) | http://shop.oreilly.com/product/0636920032519.do | Technical Principal at ThoughtWorks | Twitter: @ramalhoorg -- https://mail.python.org/mailman/listinfo/python-list