[GNC] Automatic Price Updates

john jralls at ceridwen.us
Mon Dec 5 14:50:21 EST 2022


Get it working before worrying about the rest. First make sure that the hook is firing by adding a print statement to the lambda, something like
 (gnc-hook-add-scm-dangler HOOK-UI-POST-STARTUP
   (lambda ()
     (format #t "Retrieving Quotes~%")
     (gnc:book-add-quotes #f (gnc-get-current-book)))

You'll need to run GnuCash from a terminal session with `flatpak run org.gnucash.GnuCash` to see the output. You might want to add --logto=stderr to that so that you'll see the results of the perl and FQ checks to make sure that that's not the problem.

Regards,
John Ralls

> On Dec 5, 2022, at 2:31 AM, rsbrux <rsbrux at yahoo.com> wrote:
> 
> A little further study suggests that I should have placed config-user.scm in GNC_CONFIG_HOME (in my case $HOME/.var/app/org.gnucash.GnuCash/config/gnucash/) instead of GNC_DATA_HOME (see https://wiki.gnucash.org/wiki/Configuration_Locations#In_GNC_CONFIG_HOME).
> 
> However, moving it there still did not have the desired effect (i.e. no new prices appeared in GC's Price DB, even after leaving GC open for a quarter hour).  It occurred to me that this could be caused by inadequate privileges, but changing the privileges of config-user.scm to 775 (and restarting GC) still did not result in any new price quotes.
> 
> As previously mentioned I would like this behaviour to be user-independent.  It appears that I should be able to achieve this by redirecting GNC_CONFIG_HOME to a common direct by means of environment variable.  However, the pages https://wiki.gnucash.org/wiki/Configuration_Locations and https://wiki.gnucash.org/wiki/Environment_Variables disagree on the names of the environment variables.
> 
> On 28.11.22 08:53, rsbrux wrote:
>> Of course.
>> 
>> Sent from my iPad
>> 
>>> On 27 Nov 2022, at 22:41, John Ralls <jralls at ceridwen.us> wrote:
>>> 
>>> Did you restart GnuCash?
>>> 
>>> Regards,
>>> John Ralls
>>> 
>>> 
>>>> On Nov 27, 2022, at 11:07 AM, rsbrux <rsbrux at yahoo.com> wrote:
>>>> 
>>>> P.S. I created the file $HOME/.var/app/org.gnucash.GnuCash/data/gnucash/config-user.scm
>>>> 
>>>> with the contents:
>>>> 
>>>>  (gnc-hook-add-scm-dangler HOOK-UI-POST-STARTUP
>>>>    (lambda () (gnc:book-add-quotes #f (gnc-get-current-book)))
>>>> 
>>>> under my own Ubuntu login, but the price database does not show any new prices when I open GC and let it sit for half an hour.
>>>> 
>>>> Thanks for your help.
>>>> 
>>>>> On 27.11.22 18:35, rsbrux wrote:
>>>>> Thanks, that sounds very promising! My only problem is that I have a Flatpak installation under Ubuntu.
>>>>> 
>>>>> According to https://code.gnucash.org/wiki/Configuration_Locations#GNC_DATA_HOME, GNC_DATA_HOME is under $HOME.
>>>>> 
>>>>> However, I have installed GC for all users on the system and want the startup task to run regardless of who is running GC.
>>>>> 
>>>>> If I put config-user.scm in $HOME/.var/app/org.gnucash.GnuCash/data/gnucash, won't it be user-specific?
>>>>> 
>>>>> On 25.11.22 21:07, john wrote:
>>>>>>> On Nov 25, 2022, at 12:56 AM, rsbrux via gnucash-user <gnucash-user at gnucash.org>
>>>>>>> wrote:
>>>>>>> 
>>>>>>> I used to have a chron job set up to automatically fetch security prices on first login each day, but found this inconvenient because it locks the data file, and opening GnuCash is often the first thing I do upon logging in.
>>>>>>> 
>>>>>>> I have noticed that when I have GC open interactively, I can start an update in the price database window and let it run in the background while I continue to work in the registers.
>>>>>>> 
>>>>>>> Would there be some way to get GC to perform the Price Database automatically when GC is started (interactively), instead of performing the automatic price update in a separate session?
>>>>>>> 
>>>>>>> 
>>>>>> Yes, but only through 4.x because the quotes system won't be accessible from Scheme in GnuCash 5, it having been rewritten in C++.
>>>>>> 
>>>>>> Create if necessary $GNC_DATA_HOME/config-user.scm and edit it to add
>>>>>>  (gnc-hook-add-scm-dangler HOOK-UI-POST-STARTUP
>>>>>>    (lambda () (gnc:book-add-quotes #f (gnc-get-current-book)))
>>>>>> 
>>>>>> Regards,
>>>>>> John Ralls
>>>>>> 
>>>>>> 



More information about the gnucash-user mailing list