After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 644123 - sheet doesn't recalculate on python function cell changes
sheet doesn't recalculate on python function cell changes
Status: RESOLVED FIXED
Product: Gnumeric
Classification: Applications
Component: General
1.10.x
Other Linux
: Normal normal
: ---
Assigned To: Jody Goldberg
Jody Goldberg
Depends on:
Blocks:
 
 
Reported: 2011-03-07 15:31 UTC by Johannes Berg
Modified: 2012-10-15 10:36 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Johannes Berg 2011-03-07 15:31:44 UTC
I have a python function that isn't pure (in gcc terminology), it has inputs that don't come from the sheet itself -- in my case, it looks up a ticker symbol on yahoo (maybe there's a better solution for this? but a python function works mostly fine).

When I start up gnumeric with the spreadsheet, it loads the data and calculates all cells depending on this one, which is fine.

Gnumeric will also re-evaluate the function when I go into that cell and just hit enter to re-enter the same function call into it (the cell contents is "=myfunc(...)").

However, in this case, while gnumeric displays the new value in the cell, other cells depending on this value aren't recalculate. E.g. if the value of this cell, say it's A9, changes from 1 to 2, another cell that has e.g. "=2*A9" (and also its dependents) won't actually change from 2 to 4 until I close the spreadsheet or do something else that forces it to recalculate, like changing the number of displayed digits.
Comment 1 Andreas J. Guelzow 2011-03-07 18:10:19 UTC
I thin kthis is essentially a duplicate of bug 305798. Note that this is the same issue as with the buildin function =today().

*** This bug has been marked as a duplicate of bug 305798 ***
Comment 2 Morten Welinder 2011-03-08 21:24:05 UTC
Not a dupe.

We have other functions like this, RAND(), for example.
Comment 3 Morten Welinder 2012-10-13 14:35:14 UTC
This is probably beyond what we currently support via python.

However, we have the proof-of-concept sample_datasource plugin which
does what you are looking for.

See plugins/sample_datasource/ in the source tree or at
http://git.gnome.org/browse/gnumeric/tree/plugins/sample_datasource

(Resolving "FIXED" since we don't really have a good option for this.)
Comment 4 Johannes Berg 2012-10-15 10:36:26 UTC
Ok, fair enough. More like "WONTFIX" then though, but I don't really care :)