Commit Graph

249 Commits

Author SHA1 Message Date
Geert Janssens
ad8c388235 core-utils - rework link_libraries and include_directories propagation
By properly marking certain parameters as private or public
we can have cmake work out most of the link_libraries and
include_directoris for other targets dependent on core-utils
2019-12-06 19:59:11 +01:00
Geert Janssens
28fa4c6465 core-utils - move wrapper code to bindings/guile
Note core-utils.i is used by both the guile and the python bindings so
it is moved up to the common bindings directory, while guile
specific changes are in bindings/guile.
2019-12-06 19:59:11 +01:00
Geert Janssens
18093b5e82 core-utils - move guile utils to bindings/guile 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
Geert Janssens
e493d42def Introduce gnucash-guile shared library
This (currently empty) library is intented to become
the standard api library for guile code that wants
to use the libgnucash functionality.
2019-12-06 19:59:11 +01:00
Geert Janssens
a0aa105826 libgnucash/scm - move to bindings/guile
A small step in the direction of making libgnucash guile-free.
2019-12-06 19:59:11 +01:00
Geert Janssens
df1f033f41 bindings-python - drop references to gnucash-env
We no longer ship a gnucash-env script, directly use python(3) instead
2019-11-30 13:20:08 +01:00
Andrey Legayev
34c14b44a9
Remove not needed semicolons in Python bindings 2019-11-29 18:32:50 +02: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
Christoph Holtermann
97916c6682 whitespace fixes 2018-09-21 09:28:41 +02:00
Christoph Holtermann
34fa18f04e additional fixes for python3 2018-09-21 09:27:17 +02:00
Christoph Holtermann
54cb3358ce add basic test for python query
add test for creating query object and setting search_for
related to Bug 796137 and fix in commit 1a7c5b9a32
2018-09-20 18:54:49 +02:00
John Ralls
1a7c5b9a32 Merge Christoff Holterman's Bug 796137 repair into maint. 2018-09-08 13:20:51 -07:00
Christoph Holtermann
3ab66623cd Bug 796137 - implement search_for as method of Python Query
The last three commits fix the main part of Bug 796137. An inconvenience
with GSList remains as for the moment qof_query_add_boolean_match only
accepts bytes as parameter and no strings. This still needs to be fixed.
2018-09-08 09:31:45 +02:00
Christoph Holtermann
0551ee36e8 add option to exclude specified methods
an exclude option is being added to add_constructor_and_methods_with_prefix and
add_methods_with_prefix
2018-09-08 09:26:23 +02:00
John Ralls
fee589b28c Remove Timespec from pricedb.
Includes removing the time64 specialized functions because the regular ones
handle time64 now.
2018-08-13 11:52:42 -07:00
John Ralls
756f444ac3 Update bug tracker URL
Change all instances of bugzilla.gnome.org to bugs.gnucash.org, reflecting
our migration to a self-hosted bug tracker.

Inform the Translation Project Coordinator at release that this affects
translatable strings and that all message catalogs have been updated.
2018-07-13 09:49:33 -07:00
Geert Janssens
1f3cf845c4 Work around a conflict between gcc 8.0 and swig 3.0
The swig 3.0 generated python wrappers trigger a warning converted into an error issued
by gcc 8.0 for using strncpy as follows:
strncpy(buff, "swig_ptr: ", 10);
The reason is this call will truncate the trailing null byte from the string.
This appears to have been fixed in swig master already but that's not released yet
so let disable the warning when compiling the swig wrappers until it is.
2018-05-09 22:18:29 +02:00
Geert Janssens
a9f35ed7ae Lowercase cmake commands
A huge bikeshed fest but it distracted me enough to do it anyway.
2018-05-03 23:18:15 +02:00
Fabian Köster
07a5485814 Fix syntax 2018-04-19 08:32:46 +02:00
John Ralls
a0f49d8b17 Revert "Load the environment file when initializing the python bindings."
It's unnecessary, the swigged gnucash_core init function already does it.
This reverts commit 7b6854c163.
2018-03-25 09:17:17 -07:00
John Ralls
7b6854c163 Load the environment file when initializing the python bindings. 2018-03-24 17:49:01 -07:00
John Ralls
148c02d231 [python bindings] Add required posted dates to the transactions. 2018-03-22 15:29:08 -07:00
John Ralls
bea89a50ac More python 3 fixups. 2018-03-22 15:19:59 -07:00
John Ralls
7989f02c73 Merge Tomas Schlosser's "Allow creation of prices in Python bindings" into unstable. 2018-03-17 15:53:46 -07:00
Julian Wollrath
a43b115a45 Bug 791831 - Add python3 support
This switches swig to use python 3 specific features when generating the
bindings, switches the build over to python 3 and makes the neccesary
python 2 to 3 conversions in the bindings and tests.
2018-03-17 15:10:00 -07:00
Tomas Schlosser
01bb298504
Allow creation of prices in Python bindings
Using the function gnc_price_create and book as a parameter, it is possible to create the new GncPrice object. This will remove the necessity of cloning the prices from existing ones in Python scripts.
2018-03-16 14:25:46 +01:00
John Ralls
c9f3c0760c Provide fallback value for test_core_dir in case it hasn't been built yet. 2018-03-09 13:48:36 -08:00
John Ralls
fbb172d096 Bug 793900 - 2.7.5: test failure: 105 - python-bindings.
unittest_support.py is in ${CMAKE_SOURCE_DIR} for a tarball build
and ${CMAKE_BINARY_DIR} for a vcs build. Look for it rather than
assuming it's in ${CMAKE_BINARY_DIR}.
2018-03-09 13:07:29 -08:00
John Ralls
474c3ae079 Make a target for the python-bindings test to set its dependencies. 2018-02-18 16:08:26 -08:00
Geert Janssens
36cb167b68 Rewrite gnc_add_swig_python_command to work in dist tarball as well
When building from git it will add targets to generate the swig files.
When building from tarball it will just point at the generated source
files from the tarball.
2018-01-29 19:46:44 +01:00
Geert Janssens
4317d8a8f6 Improve handling of generated distributable files
- the two dist_add_... macros now both take a list of file names
as argument so more files can be added at once to the dist tarball.
- dist_add_generated now creates the right target by itself. There's
  no need to pass one any more
- make the swig generated *.py module files explicit output files
- change a couple of custom_targets into custom_commands. The only
  reason they were defined as targets was to ensure they got built
  before the dist tarball. This is now properly handled by the
  dist_add_... macros.
- correctly handle dependency on swig-runtime.h (using OBJECT_DEPENDS
  was not the way to do it according to that property's help page)
2018-01-29 19:46:44 +01:00
Geert Janssens
3dff4e5211 Fix make dist on a clean checkout
cmake with unix makefiles fails to resolve dist dependencies
added from COPY_FROM_BUILD if these dependencies aren't built yet.

This commit replaces the COPY_FROM_BUILD based logic with two new functions
'dist_add_configured' and 'dist_add_generated' to indicate which files should
be included in the dist tarball. The latter also adds a target level dependency
to the dist tarball custom command. Hence the former should
be used for files that get generated during a cmake run while the latter
should be used for files generated as the result of a 'make/ninja-build' run
(like files for which an add_custom_command rule exists).

Note: this commit also temporarily disables the dist target when building
from a tarball (and hence it won't be tested in distcheck either). This
will be handled in a future commit.
2018-01-29 19:46:44 +01:00
John Ralls
74ddb671e4 Merge Chris Lam's and Aaron Laws's branch 'time64-ftw' into unstable. 2018-01-20 12:40:32 -08:00
John Ralls
91f4b19039 Convert python bindings from timespec to time64. 2018-01-20 12:35:04 -08:00
John Ralls
6ffb77de20 Merge branch Rob Gowin's 'bye_bye_autotools' into unstable. 2018-01-18 12:02:56 -08:00
John Ralls
8900b19da3 Bug 790845 - 2.7.3: massive test failures on some architectures (reopened).
Fix some test failures caused by erroneous size assumptions.
2018-01-14 16:31:22 -08:00
Rob Gowin
54ac7f23e0 Remove Autotools 2018-01-13 12:52:57 -06:00
Geert Janssens
f11eab36d9 Replace GNC_CONFIGURE(2) with configure_file 2017-12-23 14:07:25 +01:00
John Ralls
ad11afefb4 LIBDIR is not lib--two more CMakeLists.txt. 2017-12-01 20:31:44 -08:00
John Ralls
4a84fca9b1 Add GLIB_CFLAGS and srcdir to SWIG includes. 2017-11-30 13:32:57 -08:00
John Ralls
41656c920e Fix python test failure on Travis.
It seems that there are two possible exceptions depending on OS.
2017-11-28 17:57:00 -08:00
Guy Taylor
744cdac5a4 Use builtin SWIG conversions for glib types
Where possible in the Python SWIG code use the builtin SWIG conversion
code over custom code. This ensures appropriate overflow/type checking.
With this I have enabled GncNumeric from longs and tested for correct
overflow handling.

Note: This could be extended to GUILE but I am not familiar enought to
safely enable this.
2017-11-28 17:08:43 -08:00
Guy Taylor
e011576e37 Add GncNumeric to native Python Fraction
Add helper method to return the native Python fraction type from GncNumeric.
2017-11-28 16:14:07 -08:00
Guy Taylor
1ef379a704 Fix Python GncNumeric for non (int, int) pairs
At current the Python GncNumeric has issues with type conversion eg.
 * GncNumeric(1.3) = 1.00
 * GncNumeric("1.3") is OK but any future methods error

This behaviour was relied on for the Account tests to pass as it used
GncNumeric(0.5) == GncNumeric(1.0) but this is not what many users would
expect.

This fix alows GncNumeric to be constructed from a (int, int)
numerator/denominator pair or int/float/str where double_to_gnc_numeric
and string_to_gnc_numeric from C is used.
2017-11-28 16:14:07 -08:00
John Ralls
e92a1b3723 Fix python tests in tarball builds. 2017-11-28 14:25:24 -08:00
John Ralls
13657ee1bb Merge branch 'maint' into unstable 2017-11-25 15:35:24 -08:00
John Ralls
961cb5a829 Bug 790550 - FTBFS: missing __init__.py 2017-11-19 17:32:12 -08:00
John Ralls
f888eb88f0 Fix with_Python build in cmake. 2017-11-09 11:22:02 -08:00
Geert Janssens
df8ceadb63 Fix building from dist tarball with python bindings enabled 2017-10-26 14:05:17 +02:00
Geert Janssens
1238b9d8cd Prevent gcc from searching config.h in the current directory
This will avoid a ninja-build from picking up a config.h generated by the autotools build
(in the root build directory). Picking up the wrong config.h may lead to all kinds of
subtle issues if the autotools run was done with different options than the cmake run.
2017-10-26 14:05:17 +02:00
Geert Janssens
37ecf56fbb Merge branch 'maint'
Resolved conflicts:
	bindings/python/tests/CMakeLists.txt
2017-09-12 13:48:01 +02:00
Geert Janssens
f0fe1e9949 Re-enable python-bindings test this time with a fully corrected python path
The fix was suggested by Rob Gowin.
In addition, disable some debug output in the python tests suite.
2017-09-10 11:57:28 +02:00
Geert Janssens
a1bc2d0202 Temporarily disable python-bindings as it's currently failing
I have adjusted the PYTHON_PATH already based on the new directory layout,
but that's not sufficient.
2017-09-09 14:23:47 +02:00
Geert Janssens
22b11427cb Merge branch 'maint' 2017-09-09 14:09:13 +02:00
Geert Janssens
83d14e1c1c Restructure the src directory
It is split into
- /libgnucash (for the non-gui bits)
- /gnucash (for the gui)
- /common (misc source files used by both)
- /bindings (currently only holds python bindings)

This is the first step in restructuring the code. It will need much
more fine tuning later on.
2017-08-10 18:45:00 +02:00