It appears that the issue relates to the use of functools.partial.
For example, this works,
from libsheetmusic.spreadsheet import scale
def diatonic_scale(scientific_note):
return scale('diatonic',scientific_note)
sheetmusic_functions = { 'diatonic_scale': diatonic_scale }
and this doesn't.
import functools
from libsheetmusic.spreadsheet import scale
sheetmusic_functions = { 'diatonic_scale': functools.partial(scale,
'diatonic') }
Tom
On 18 Apr 12:20, Thomas Levine wrote:
> Oops, I attached the wrong file.
>
> On 18 Apr 12:17, Thomas Levine wrote:
> > A plugin I am writing is behaving strangely, and I am
> > having trouble figuring out why I'm seeing no error messages.
> >
> > The spellbook contains plugin.xml (attached) and sheetmusic.py
> > (below).
> >
> > import libsheetmusic.main
> > sheetmusic_functions = libsheetmusic.main.functions()
> >
> > When I put the spellbook in the appropriate place, set PYTHONPATH
> > to the directory containing libsheetmusic, open Gnumeric, and run
> > a function from the spellbook,
> >
> > =diatonic_scale('D3'))
> >
> > the cell renders this,
> >
> > Function implementation not available.
> >
> > and I see no error messages. When I switch sheetmusic.py to
> > the file below,
> >
> > import libsheetmusic.main # in case this is creating an error
> > sheetmusic_functions = {'diatonic_scale': lambda _: 3}
> >
> > it works as you'd expect.
> >
> > Any ideas?
> >
> > Thanks
> >
> > Tom
>
> > import libsheetmusic.main
> > sheetmusic_functions = libsheetmusic.main.functions()
>
> > _______________________________________________
> > gnumeric-list mailing list
> > [email protected]
> > https://mail.gnome.org/mailman/listinfo/gnumeric-list
>
> _______________________________________________
> gnumeric-list mailing list
> [email protected]
> https://mail.gnome.org/mailman/listinfo/gnumeric-list
_______________________________________________
gnumeric-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gnumeric-list