Commit Graph

97 Commits

Author SHA1 Message Date
Geert Janssens
d52aa0a0dd app-utils - remove gnc-module boilerplate
app-utils now is an ordinery shared library

A few bits worth mentioning:
1. it's not guile-free just yet, so instead of a gnc_module_load
   your code may have to call scm_c_use_module("gnucash app-utils");
   to expose the scm side of the app-utils api. This call has been
   added to gnucash-bin.c for example
2. while lots of noise in this commit is to rename from gncmodule-app-utils
   to gnc-app-utils, I'll point out the library has also been moved from
   <libdir>/gnucash to <libdir>. This required changes in app-util's
   CMakeLists.txt file for the install side and in the top level
   CMakeLists.txt file for the build directory structure.
3. The C side link module test has been removed as linking an ordinary
   shared library should be considered well tested by the compiler devs.
   The scheme side module load test has been slightly tweaked to no longer
   try to use gnc:module-load, but instead now checks whether the app-utils
   api is properly exposed to scheme after loading it via use-modules.
4. Dropped a completely obsolete README file.
2019-12-06 20:38:21 +01:00
Geert Janssens
4c77f7670e engine - remove gncmod boilerplate
engine is now an ordinary shared library

This requires a few more places to run gnc_engine_init as
this is no longer done as part of module loading.
2019-12-06 20:38:21 +01:00
Geert Janssens
1c7f835f47 engine - move guile code to bindings/guile
This commit tries to do the minimum necessary to move the guile bits from engine
to bindings/guile. As engine is a very central piece in the software, this unfortunately
still touches many other source files:

- A few helper objects have been squashed together:
  * engine-helpers-guile.[ch] (of which the c part is extracted from engine-helpers.c)
  * gncBusGuile.[ch]
  * gnc-hooks-scm.[ch]
- The initialization function of gncmod-engine no longer initializes the scm bits.
  Any scm code that wants to interact with the engine code now has to load
  the (gnucash engine) scm module, or sometimes (gnucash business-core).
  The bulk of changes in this commit actually is updating all the scm consumers to do so.
- scm-scm target has been removed. Instead (gnucash utilities) is part
  of scm-engine. A few dependency graphs have been updated for this.

More refinements will be in followup commits.
2019-12-06 19:59:11 +01:00
Geert Janssens
a6b7eecd81 core-utils - make the swig generated source file dependent on the core-utils headers
That should trigger a regeneration of these swig sources if
any of the header files change.
This is done via a small macro that can be reused for other wrappers as well.

Note
cmake 3.15 introduces a 'FILTER' generator expression
that might allow us to do something like the following:
$<FILTER:$<TARGET_PROPERTY:baselib,SOURCES>,INCLUDE,"*.h[pp]?$">
I toyed briefly with that idea but it currently has two issues:
1. 3.15 is newer than our current minimum cmake requirement, so we can't
   depend in that feature yet.
2. the sources are relative to *their* source directory, which
   is different from the one in which the wrappers are generated
   So they should still be properly transformed into absolute paths
2019-12-06 19:59:11 +01:00
Geert Janssens
a1898daf6c core-utils - move python wrapper code to bindings/python
This makes libgnucash/core-utils completely guile and python free.
2019-12-06 19:59:11 +01:00
Geert Janssens
33e1ff645c Allow to pass include directories to the add_swig_xyz commands
This will be needed when the wrappers no longer live in
the same directory as the objects they are wrapping.
2019-12-06 19:59:11 +01:00
luz.paz
65bb60d621 Fix typos for gnuchash/ doc/ bindings/ and misc.
Typos found via `codespell -q 3 -D ~/Projects/codespell/codespell_lib/data/dictionary.txt -S *.po,./po,*.min.js,./ChangeLog*,./NEWS,./doc/README*,./AUTHORS,./libgnucash/tax/us/txf-de*,./data/accounts -L ans,cas,dragable,gae,iff,iif,mut,nd,numer,startd,stoll`
2019-09-13 20:26:03 -04:00
Geert Janssens
15a35e6a3b Housekeeping - replace plenty of http links with https
There are more, but these are most common ones.
There are also a number of urls that don't behave well when https, so those are skipped
At some point I have also started marking non-working URLs as [DEAD LINK], though
that's not a full coverage.
2019-06-06 15:52:30 +02:00
Mike Evans
29416292a9 Remove FIX ME
Since it works fine and I can't remember why I put it in.
2019-05-01 11:46:42 +01:00
John Ralls
fc355958b8 Merge Christoph Holtermann's 'PR-python2to3-rest-api' into maint. 2019-04-14 14:27:53 -07:00
John Ralls
b2f25408d7 Merge Christoff Holtermann's 'PR-python-time64-modifications' into maint 2019-04-14 14:26:35 -07:00
John Ralls
8823f7283f Merge Christoph Holtermann's 'PR-python2to3' into maint. 2019-04-14 14:24:16 -07:00
c-holtermann
0c02866964 PyDate_Check works for date and datetime 2019-04-06 17:13:41 +02:00
c-holtermann
18a2688419 typo 2019-04-06 16:17:58 +02:00
c-holtermann
db9e98a812 also allow datetime.date
Initialisation of some business objects has been done with
datetime.date.today() and it is also mentioned as a possibility
in the source doc. So leave it possible.
2019-04-06 16:10:04 +02:00
c-holtermann
3884e6abf5 unobfuscate get_date method name 2019-04-06 16:09:01 +02:00
c-holtermann
8ba5e552d9 return None object if return value is FALSE 2019-04-06 14:50:29 +02:00
c-holtermann
dafdd702e6 additional author 2019-04-06 14:12:06 +02:00
c-holtermann
79decfb754 deal with functions returning values through arguments 2019-04-06 14:11:55 +02:00
c-holtermann
445ff7e6c9 check for argument type. Also allow int. 2019-04-06 14:11:05 +02:00
c-holtermann
c779bcb72f GetOwner may return project instead of owner 2019-04-04 17:56:42 +02:00
c-holtermann
6925ee3115 be prepared for GetDateDue returning null 2019-04-04 17:56:31 +02:00
c-holtermann
876079f8d2 remove TS suffix 2019-04-04 17:56:24 +02:00
c-holtermann
6eae440534 GetDate return unserializable datetime object 2019-04-04 17:56:16 +02:00
c-holtermann
b73be1b523 GetInvTaxTable returns unserializable object 2019-04-04 17:56:06 +02:00
c-holtermann
b06801185c shebang should be specific to python version (PEP394)
preferred form is #!/usr/bin/env python3 as gnucash now only works with
python3
2019-04-04 17:48:42 +02:00
c-holtermann
e7d940ac3f iteritems removed in python3 2019-04-04 17:48:10 +02:00
c-holtermann
77727ffc49 python3 does not return list of keys 2019-04-04 17:47:52 +02:00
c-holtermann
64a01f3027 python3 - 'as' needed in exceptions instead of comma 2019-04-04 17:47:34 +02:00
c-holtermann
0068475bb1 xrange has been dropped in python3 2019-04-04 17:47:14 +02:00
c-holtermann
298797a9be fix due to different invoice date handling 2019-04-04 11:53:40 +02:00
Christoph Holtermann
206ed63233 typo 2019-04-04 11:53:23 +02:00
Christoph Holtermann
247d04a544 make executable, remove double -o 2019-04-04 11:52:44 +02:00
Christoph Holtermann
1184e92687 2to3 2019-04-04 11:52:13 +02:00
Christoph Holtermann
002595f4cc add options iOP 2019-04-04 11:51:00 +02:00
Christoph Holtermann
61f7613b8d fix for python3 2019-04-04 11:49:20 +02:00
Rob Reid
9be545f5ce Fixes for new 64-bit time setter/getters 2019-01-06 22:05:43 +08:00
John Ralls
b8574a004a Merge Christoff Holterman's 'PR-Python-GetBalTaxValues' into maint. 2018-12-24 13:53:22 -08:00
Frank Oltmanns
5675dad2f3 Update query for get_all_customers
Use same time of query in get_all_customers as in get_all_invoices
2018-12-24 13:42:22 -08:00
Christoph Holtermann
ff660a873e Revert "Question about GncMonetary class instead of tuple"
This reverts commit 8fe0b14213.
Question has been discussed in pull request.
2018-12-04 12:17:56 +01:00
Christoph Holtermann
8fe0b14213 Question about GncMonetary class instead of tuple 2018-12-04 12:14:23 +01:00
Christoph Holtermann
b431d471e0 decorate monetary list to access GncCommodity and GncNumeric 2018-12-04 12:14:23 +01:00
Christoph Holtermann
929a3bcd9e pass additional args and document function 2018-12-04 12:14:22 +01:00
Frank H. Ellenberger
0467dd0b92 Fix several URLs in documentation parts
We have no longer svn, but 2 doxygen branches.
I don't remember, when Mailman moved from www to lists.
2018-11-03 10:15:19 +01:00
John Ralls
d9ed847595 Merge Christoph Holterman's 'PR-python2to3fixes' into maint. 2018-10-16 09:37:25 -07:00
Tom Lofts
820cd842f1 Bug 796893 - invoice.GetDatePosted() and other date related...
functions returns strange values for uninitalised dates.

Convert time64 equal to INT64_MAX to Python's None value.
2018-10-06 14:59:52 -07:00
Mahmoud Yaser
3e014f189f
Update change_tax_code.py 2018-09-26 08:21:17 +02:00
Mahmoud Yaser
f726238865
Update change_tax_code.py 2018-09-24 17:21:16 +02:00
Mahmoud Yaser
3b416f07be
Update change_tax_code.py 2018-09-24 11:12:16 +02:00
Christoph Holtermann
64a28b5263 xrange deprecated in python3, change to range
thanks to Sumit Bhardwaj for the hint
2018-09-22 18:12:11 +02:00