> Begin forwarded message: > > From: Hal Vaughan <hal@hal.dance> > Subject: Re: [GNC] Adding Transactions From Another Program > Date: May 8, 2020 at 1:42:28 AM EDT > To: david whiting <d...@davidwhiting.me.uk> > > I think that’s it! > > First, a comment: I went on and installed Homebrew and things seemed to work > - until I tried running pip. Nope. It looks for $PYENV_COMMAND_PATH and > that’s null. (Even after rebooting and using a new terminal.) And people > wonder why I hate those add-ons like that. > > Okay, on topic - yes, this could work. I got curious - is there a way I can > do more to automate this? For instance, run my Python script, have it parse > the GC file, then create the QIF file, save it. Then I thought, "It would be > nice if it could get GC to import the new QIF file, then exit GC and delete > the QIF file all one one shot. I did some searching and found something that > said to try "Gnucash help." No "—" before the "help," but I tried it. GC > came up, but I tried typing "help" in the console again. When I quit GC, I > got this: > > These shell commands are defined internally. Type `help' to see this list. > Type `help name' to find out more about the function `name'. > Use `info bash' to find out more about the shell in general. > Use `man -k' or `info' to find out more about commands not in this list. > > A star (*) next to a name means that the command is disabled. > > JOB_SPEC [&] (( expression )) > . filename [arguments] : > [ arg... ] [[ expression ]] > alias [-p] [name[=value] ... ] bg [job_spec ...] > bind [-lpvsPVS] [-m keymap] [-f fi break [n] > builtin [shell-builtin [arg ...]] caller [EXPR] > case WORD in [PATTERN [| PATTERN]. cd [-L|-P] [dir] > command [-pVv] command [arg ...] compgen [-abcdefgjksuv] [-o option > complete [-abcdefgjksuv] [-pr] [-o continue [n] > declare [-afFirtx] [-p] [name[=val dirs [-clpv] [+N] [-N] > disown [-h] [-ar] [jobspec ...] echo [-neE] [arg ...] > enable [-pnds] [-a] [-f filename] eval [arg ...] > exec [-cl] [-a name] file [redirec exit [n] > export [-nf] [name[=value] ...] or false > fc [-e ename] [-nlr] [first] [last fg [job_spec] > for NAME [in WORDS ... ;] do COMMA for (( exp1; exp2; exp3 )); do COM > function NAME { COMMANDS ; } or NA getopts optstring name [arg] > hash [-lr] [-p pathname] [-dt] [na help [-s] [pattern ...] > history [-c] [-d offset] [n] or hi if COMMANDS; then COMMANDS; [ elif > jobs [-lnprs] [jobspec ...] or job kill [-s sigspec | -n signum | -si > let arg [arg ...] local name[=value] ... > logout popd [+N | -N] [-n] > printf [-v var] format [arguments] pushd [dir | +N | -N] [-n] > pwd [-LP] read [-ers] [-u fd] [-t timeout] [ > readonly [-af] [name[=value] ...] return [n] > select NAME [in WORDS ... ;] do CO set [--abefhkmnptuvxBCHP] [-o opti > shift [n] shopt [-pqsu] [-o long-option] opt > source filename [arguments] suspend [-f] > test [expr] time [-p] PIPELINE > times trap [-lp] [arg signal_spec ...] > true type [-afptP] name [name ...] > typeset [-afFirtx] [-p] name[=valu ulimit [-SHacdfilmnpqstuvx] [limit > umask [-p] [-S] [mode] unalias [-a] name [name ...] > unset [-f] [-v] [name ...] until COMMANDS; do COMMANDS; done > variables - Some variable names an wait [n] > while COMMANDS; do COMMANDS; done { COMMANDS ; } > > I couldn’t fine anything on Gnu Bash, but this looks interesting. I’ll > address it in a separate thread, but I found the command line options were > sparse, but this makes me wonder if there’s a way to run a batch file for GC > and, in that batch file, tell it to import a QIF file. > > Not necessary, but it would be nice, otherwise, it’s a multi-step process: > Run my script, run GC, import, quit GC, delete QIF. Doesn’t sound like much, > but it can be a pain for a forgetful person like me. > > > Hal > >> >> On May 7, 2020, at 6:23 PM, david whiting <d...@davidwhiting.me.uk> wrote: >> >> Hi Hal, >> >> Looking back at your original question, perhaps there's an alternative >> approach that will achieve what you want to do. Rater than using >> python to add the entries directly, once your python script has found >> the transactions, use that to write a qif file that specifies the >> transactions you want and then import that file in gnucash. I do >> something similar where I have to create monthly subs transactions >> covering six months for about 450 club members, so about 2,700 >> transactions. The amount of the subs each member pays depends on the >> team the member is in so the script that works out which team each >> member is in, looks up the monthly amount in a separate look-up csv >> file and then creates the qif file. I then import this into gnucash at >> the beginning of the season (s the transactions have dates in the >> future). The qif format is simple to create. This has worked nicely >> for me. >> >> David >> >> On Thu, 7 May 2020 at 19:23, Hal Vaughan <hal@hal.dance> wrote: >>> >>> It took me time to do some research on this. (Even with staying at home >>> now, I have a ton going on and had to spend several full days just fixing >>> my tractor.) >>> >>> Homebrew looked like it wasn’t much of a problem and I installed it. >>> Everything still works. (That’s another part of research - I still have to >>> go through the folder where all my scripts are and figure out which ones I >>> still need that may be using oddball or outdated Perl or Python modules. I >>> have notes on a number of them that I use whenever I upgrade to a new >>> computer, so that’ll help, but it’s still a time waster!) >>> >>> So, ignoring the entertaining auto-correct issue here, if I use Homebrew, >>> it just installs from a stock .dmg image. So if I want Python bindings, >>> Homebrew is irrelevant? As in it doesn’t matter if I use it or not, I can >>> just get the source code for GC and compile it on my system to get the >>> bindings. Is that right? >>> >>> That leads to a number of questions: >>> 1. I’m not inexperienced as a programmer, but it’s almost all with Perl, >>> Python, and Java. Years ago I did some C++, but have done very little in >>> learning how to control compilers. How hard is compiling GC from scratch? >>> 2. If I compile from scratch, do I have to add anything extra to get Python >>> bindings, or do I just have to select the option for that when I compile? >>> 3. What about upgrades? Will I have to recompile GC every time I want to >>> upgrade it on my system? (That is, assuming I want to keep the bindings?) >>> >>> From what people are saying, trying to add entries is not good, but that I >>> can import from a CSV or TSV file. >>> >>> While that was on another branch of this thread, that does bring up a few >>> questions: >>> >>> 1. Is there any protection to keep GC from importing the same transaction >>> multiple times? For instance, if I have a transaction for interest in a >>> CSV file, then add another in the file and re-import, will GC note one >>> transaction it’s importing is identical to another and flag it for me? >>> 2. Is there any way, from within GC, to run an external script that would >>> create the interest entries? Then, once they’re created, I could import >>> that CSV file? Or would I have to run the interest calculating script from >>> outside GC? >>> >>> >>> Hal >>> >>>> On Apr 30, 2020, at 11:51 PM, D. <sunfis...@yahoo.com> wrote: >>>> >>>> Hal, >>>> >>>> John Ralls, the person who manages the Mac end of GnuCash, has pointed out >>>> that Homebrew simply uses the GnuCash dmg for its installation. That dmg >>>> does not include python bindings, so the answer to your question is "No, >>>> Homebrew does not include python. You would need to clozapine GnuCash >>>> yourself." >>>> >>>> David T. >>>> >>>> >>>> -------- Original Message -------- >>>> From: Hal Vaughan <hal@hal.dance> >>>> Sent: Fri May 01 01:32:14 GMT+05:30 2020 >>>> To: Gnucash <gnucash-user@gnucash.org> >>>> Subject: Re: [GNC] Adding Transactions From Another Program >>>> >>>> Actually, this has me looking over what I am and am not still using. >>>> >>>> Since Mac is still using Python 2.7, but Catalina is coming up and that >>>> includes Python 3.x. So I’m looking over what I use and what I don’t >>>> among my decades of scripts. >>>> >>>> Last I looked, pretty much every system like that usurped the originals. >>>> At the time, when I looked them over, it became clear to me why they did >>>> that and it made sense. But, again, that decision was something like 10 >>>> years ago and I haven’t had time or cause to revisit it - until now. >>>> >>>> Do you know if Homebrew can provide the Python bindings for GC? >>>> >>>> >>>> Hal >>>> >>>>> On Apr 30, 2020, at 2:27 AM, Adrien Monteleone >>>>> <adrien.montele...@lusfiber.net> wrote: >>>>> >>>>> Have you investigated Homebrew vs. MacPorts? >>>>> >>>>> Just curious if the Perl issues are the same. >>>>> >>>>> Regards, >>>>> Adrien >>>>> >>>>>> On Apr 30, 2020 w18d121, at 12:29 AM, Hal Vaughan <hal@hal.dance> wrote: >>>>>> >>>>>> I’ve checked out the bindings - as I mentioned in my original post, the >>>>>> problem is that using the bindings on a Mac requires MacPorts. I’ve had >>>>>> issues before, since MacPorts (and other similar systems) usurp some of >>>>>> the normal paths for things like Perl and Python. I don’t use Perl for >>>>>> coding anymore, but I have Perl scripts I’ve been using for over a >>>>>> decade that do some simple work for me. I had an important Perl script >>>>>> I was using that used a specific Perl library. I don’t remember which >>>>>> one it was, but when I added MacPorts and tried to run my script a week >>>>>> later, it crashed. >>>>>> >>>>>> I had no idea MacPorts, Fink, Homebrew, and similar systems usurped the >>>>>> normal system paths for scripting languages. When I installed it, and >>>>>> it took over for Perl, it put in a system without all the libraries my >>>>>> scripts used and some of the libraries that were available to me with a >>>>>> standard Perl install (libraries I had installed from CPAN) would not >>>>>> install in the new system. I had to completely remove MacPorts to get >>>>>> my old scripts to work. >>>>>> >>>>>> I’d love to use MacPorts, since it makes a lot available to me that I >>>>>> can’t easily add now (unless I start using a Linux VM), but that >>>>>> experience taught me never to trust such a system. >>>>>> >>>>>> I think it would be a lot easier for me to do this with Python bindings, >>>>>> but I still use older scripts for things I need to do once a month or >>>>>> once a year and I don’t want to risk breaking them again like they broke >>>>>> about a decade ago when I installed MacPorts. >>>>>> >>>>>> >>>>>> Hal >>>>> >>>>> >>>>> _______________________________________________ >>>>> gnucash-user mailing list >>>>> gnucash-user@gnucash.org >>>>> To update your subscription preferences or to unsubscribe: >>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user >>>>> If you are using Nabble or Gmane, please see >>>>> https://wiki.gnucash.org/wiki/Mailing_Lists for more information. >>>>> ----- >>>>> Please remember to CC this list on all your replies. >>>>> You can do this by using Reply-To-List or Reply-All. >>>>> >>>> >>>> _______________________________________________ >>>> gnucash-user mailing list >>>> gnucash-user@gnucash.org >>>> To update your subscription preferences or to unsubscribe: >>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user >>>> If you are using Nabble or Gmane, please see >>>> https://wiki.gnucash.org/wiki/Mailing_Lists for more information. >>>> ----- >>>> Please remember to CC this list on all your replies. >>>> You can do this by using Reply-To-List or Reply-All. >>>> >>>> >>> >>> _______________________________________________ >>> gnucash-user mailing list >>> gnucash-user@gnucash.org >>> To update your subscription preferences or to unsubscribe: >>> https://lists.gnucash.org/mailman/listinfo/gnucash-user >>> If you are using Nabble or Gmane, please see >>> https://wiki.gnucash.org/wiki/Mailing_Lists for more information. >>> ----- >>> Please remember to CC this list on all your replies. >>> You can do this by using Reply-To-List or Reply-All. >> >> >> >> -- >> David Whiting >> >
_______________________________________________ gnucash-user mailing list gnucash-user@gnucash.org To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user If you are using Nabble or Gmane, please see https://wiki.gnucash.org/wiki/Mailing_Lists for more information. ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.