emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* ob-python noweb and :var reference error
@ 2017-12-29 11:36 stardiviner
  2017-12-29 11:39 ` Nicolas Goaziou
  0 siblings, 1 reply; 5+ messages in thread
From: stardiviner @ 2017-12-29 11:36 UTC (permalink / raw)
  To: emacs-orgmode

I installed python packages through `pip`:

#+begin_src shell
pip install deluge-client
#+end_src

If you want to test those src blocks, you also need to make sure Deluge 
installed and daemon started.

And use `deluge-client` like this:

#+NAME: deluge-daemon-username
#+begin_src shell
cat ~/.config/deluge/auth | cut -d ":" -f 1
#+end_src

#+RESULTS: deluge-daemon-username
: localclient

#+NAME: deluge-daemon-password
#+begin_src shell
cat ~/.config/deluge/auth | cut -d ":" -f 2
#+end_src

#+RESULTS: deluge-daemon-password
: 9b83ceded9ac08cc5c7403b093115874a6086958

#+begin_src python :noweb yes :results list
from deluge_client import DelugeRPCClient

client = DelugeRPCClient('127.0.0.1', 58846, username, password)
client.connect()
client.connected # True
client.call('core.get_torrents_status', {}, ['name'])
#=> {'79816060ea56d56f2a2148cd45705511079f9bca': {'name': 
'TPB.AFK.2013.720p.h264-SimonKlose'}}
#+end_src


But got error:

```

Traceback (most recent call last):
   File "<stdin>", line 15, in <module>
   File "<stdin>", line 10, in main
   File 
"/home/stardiviner/.virtualenvs/python3.6/lib/python3.6/site-packages/deluge_client/client.py", 
line 62, in connect
     result = self.call('daemon.login', self.username, self.password)
   File 
"/home/stardiviner/.virtualenvs/python3.6/lib/python3.6/site-packages/deluge_client/client.py", 
line 110, in call
     raise exception(exception_msg)
deluge_client.client.b'BadLoginError': b'Username does not exist'

b'  File "/usr/lib/python2.7/site-packages/deluge/core/rpcserver.py", 
line 262, in dispatch\n    ret = 
component.get("AuthManager").authorize(*args, **kwargs)\n  File 
"/usr/lib/python2.7/site-packages/deluge/core/authmanager.py", line 89, 
in authorize\n    raise BadLoginError("Username does not exist")\n'
```

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ob-python noweb and :var reference error
  2017-12-29 11:36 ob-python noweb and :var reference error stardiviner
@ 2017-12-29 11:39 ` Nicolas Goaziou
  2017-12-29 12:06   ` stardiviner
  0 siblings, 1 reply; 5+ messages in thread
From: Nicolas Goaziou @ 2017-12-29 11:39 UTC (permalink / raw)
  To: stardiviner; +Cc: emacs-orgmode

Hello,

stardiviner <numbchild@gmail.com> writes:

> I installed python packages through `pip`:
>
> #+begin_src shell
> pip install deluge-client
> #+end_src
>
>
> If you want to test those src blocks, you also need to make sure Deluge 
> installed and daemon started.
>
> And use `deluge-client` like this:
>
> #+NAME: deluge-daemon-username
> #+begin_src shell
>
> cat ~/.config/deluge/auth | cut -d ":" -f 1 #+end_src
>
> #+RESULTS: deluge-daemon-username
> : localclient
>
> #+NAME: deluge-daemon-password
> #+begin_src shell
>
> cat ~/.config/deluge/auth | cut -d ":" -f 2 #+end_src
>
> #+RESULTS: deluge-daemon-password
> : 9b83ceded9ac08cc5c7403b093115874a6086958
>
> #+begin_src python :noweb yes :results list
> from deluge_client import DelugeRPCClient
>
> client = DelugeRPCClient('127.0.0.1', 58846, username, password)

Shouldn't this be:

  client = DelugeRPCClient('127.0.0.1', 58846, <<deluge-daemon-username>>, <<deluge-daemon-password>>)

Untested.

Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ob-python noweb and :var reference error
  2017-12-29 11:39 ` Nicolas Goaziou
@ 2017-12-29 12:06   ` stardiviner
  2017-12-29 12:09     ` Nicolas Goaziou
  0 siblings, 1 reply; 5+ messages in thread
From: stardiviner @ 2017-12-29 12:06 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: emacs-orgmode

If I use that noweb reference, then I got this error:

 >  File "<stdin>", line 8
 >    client = DelugeRPCClient('127.0.0.1', 58846, cat 
~/.config/deluge/auth | cut -d ":" -f 1, cat ~/.config/deluge/auth | cut 
-d ":" -f 2)
                                                      ^
SyntaxError: invalid syntax

This is because the <<deluge-daemon-username>> output is not a string in 
Python src block.

I also tried to specify `:results` to `value`, `output` and `raw` in 
`deluge-daemon-password` etc. But none of them works.


On 12/29/2017 07:39 PM, Nicolas Goaziou wrote:
> Hello,
>
> stardiviner <numbchild@gmail.com> writes:
>
>> I installed python packages through `pip`:
>>
>> #+begin_src shell
>> pip install deluge-client
>> #+end_src
>>
>>
>> If you want to test those src blocks, you also need to make sure Deluge
>> installed and daemon started.
>>
>> And use `deluge-client` like this:
>>
>> #+NAME: deluge-daemon-username
>> #+begin_src shell
>>
>> cat ~/.config/deluge/auth | cut -d ":" -f 1 #+end_src
>>
>> #+RESULTS: deluge-daemon-username
>> : localclient
>>
>> #+NAME: deluge-daemon-password
>> #+begin_src shell
>>
>> cat ~/.config/deluge/auth | cut -d ":" -f 2 #+end_src
>>
>> #+RESULTS: deluge-daemon-password
>> : 9b83ceded9ac08cc5c7403b093115874a6086958
>>
>> #+begin_src python :noweb yes :results list
>> from deluge_client import DelugeRPCClient
>>
>> client = DelugeRPCClient('127.0.0.1', 58846, username, password)
> Shouldn't this be:
>
>    client = DelugeRPCClient('127.0.0.1', 58846, <<deluge-daemon-username>>, <<deluge-daemon-password>>)
>
> Untested.
>
> Regards,
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ob-python noweb and :var reference error
  2017-12-29 12:06   ` stardiviner
@ 2017-12-29 12:09     ` Nicolas Goaziou
  2017-12-29 13:08       ` stardiviner
  0 siblings, 1 reply; 5+ messages in thread
From: Nicolas Goaziou @ 2017-12-29 12:09 UTC (permalink / raw)
  To: stardiviner; +Cc: emacs-orgmode

stardiviner <numbchild@gmail.com> writes:

> If I use that noweb reference, then I got this error:
>
>>  File "<stdin>", line 8
>>     client = DelugeRPCClient('127.0.0.1', 58846, cat 
> ~/.config/deluge/auth | cut -d ":" -f 1, cat ~/.config/deluge/auth |
> cut -d ":" -f 2)
>                                                      ^
> SyntaxError: invalid syntax
>
> This is because the <<deluge-daemon-username>> output is not a string
> in Python src block.

My bad. Try 

  <<deluge-daemon-username()>>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ob-python noweb and :var reference error
  2017-12-29 12:09     ` Nicolas Goaziou
@ 2017-12-29 13:08       ` stardiviner
  0 siblings, 0 replies; 5+ messages in thread
From: stardiviner @ 2017-12-29 13:08 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: emacs-orgmode

This seems fixed not string problem.

But I got new error:

```

    File "<stdin>", line 9
     client = DelugeRPCClient('127.0.0.1', 58846, , 
9b83ceded9ac08cc5c7403b093115874a6086958
          ^
SyntaxError: invalid syntax

```

I execute src block:

#+NAME: deluge-daemon-username
#+begin_src shell
cat ~/.config/deluge/auth | cut -d ":" -f 1
#+end_src

#+RESULTS: deluge-daemon-username
: localclient

correctly.

But in the python src block, the result is not inserted.

I noticed the echo-area message, the `deluge-daemon-username` src block 
execute is correct.

I will try to edebug on this.


On 12/29/2017 08:09 PM, Nicolas Goaziou wrote:
> stardiviner <numbchild@gmail.com> writes:
>
>> If I use that noweb reference, then I got this error:
>>
>>>    File "<stdin>", line 8
>>>      client = DelugeRPCClient('127.0.0.1', 58846, cat
>> ~/.config/deluge/auth | cut -d ":" -f 1, cat ~/.config/deluge/auth |
>> cut -d ":" -f 2)
>>                                                       ^
>> SyntaxError: invalid syntax
>>
>> This is because the <<deluge-daemon-username>> output is not a string
>> in Python src block.
> My bad. Try
>
>    <<deluge-daemon-username()>>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-12-29 13:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-29 11:36 ob-python noweb and :var reference error stardiviner
2017-12-29 11:39 ` Nicolas Goaziou
2017-12-29 12:06   ` stardiviner
2017-12-29 12:09     ` Nicolas Goaziou
2017-12-29 13:08       ` stardiviner

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).