mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
check for argument type. Also allow int.
This commit is contained in:
parent
d64fb74b9e
commit
445ff7e6c9
@ -33,13 +33,23 @@
|
|||||||
// require time64 as an argument
|
// require time64 as an argument
|
||||||
%typemap(in) time64 {
|
%typemap(in) time64 {
|
||||||
PyDateTime_IMPORT;
|
PyDateTime_IMPORT;
|
||||||
struct tm time = {PyDateTime_DATE_GET_SECOND($input),
|
|
||||||
PyDateTime_DATE_GET_MINUTE($input),
|
if (!PyDateTime_Check($input) && !PyInt_Check($input)) {
|
||||||
PyDateTime_DATE_GET_HOUR($input),
|
PyErr_SetString(PyExc_ValueError,"datetime or integer expected");
|
||||||
PyDateTime_GET_DAY($input),
|
return NULL;
|
||||||
PyDateTime_GET_MONTH($input) - 1,
|
}
|
||||||
PyDateTime_GET_YEAR($input) - 1900};
|
|
||||||
$1 = gnc_mktime(&time);
|
if (PyDateTime_Check($input)) {
|
||||||
|
struct tm time = {PyDateTime_DATE_GET_SECOND($input),
|
||||||
|
PyDateTime_DATE_GET_MINUTE($input),
|
||||||
|
PyDateTime_DATE_GET_HOUR($input),
|
||||||
|
PyDateTime_GET_DAY($input),
|
||||||
|
PyDateTime_GET_MONTH($input) - 1,
|
||||||
|
PyDateTime_GET_YEAR($input) - 1900};
|
||||||
|
$1 = gnc_mktime(&time);
|
||||||
|
} else {
|
||||||
|
$1 = PyInt_AsLong($input);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// A typemap for converting python dates to time64 *, for functions that
|
// A typemap for converting python dates to time64 *, for functions that
|
||||||
@ -61,14 +71,25 @@
|
|||||||
// Mark Jenkins <mark@parit.ca>
|
// Mark Jenkins <mark@parit.ca>
|
||||||
%typemap(in) time64 * (time64 secs) {
|
%typemap(in) time64 * (time64 secs) {
|
||||||
PyDateTime_IMPORT;
|
PyDateTime_IMPORT;
|
||||||
struct tm time = {PyDateTime_DATE_GET_SECOND($input),
|
|
||||||
PyDateTime_DATE_GET_MINUTE($input),
|
if (!PyDateTime_Check($input) && !PyInt_Check($input)) {
|
||||||
PyDateTime_DATE_GET_HOUR($input),
|
PyErr_SetString(PyExc_ValueError,"datetime or integer expected");
|
||||||
PyDateTime_GET_DAY($input),
|
return NULL;
|
||||||
PyDateTime_GET_MONTH($input) - 1,
|
}
|
||||||
PyDateTime_GET_YEAR($input) - 1900};
|
|
||||||
time64 secs = gnc_mktime(&time);
|
if (PyDateTime_Check($input)) {
|
||||||
$1 = &secs;
|
struct tm time = {PyDateTime_DATE_GET_SECOND($input),
|
||||||
|
PyDateTime_DATE_GET_MINUTE($input),
|
||||||
|
PyDateTime_DATE_GET_HOUR($input),
|
||||||
|
PyDateTime_GET_DAY($input),
|
||||||
|
PyDateTime_GET_MONTH($input) - 1,
|
||||||
|
PyDateTime_GET_YEAR($input) - 1900};
|
||||||
|
time64 secs = gnc_mktime(&time);
|
||||||
|
$1 = &secs;
|
||||||
|
} else {
|
||||||
|
time64 secs = PyInt_AsLong($input);
|
||||||
|
$1 = &secs;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// A typemap for converting time64 values returned from functions to
|
// A typemap for converting time64 values returned from functions to
|
||||||
|
Loading…
Reference in New Issue
Block a user