2020-05-18 GnuCash IRC logs

00:30:04 *** lmat has quit IRC
00:38:09 *** lmat has joined #gnucash
01:06:53 *** jervin has joined #gnucash
01:10:21 *** jervin has quit IRC
01:12:50 *** omnireq has quit IRC
01:13:40 *** omnireq has joined #gnucash
01:13:40 *** ChanServ sets mode: +v omnireq
01:26:44 *** sbluhm has joined #gnucash
01:34:12 *** fell has quit IRC
01:34:50 *** omnireq has quit IRC
01:35:01 *** omnireq has joined #gnucash
01:35:01 *** ChanServ sets mode: +v omnireq
01:35:29 *** Gerd has joined #gnucash
01:35:31 *** fell has joined #gnucash
01:35:32 *** ChanServ sets mode: +o fell
01:54:31 *** hussam has quit IRC
02:07:39 *** Mechtilde has quit IRC
02:13:40 *** Gerd has quit IRC
02:45:53 *** suukim has joined #gnucash
02:51:14 *** suukim has quit IRC
02:58:28 *** MaLaLa has joined #gnucash
02:59:15 *** gour has joined #gnucash
02:59:15 *** ChanServ sets mode: +v gour
03:03:17 *** aminbegood has joined #gnucash
03:07:46 *** aminbegood has quit IRC
03:16:56 *** Gerd has joined #gnucash
03:43:17 *** Gerd has quit IRC
03:45:21 *** lmat has quit IRC
03:45:25 *** lmat has joined #gnucash
03:51:47 *** Gerd has joined #gnucash
03:52:20 *** gjanssens has joined #gnucash
03:52:20 *** ChanServ sets mode: +o gjanssens
03:54:30 *** MaLaLa has quit IRC
03:54:38 *** MaLaLa has joined #gnucash
03:55:44 *** lmat has quit IRC
03:56:58 *** lmat has joined #gnucash
04:00:03 *** lmat has quit IRC
04:12:15 *** lmat has joined #gnucash
04:16:03 <gjanssens> @tell chris your idea of generating reports from the command line is an interesting one. And it overlaps with an idea I have been playing with for some time: to make a gnucash-cli companion application. We could talk about this.
04:16:03 <gncbot> gjanssens: The operation succeeded.
04:16:28 *** lmat has quit IRC
04:16:59 <gjanssens> fell: re the libchipcard issue under flatpak. I don't know how libchipcard or the smartcard daemon actually should work. I only compiled the bits I thought were needed.
04:17:10 *** MaLaLa has quit IRC
04:17:11 <gjanssens> Perhaps best to record the issue in a bug for now
04:18:43 *** lmat has joined #gnucash
04:20:17 *** Gerd has quit IRC
04:22:33 *** aminbegood has joined #gnucash
04:35:09 <fell> gjanssens, he did: https://bugs.gnucash.org/show_bug.cgi?id=797757
04:37:18 *** Mechtilde has joined #gnucash
04:40:43 *** PowaBanga has quit IRC
04:43:19 <fell> I believe, we have to start pcscd.
04:47:18 *** aminbegood has quit IRC
04:49:46 *** hussam has joined #gnucash
04:49:46 *** ChanServ sets mode: +v hussam
05:02:59 *** phoenix has joined #gnucash
05:05:39 *** phoenix has quit IRC
05:11:21 *** phoenix has joined #gnucash
05:14:42 <fell> pcsc* commands are not found in the flatpak shell.
05:25:16 *** keiffer has joined #gnucash
05:25:32 *** Aussie_matt has quit IRC
05:28:00 *** Gerd has joined #gnucash
05:30:42 *** gour_ has joined #gnucash
05:32:53 *** gour has quit IRC
05:44:01 <gjanssens> fell: I'm not sure we have to start pcscd. Perhaps we just have to allow access to a natively running pcscd daemon
05:53:46 *** Gerd has quit IRC
06:01:10 <fell> gjanssens, yes
06:07:40 *** User_ has joined #gnucash
06:16:40 *** Aussie_matt has joined #gnucash
06:18:24 *** flips has quit IRC
06:20:50 *** omnireq has quit IRC
06:21:01 *** omnireq has joined #gnucash
06:21:01 *** ChanServ sets mode: +v omnireq
06:29:17 *** MaLaLa has joined #gnucash
06:41:50 *** omnireq has quit IRC
06:42:18 *** omnireq has joined #gnucash
06:42:18 *** ChanServ sets mode: +v omnireq
06:49:53 *** Aussie_matt has quit IRC
07:01:06 *** gour_ is now known as gour
07:29:39 *** aminbegood has joined #gnucash
07:31:56 *** flips has joined #gnucash
07:31:57 *** ChanServ sets mode: +v flips
07:49:05 *** aminbegood has quit IRC
07:59:32 *** aminbegood has joined #gnucash
08:14:12 *** aminbegood has quit IRC
08:47:30 *** MaLaLa has quit IRC
08:54:42 *** PowaBanga has joined #gnucash
09:03:54 *** chris has joined #gnucash
09:03:54 *** ChanServ sets mode: +v chris
09:05:27 *** chris has quit IRC
09:05:45 *** chris has joined #gnucash
09:05:45 *** ChanServ sets mode: +v chris
09:06:10 <chris> .
09:06:10 <gncbot> chris: Sent 4 hours and 50 minutes ago: <gjanssens> your idea of generating reports from the command line is an interesting one. And it overlaps with an idea I have been playing with for some time: to make a gnucash-cli companion application. We could talk about this.
09:07:59 <chris> gjanssens: yes; running arbitrary scheme or report is doable from command-line; can load both /libgnucash and /gnucash but not load the gui.
09:08:31 <chris> to be future oriented though, we'd need to delineate the two methods for accessing data: either bindings like python or command-line scripting.
09:10:15 <chris> the two ways would be: (1) python script.py which has "import gnucash" and (2) gnucash --run-script=script.scm which doesn't need to load any module
09:11:45 *** sbluhm has quit IRC
09:23:45 <gjanssens> chris: actually I was thinking of creating a binary called gnucash-cmd
09:24:17 <gjanssens> And I would not make it run arbitrary scripts
09:24:42 <gjanssens> It would have command line options for functions we deem useful.
09:24:52 <gjanssens> Like we currently have --add-price-quotes.
09:25:12 <gjanssens> That would then be removed as an option to gnucash and added as an option to gnucash-cmd
09:26:54 <chris> ok. i'm still thinking it's too hard to script using python or guile on windows
09:29:15 *** sbluhm has joined #gnucash
09:29:15 *** ChanServ sets mode: +v sbluhm
09:29:52 <chris> unix has python bindings, windows is near impossible to run python scripts
09:30:02 <chris> at least windows could run guile scripts from cmdline
09:30:16 <chris> anyway I'll do POC
09:37:35 *** Gerd has joined #gnucash
09:52:59 <chris> good progress :D
09:55:01 <fell> ISTR there was once a cli ...
09:58:18 <chris> it's time to go full circle
10:00:00 *** warlord2 is now known as warlord
10:00:39 <warlord> .
10:02:17 <fell> https://wiki.gnucash.org/wiki/Ledger-CLI
10:03:19 <warlord> yeah, a long long time ago gnucash used to be a guile script, which made it easier to write scripts. However it was hard to write a script that didn't bring up the UI because there wasn't the equivalent of SessionOpen() and SessionClose() APIs in the scheme bindings.
10:04:32 <chris> well my first successful scripting used piecash to print my tax report, and it's time to do it again, using proper APIs :D
10:06:11 <warlord> Yeah, main issue with Piecash is that it does not use the GnuCash API, which means that if the underlying DB changes, PieCash needs to be updated to follow.
10:16:08 <chris> here's my bug report. gnucash --run-report="My Report" doesn't work because the argparser cannot handle "quoted with spaces" :( so I'll do POC with --run-report=meaningless-report-guid-instead
10:21:24 <warlord> Why can't it parse with spaces that are properly quoted?
10:21:59 <chris> dunno!
10:22:47 <warlord> I see no reason (from the C side) that shouldn't work.
10:41:58 *** angel has joined #gnucash
10:49:14 *** angel has quit IRC
10:59:26 <fell> Because it is pythonic?
11:01:17 <fell> You remember: Pythia was the priestress at the Oracle in Delphi.
11:19:19 <chris> currently cli guile "works" but session doesn't always succeed. it's odd because it's my local xml.
11:20:16 *** Mechtilde has quit IRC
11:20:50 *** omnireq has quit IRC
11:21:01 *** omnireq has joined #gnucash
11:21:01 *** ChanServ sets mode: +v omnireq
11:28:05 <chris> the worry, of course, is that if arbitrary scheme/python is allowed via commandline argument, someone (like chris) will build a whole new gui on top of it :)
11:28:29 *** Gerd has quit IRC
11:29:54 *** phoenix has quit IRC
11:34:53 <gjanssens> chris: no - to me the command line interface is a different scope from a scripting language binding
11:35:39 <gjanssens> Via scripting you're exposing a programming api and provide great freedom to the user at the expense of extra complexity and responsibility
11:36:32 <gjanssens> A command line interface on the other hand should only expose carefully chosen functions (like generate report X, or add quotes)
11:37:07 <gjanssens> That means it protects the user from shooting himself in the foot as s/he could do via the fully exposed api.
11:37:08 <warlord> gjanssens, I think chris meant something like --run-script foo.scm
11:37:26 <gjanssens> warlord: I got that
11:37:31 <gjanssens> And I don't think it's a good idea
11:37:53 <gjanssens> That should be guile (use-modules gnucash) -c foo.scm
11:38:26 <gjanssens> I don't want gnucash or gnucash-cli to be a thin wrapper around guile that happens to set the environment properly.
11:38:52 <gjanssens> If the cli guile api is not functioning as it should that should be fixed instead
11:39:37 <warlord> fair enough
11:39:57 <warlord> I see both views as valid.
11:40:50 <gjanssens> I'm all for offering a fully functioning guile wrapper around libgnucash next to a fully functioning python wrapper
11:41:16 <gjanssens> I do understand both need work to become functional on Windows or MacOS
11:41:53 <gjanssens> chris: https://github.com/gjanssens/gnucash/tree/gnucash-cmd
11:42:20 *** omnireq has quit IRC
11:42:29 <gjanssens> That branch has split of a gnucash-cli executable from the gnucash one. It's already functional for --add-price-quotes
11:42:31 *** omnireq has joined #gnucash
11:42:31 *** ChanServ sets mode: +v omnireq
11:43:19 *** Gerd has joined #gnucash
11:43:25 *** Gerd1 has joined #gnucash
11:46:19 *** Gerd has quit IRC
11:46:19 *** Gerd1 is now known as Gerd
11:49:47 <chris> gjanssens I actually agree -- opening scripting is too wild; too many support channels.
11:59:32 <gjanssens> chris: see my branch. I can't reproduce your issue with that quoted string with spaces
11:59:46 <gjanssens> My sample --run-report="My Report" parses the string just fine
12:00:53 <chris> ok found it meaculpa I was running via a bash script
12:01:28 <gjanssens> Aha! So you need to handle quotes properly in that script as well :)
12:01:39 <gjanssens> Anyway good you found it
12:02:43 <chris> ok done my POC branch can run either standard or saved report, specify via --run-report="My saved report" or --run-report="unintelligible-guid"
12:02:52 <chris> problem is now session doesn't always load.
12:03:21 *** omnireq has quit IRC
12:03:31 *** omnireq has joined #gnucash
12:03:31 *** ChanServ sets mode: +v omnireq
12:06:22 <chris> of course, --run-report="Transaction Report" will not be useful because options can't be set via CLI
12:08:46 <chris> on that note, gtg!
12:10:44 <gjanssens> chris: it would be cool if --run-report could also load saved report configurations
12:11:00 <gjanssens> That would help with setting the options
12:11:14 <gjanssens> Anway until later :)
12:11:21 <chris> It does actually :)
12:12:44 *** suukim has joined #gnucash
12:20:41 <gjanssens> Cool :)
12:20:54 <gjanssens> Would it be hard to port over to gnucash-cli ?
12:21:02 <gjanssens> (Or where can I see your work ?)
12:21:35 <chris> https://github.com/Gnucash/gnucash/pull/723
12:21:45 *** sbluhm has quit IRC
12:45:40 *** Mechtilde has joined #gnucash
13:01:17 *** sbluhm has joined #gnucash
13:01:17 *** ChanServ sets mode: +v sbluhm
13:06:33 *** FH_thecat has joined #gnucash
13:11:43 *** guak has joined #gnucash
13:29:26 *** phoenix has joined #gnucash
13:38:39 *** FH_thecat has quit IRC
13:38:50 *** FH_thecat has joined #gnucash
13:41:24 *** FH_thecat has quit IRC
13:41:34 *** FH_thecat has joined #gnucash
13:42:38 *** FH_thecat has quit IRC
13:42:52 *** FH_thecat has joined #gnucash
13:52:59 *** phoenix has quit IRC
14:08:10 *** sbluhm has quit IRC
14:09:14 *** Mechtilde has quit IRC
14:15:51 *** jervin has joined #gnucash
14:19:57 *** jervin has quit IRC
14:20:10 *** jervin has joined #gnucash
14:22:23 *** jervin has quit IRC
14:22:32 *** frakturfreak has joined #gnucash
14:22:32 *** ChanServ sets mode: +v frakturfreak
14:33:12 *** phoenix has joined #gnucash
14:36:03 *** suukim has quit IRC
14:36:15 *** flips has quit IRC
14:40:55 *** flips has joined #gnucash
14:40:56 *** ChanServ sets mode: +v flips
14:56:51 *** sbluhm has joined #gnucash
14:56:51 *** ChanServ sets mode: +v sbluhm
15:01:31 *** phoenix has quit IRC
15:22:35 *** jervin has joined #gnucash
15:42:42 *** jervin has quit IRC
15:57:14 <gjanssens> jralls: I have a few minutes left before I leave for the night.
15:57:27 <gjanssens> I did read through https://github.com/Gnucash/gnucash/pull/650
15:57:40 <gjanssens> The one about using GMock for testing gnucash code
15:58:10 <gjanssens> It's fairly overwhelming at first (I'm completely new to GMock though I more or less get the concept of mocking)
15:58:15 <jralls> You've been busy...
15:58:25 <gjanssens> Yes, I have :(
15:58:56 <gjanssens> So I honestly don't know whether it's worth it or not.
15:59:22 <gjanssens> I do think eventually GMock will be helpful when more of the code is C++
16:00:35 <gjanssens> As gruberchr illustrated it can also be used for (parts of) our current code.
16:00:38 <jralls> Yes, for C++ and proper class independence it's straightforward. gruberchr's work is an excellent hack but it's hard to say if it will scale to non-trivial tests.
16:01:07 <gjanssens> He did spend a lot of time on it, which means something as well
16:01:55 <gjanssens> I'm tempted to take the risk and include his work. It would need some more documentation though so it could be easier for others to build on his work
16:02:25 <jralls> True, and since it's all in test code is doesn't really impact anything with the program. The only risk is the added bloat.
16:02:36 <gjanssens> Indeed.
16:02:58 * gjanssens is hoping it would encourage gruberchr to work on more tests :)
16:02:59 <jralls> Documentation is a good suggestion.
16:04:08 <jralls> I've been working in register the last week or two and I should doxygen-comment what I've figured out so that I don't have to learn it again next year.
16:04:10 <gjanssens> Also what's your opinion on the protected destructors ? I get the motivation, but does that matter for test code ?
16:04:43 <gjanssens> Wouldn't it be enough to document the mocks should be created on heap ?
16:05:05 <gjanssens> It's a bit cumbersome to remember to use mockedobject->free() instead of delete.
16:05:23 <gjanssens> Obviously I wouldn't suggest that for heap only objects in real code.
16:05:52 <gjanssens> And indeed adding extra doxygen comments in the register would be a big plus as well
16:06:25 <jralls> Right, it's a bit cumbersome. So with the protected dtor the compiler will remind you so you don't spend an hour in the debugger figuring out why your test is crashing.
16:06:59 <gjanssens> Ok. Perhaps that's better after all.
16:07:19 <gjanssens> We'll get used to it soon enough.
16:07:47 <jralls> Heap-only objects should be avoided when possible. It's a deficiency of GObject that one can't have GObjects on the stack.
16:12:00 *** jervin has joined #gnucash
16:12:53 <jralls> On #650 there's some work to do, it needs to rearranged a bit and moved to master. The documentation can be part of that.
16:13:39 <jralls> From gruberchr's last comment it seems he's waiting on some direction about where to put the pieces.
16:21:32 <gjanssens> Ok. I suppose the engine mock classes are best located in engine's test directory ?
16:27:26 <jralls> I was thinking engine/test-core since they're for avoiding testing parts of the engine that aren't really under test.
16:28:13 <jralls> But a new directory "mocks" might be even better because test-core is mostly the legacy testing utilities.
16:31:03 <gjanssens> Ok seems good. Should there eventually be a "mocks" directory for each of the directories we want to add mocks for ? Like another one for core-utils and for app-utils (whenever they get their first mocks) ?
16:31:23 *** jherbold113 has joined #gnucash
16:33:49 <jralls> I think that makes sense.
16:34:37 <jralls> With the proviso that I think everything in app-utils probably belongs somewhere else.
16:35:13 <jralls> It's like the junk drawer in the kitchen.
16:36:14 <jherbold113> I am using linux mint. When I use the software manager, the version of gnucash available is 2.2.9 from a build done 2010-02-28. However, I know that version 3.9+ is available via source. Does anyone know when the mint software manager will be providing version 3.9?
16:41:59 <gjanssens> jralls: :) We'll need some time to fix app-utils still...
16:42:24 <gjanssens> And with that I'll be off for the night.
16:42:27 <gjanssens> Bye
16:42:33 <jralls> Indeed we will. Good night!
16:45:38 <jralls> jherbold113 According to https://repology.org/project/gnucash/versions, Linux Mint doesn't do GnuCash. But it's Debian based so you should be able to use a .deb from the Debian or Ubuntu repositories.
16:46:20 *** sbluhm has quit IRC
16:48:36 <jralls> jherbold113 This might be helpful: https://forums.linuxmint.com/viewtopic.php?t=287113
16:50:54 *** frakturfreak has quit IRC
16:54:57 *** gjanssens has quit IRC
17:02:01 <jherbold113> jralis The repology.org says version 3.4 and 3.10 is available. The linuxmint forum posts seem to be more dated. I will explore getting the Debian 3.10 version. Thank you for your help.
17:18:18 *** Gerd has quit IRC
17:35:08 <CDB-Man_> jralls: for #760 I see you mention that your fixes address the account selector, what about the other fields? Debit, credit, description, where we were unable to delete the selected text
17:36:16 <jralls> CDB-Man, those were yesterday's fixes, mentioned in https://bugs.gnucash.org/show_bug.cgi?id=797760#c6.
17:36:32 <jralls> So you can try that out today.
17:37:26 <CDB-Man_> Ah, missed that. Will give it a whirl this evening
17:40:04 *** CDB-Man_ is now known as CDB-Man
17:44:09 *** gour has quit IRC
17:50:48 *** User_ has quit IRC
17:52:09 *** jervin has quit IRC
17:52:17 *** jervin has joined #gnucash
18:05:55 *** jherbold113 has quit IRC
18:20:24 <CDB-Man> gnucash-3.902-2020-05-18-git-3.902-132-g3e44af3c7+.setup.exe -- downloading this now
18:46:16 *** Aussie_matt has joined #gnucash
18:48:08 *** guak has quit IRC
18:48:51 *** guak has joined #gnucash
19:00:20 *** omnireq has quit IRC
19:00:39 *** omnireq has joined #gnucash
19:00:39 *** ChanServ sets mode: +v omnireq
19:21:50 *** omnireq has quit IRC
19:22:11 *** omnireq has joined #gnucash
19:22:11 *** ChanServ sets mode: +v omnireq
19:41:01 <CDB-Man> Yep, the issues seem mostly fixed
19:41:16 <CDB-Man> didn't test in detail, but the memo/description, account selector, and debit/credit fields work again
19:43:20 *** omnireq has quit IRC
19:43:39 *** omnireq has joined #gnucash
19:43:39 *** ChanServ sets mode: +v omnireq
19:45:57 *** guak has quit IRC
20:27:08 *** storyjesse has joined #gnucash
20:38:55 *** Simon has quit IRC
20:47:30 *** Simon has joined #gnucash
20:47:30 *** ChanServ sets mode: +v Simon
21:37:58 *** chris has quit IRC
21:40:21 *** omnireq has quit IRC
21:42:01 *** omnireq has joined #gnucash
21:42:01 *** ChanServ sets mode: +v omnireq
21:52:44 *** guak has joined #gnucash
21:55:49 *** guak has quit IRC
22:02:39 *** aminbegood has joined #gnucash
22:11:17 *** angel has joined #gnucash
22:15:28 *** storyjesse has quit IRC
22:22:21 *** omnireq has quit IRC
22:22:24 *** aminbegood has quit IRC
22:23:16 *** omnireq has joined #gnucash
22:23:17 *** ChanServ sets mode: +v omnireq
22:37:00 *** Agfarmer18 has joined #gnucash
22:38:20 *** Agfarmer18 has quit IRC
22:43:51 *** omnireq has quit IRC
22:44:21 *** omnireq has joined #gnucash
22:44:21 *** ChanServ sets mode: +v omnireq
22:59:06 *** angel has quit IRC
23:18:59 *** freewary has joined #gnucash
23:24:50 <freewary> I have gnucash version 2.6.19 which came packaged with xubuntu 18.04 LTS. Everything works except for aqbanking. I am trying to upgrade to a newer version of gnucash. Version 3.10 of gnucash seems to work on Windows 10, including aqbanking successfully gets transactions from my bank! Also I tried on a different xubuntu 20 LTS with gnucash 3.8b and 3.10(via flatpak). The problem that brings me to this chat asking for help: When I open a
23:24:50 <freewary> copy of my main .gnucash file on any version (3.8B or 3.10 win or 3.10 Linux), 5 years in one of my most important accounts is gone! How can I upgrade from gnucash 2.6.19 to a higher version without losing data?
23:29:44 <freewary> (also fyi, just started feeling sleepy, I'll check back in the morning to see if anyone answers)
23:29:53 *** freewary has quit IRC
23:47:08 *** jervin has quit IRC
23:47:15 *** jervin has joined #gnucash
23:49:13 *** jervin has quit IRC