Re: [PATCH] use notmuch_database_open_verbose

2016-03-13 Thread David Bremner
Patrick Totzke  writes:

> As far as I understand the bindings, the returned message is not needed
> because the return
> value of `Database._open` (line 212) contains information about the type of
> error that occurred.
> This is passed on two lines below if the open-call was unsuccessful.
>
> The docstrings for this method are not ideal (the mentioned "status"
> parameter is actually called "mode") but in terms of functionality it seems
> ok.

The error_message parameter (potentially) contains additional
information about an error. In any case, you're passing one too few
arguments to n_d_open_verbose, which doesn't seem like a good idea.

d
___
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch


Re: [PATCH] use notmuch_database_open_verbose

2016-03-13 Thread Patrick Totzke
As far as I understand the bindings, the returned message is not needed
because the return
value of `Database._open` (line 212) contains information about the type of
error that occurred.
This is passed on two lines below if the open-call was unsuccessful.

The docstrings for this method are not ideal (the mentioned "status"
parameter is actually called "mode") but in terms of functionality it seems
ok.

On 12 March 2016 at 16:33, David Bremner  wrote:

> David Bremner  writes:
>
> >> -"""notmuch_database_open"""
> >> -_open = nmlib.notmuch_database_open
> >> +"""notmuch_database_open_verbose"""
> >> +_open = nmlib.notmuch_database_open_verbose
> >>  _open.argtypes = [c_char_p, c_uint, POINTER(NotmuchDatabaseP)]
> >>  _open.restype = c_uint
> >
> > I expect you probably want to add the new binding, rather than replacing
> > the old one. Otherwise updating the bindings will break all bindings
> > using scripts.
>
> Oh silly me. That's not actually exposed to the python API, so that's
> fine. On the other hand, don't you want to update the argument types and
> do something useful (throw an exception?) with the returned message?  As
> it stands you lose information.
>
> d
>
___
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch


Re: [PATCH] use notmuch_database_open_verbose

2016-03-12 Thread David Bremner
David Bremner  writes:

>> -"""notmuch_database_open"""
>> -_open = nmlib.notmuch_database_open
>> +"""notmuch_database_open_verbose"""
>> +_open = nmlib.notmuch_database_open_verbose
>>  _open.argtypes = [c_char_p, c_uint, POINTER(NotmuchDatabaseP)]
>>  _open.restype = c_uint
>
> I expect you probably want to add the new binding, rather than replacing
> the old one. Otherwise updating the bindings will break all bindings
> using scripts.

Oh silly me. That's not actually exposed to the python API, so that's
fine. On the other hand, don't you want to update the argument types and
do something useful (throw an exception?) with the returned message?  As
it stands you lose information.

d
___
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch


Re: [PATCH] use notmuch_database_open_verbose

2016-03-12 Thread David Bremner
Patrick Totzke  writes:

> ... instead of the deprecated notmuch_database_open

Perhaps it should be formally deprecated, but unlike several other
functions, it isn't.

> when opening the database in notmuch.database.Database.open.
> This prevents the library to print Xapian exceptions to stderr.
> ---
>  bindings/python/notmuch/database.py | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/bindings/python/notmuch/database.py 
> b/bindings/python/notmuch/database.py
> index f304533..5400338 100644
> --- a/bindings/python/notmuch/database.py
> +++ b/bindings/python/notmuch/database.py
> @@ -86,8 +86,8 @@ class Database(object):
>  _get_version.argtypes = [NotmuchDatabaseP]
>  _get_version.restype = c_uint
>  
> -"""notmuch_database_open"""
> -_open = nmlib.notmuch_database_open
> +"""notmuch_database_open_verbose"""
> +_open = nmlib.notmuch_database_open_verbose
>  _open.argtypes = [c_char_p, c_uint, POINTER(NotmuchDatabaseP)]
>  _open.restype = c_uint

I expect you probably want to add the new binding, rather than replacing
the old one. Otherwise updating the bindings will break all bindings
using scripts.

d
___
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch