diff --git a/gnucash/import-export/qif-imp/qif-dialog-utils.scm b/gnucash/import-export/qif-imp/qif-dialog-utils.scm index abddb2e84d..f0f81e4f6c 100644 --- a/gnucash/import-export/qif-imp/qif-dialog-utils.scm +++ b/gnucash/import-export/qif-imp/qif-dialog-utils.scm @@ -24,7 +24,44 @@ ;; Boston, MA 02110-1301, USA gnu@gnu.org ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(define-module (gnucash qif-import qif-dialog-utils)) + +(eval-when (compile load eval expand) + (load-extension "libgnc-gnome" "scm_init_sw_gnome_module")) + +(use-modules (srfi srfi-1)) +(use-modules (sw_gnome)) +(use-modules (gnucash core-utils)) +(use-modules (gnucash engine)) (use-modules (gnucash string)) +(use-modules (gnucash app-utils)) +(use-modules (gnucash qif-import qif-objects)) +(use-modules (gnucash qif-import qif-guess-map)) + +(export default-capital-return-acct) +(export default-cglong-acct) +(export default-cgmid-acct) +(export default-cgshort-acct) +(export default-commission-acct) +(export default-dividend-acct) +(export default-equity-account) +(export default-equity-holding) +(export default-interest-acct) +(export default-margin-interest-acct) +(export default-stock-acct) +(export default-unspec-acct) +(export qif-dialog:make-account-display) +(export qif-dialog:make-category-display) +(export qif-dialog:make-memo-display) +(export qif-dialog:qif-file-loaded?) +(export qif-dialog:unload-qif-file) +(export qif-import:any-new-accts?) +(export qif-import:get-account-name) +(export qif-import:update-security-hash) +(export qif-import:fix-from-acct) +(export qif-import:get-all-accts) +(export qif-import:refresh-match-selection) (define (default-stock-acct brokerage security) (string-append brokerage (gnc-get-account-separator-string) security)) diff --git a/gnucash/import-export/qif-imp/qif-file.scm b/gnucash/import-export/qif-imp/qif-file.scm index 373812f777..db3e290927 100644 --- a/gnucash/import-export/qif-imp/qif-file.scm +++ b/gnucash/import-export/qif-imp/qif-file.scm @@ -24,12 +24,31 @@ ;; Boston, MA 02110-1301, USA gnu@gnu.org ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(define-module (gnucash qif-import qif-file)) +(eval-when (compile load eval expand) + (load-extension "libgnc-gnome" "scm_init_sw_gnome_module")) + +(use-modules (sw_gnome)) (use-modules (gnucash core-utils)) +(use-modules (gnucash engine)) +(use-modules (gnucash utilities)) (use-modules (gnucash string)) +(use-modules (gnucash app-utils)) (use-modules (ice-9 regex)) +(use-modules (srfi srfi-1)) (use-modules (srfi srfi-13)) (use-modules (ice-9 rdelim)) +(use-modules (gnucash qif-import qif-objects)) +(use-modules (gnucash qif-import qif-utils)) +(use-modules (gnucash qif-import qif-parse)) +(use-modules (gnucash qif-import qif-dialog-utils)) + +(export qif-file:check-from-acct) +(export qif-file:parse-fields) +(export qif-file:parse-fields-results) +(export qif-file:read-file) +(export qif-file:reparse-dates) (define qif-bad-numeric-rexp (make-regexp "^\\.\\.\\.")) diff --git a/gnucash/import-export/qif-imp/qif-guess-map.scm b/gnucash/import-export/qif-imp/qif-guess-map.scm index da8ff87dfb..94705561e2 100644 --- a/gnucash/import-export/qif-imp/qif-guess-map.scm +++ b/gnucash/import-export/qif-imp/qif-guess-map.scm @@ -24,9 +24,37 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(define-module (gnucash qif-import qif-guess-map)) + +(eval-when (compile load eval expand) + (load-extension "libgnc-gnome" "scm_init_sw_gnome_module")) + +(use-modules (gnucash utilities)) +(use-modules (gnucash core-utils)) +(use-modules (gnucash app-utils)) +(use-modules (gnucash engine)) +(use-modules (gnucash qif-import qif-objects)) +(use-modules (gnucash qif-import qif-dialog-utils)) + (use-modules (srfi srfi-13)) (use-modules (ice-9 match)) +(export GNC-ASSET-TYPE) +(export GNC-BANK-TYPE) +(export GNC-CASH-TYPE) +(export GNC-CCARD-TYPE) +(export GNC-EQUITY-TYPE) +(export GNC-EXPENSE-TYPE) +(export GNC-INCOME-TYPE) +(export GNC-LIABILITY-TYPE) +(export GNC-MUTUAL-TYPE) +(export GNC-PAYABLE-TYPE) +(export GNC-RECEIVABLE-TYPE) +(export GNC-STOCK-TYPE) +(export qif-import:guess-acct) +(export qif-import:load-map-prefs) +(export qif-import:save-map-prefs) + (define GNC-BANK-TYPE 0) (define GNC-CASH-TYPE 1) (define GNC-ASSET-TYPE 2) diff --git a/gnucash/import-export/qif-imp/qif-import.scm b/gnucash/import-export/qif-imp/qif-import.scm index e1f206a1d6..46a3ad2478 100644 --- a/gnucash/import-export/qif-imp/qif-import.scm +++ b/gnucash/import-export/qif-imp/qif-import.scm @@ -25,68 +25,15 @@ (define-module (gnucash qif-import)) -(use-modules (gnucash utilities)) -(use-modules (gnucash engine)) -(use-modules (gnucash app-utils)) -(use-modules (gnucash gnome-utils)) -;; We do this initialization here because src/gnome isn't a real module. -;; Note: Guile 2 needs to find the symbols from the extension at compile time already -(eval-when (compile load eval expand) - (load-extension "libgnc-gnome" "scm_init_sw_gnome_module")) +(use-modules (gnucash core-utils)) -(use-modules (sw_gnome)) - -(use-modules (ice-9 regex)) -(use-modules (srfi srfi-1)) - -(debug-enable 'backtrace) - -(load-from-path "gnucash/qif-import/qif-objects") ;; class definitions -(load-from-path "gnucash/qif-import/qif-parse") ;; string-to-value -(load-from-path "gnucash/qif-import/qif-utils") -(load-from-path "gnucash/qif-import/qif-file") ;; actual file reading -(load-from-path "gnucash/qif-import/qif-dialog-utils") ;; build displays -(load-from-path "gnucash/qif-import/qif-guess-map") ;; build acct mappings -(load-from-path "gnucash/qif-import/qif-to-gnc") ;; conv QIF xtns to GNC -(load-from-path "gnucash/qif-import/qif-merge-groups") ;; merge into user's acct - -(export make-qif-file) -(export make-ticker-map) -(export qif-import:get-all-accts) -(export qif-import:fix-from-acct) -(export qif-import:any-new-accts?) -(export qif-import:update-security-hash) -(export qif-import:refresh-match-selection) -(export qif-import:save-map-prefs) -(export qif-import:load-map-prefs) -(export qif-import:qif-to-gnc) -(export qif-import:qif-to-gnc-undo) -(export qif-import:reset-cancel-pause) -(export qif-import:cancel) -(export qif-import:toggle-pause) - -(export qif-map-entry:gnc-name) -(export qif-map-entry:set-gnc-name!) -(export qif-map-entry:clone) -(export qif-map-entry:qif-name) -(export qif-map-entry:new-acct?) - -(export qif-file:read-file) -(export qif-file:parse-fields) -(export qif-file:parse-fields-results) -(export qif-file:check-from-acct) -(export qif-file:reparse-dates) -(export qif-file:check-from-acct) -(export qif-file:path-to-accountname) -(export qif-file:path) - -(export qif-dialog:qif-file-loaded?) -(export qif-dialog:unload-qif-file) -(export qif-dialog:make-account-display) -(export qif-dialog:make-category-display) -(export qif-dialog:make-memo-display) - -(export gnc:account-tree-find-duplicates) -(export gnc:account-tree-catenate-and-merge) -(export gnc:prune-matching-transactions) +(load-and-reexport (gnucash qif-import qif-dialog-utils) + (gnucash qif-import qif-file) + (gnucash qif-import qif-guess-map) + (gnucash qif-import qif-merge-groups) + (gnucash qif-import qif-objects) + (gnucash qif-import qif-parse) + (gnucash qif-import qif-to-gnc) + (gnucash qif-import qif-utils) + (gnucash string)) diff --git a/gnucash/import-export/qif-imp/qif-merge-groups.scm b/gnucash/import-export/qif-imp/qif-merge-groups.scm index 660e4a0529..262e224d6b 100644 --- a/gnucash/import-export/qif-imp/qif-merge-groups.scm +++ b/gnucash/import-export/qif-imp/qif-merge-groups.scm @@ -23,6 +23,21 @@ ;; Boston, MA 02110-1301, USA gnu@gnu.org ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(define-module (gnucash qif-import qif-merge-groups)) + +(eval-when (compile load eval expand) + (load-extension "libgnc-gnome" "scm_init_sw_gnome_module")) + +(use-modules (sw_gnome)) +(use-modules (gnucash core-utils)) +(use-modules (gnucash engine)) +(use-modules (gnucash app-utils)) +(use-modules (srfi srfi-1)) +(use-modules (gnucash qif-import qif-utils)) + +(export gnc:account-tree-catenate-and-merge) +(export gnc:account-tree-find-duplicates) +(export gnc:prune-matching-transactions) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; gnc:account-tree-find-duplicates diff --git a/gnucash/import-export/qif-imp/qif-objects.scm b/gnucash/import-export/qif-imp/qif-objects.scm index 1eaf8cd861..bad7baad10 100644 --- a/gnucash/import-export/qif-imp/qif-objects.scm +++ b/gnucash/import-export/qif-imp/qif-objects.scm @@ -23,6 +23,128 @@ ;; Boston, MA 02110-1301, USA gnu@gnu.org ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(define-module (gnucash qif-import qif-objects)) + +(eval-when (compile load eval expand) + (load-extension "libgnc-gnome" "scm_init_sw_gnome_module")) + +(use-modules (srfi srfi-9)) +(use-modules (sw_gnome)) +(use-modules (gnucash core-utils)) +(use-modules (gnucash engine)) +(use-modules (gnucash string)) +(use-modules (gnucash qif-import qif-guess-map)) +(use-modules (gnucash qif-import qif-parse)) + +(export ) +(export make-qif-acct) +(export make-qif-cat) +(export make-qif-class) +(export make-qif-file) +(export make-qif-map-entry) +(export make-qif-split) +(export make-qif-stock-symbol) +(export make-qif-xtn) +(export make-ticker-map) +(export qif-acct:budget) +(export qif-acct:description) +(export qif-acct:limit) +(export qif-acct:name) +(export qif-acct:set-budget!) +(export qif-acct:set-description!) +(export qif-acct:set-limit!) +(export qif-acct:set-name!) +(export qif-acct:set-type!) +(export qif-acct:type) +(export qif-cat:budget-amt) +(export qif-cat:description) +(export qif-cat:expense-cat) +(export qif-cat:name) +(export qif-cat:set-budget-amt!) +(export qif-cat:set-description!) +(export qif-cat:set-expense-cat!) +(export qif-cat:set-income-cat!) +(export qif-cat:set-name!) +(export qif-cat:set-tax-class!) +(export qif-cat:set-taxable!) +(export qif-cat:tax-class) +(export qif-class:set-description!) +(export qif-class:set-name!) +(export qif-file:accounts) +(export qif-file:add-account!) +(export qif-file:add-cat!) +(export qif-file:add-class!) +(export qif-file:add-xtn!) +(export qif-file:cats) +(export qif-file:path) +(export qif-file:path-to-accountname) +(export qif-file:set-path!) +(export qif-file:set-xtns!) +(export qif-file:xtns) +(export qif-map-entry:allowed-parent-types) +(export qif-map-entry:allowed-types) +(export qif-map-entry:clone) +(export qif-map-entry:description) +(export qif-map-entry:display?) +(export qif-map-entry:gnc-name) +(export qif-map-entry:new-acct?) +(export qif-map-entry:qif-name) +(export qif-map-entry:set-allowed-types!) +(export qif-map-entry:set-description!) +(export qif-map-entry:set-display?!) +(export qif-map-entry:set-gnc-name!) +(export qif-map-entry:set-new-acct?!) +(export qif-map-entry:set-qif-name!) +(export qif-split:amount) +(export qif-split:category) +(export qif-split:category-is-account?) +(export qif-split:mark) +(export qif-split:matching-cleared) +(export qif-split:memo) +(export qif-split:miscx-category) +(export qif-split:set-amount!) +(export qif-split:set-category!) +(export qif-split:set-category-is-account?!) +(export qif-split:set-category-private!) +(export qif-split:set-mark!) +(export qif-split:set-matching-cleared!) +(export qif-split:set-memo!) +(export qif-stock-symbol:set-name!) +(export qif-stock-symbol:set-symbol!) +(export qif-stock-symbol:set-type!) +(export qif-ticker-map:add-ticker!) +(export qif-ticker-map:lookup-symbol) +(export qif-ticker-map:lookup-type) +(export qif-xtn:action) +(export qif-xtn:address) +(export qif-xtn:cleared) +(export qif-xtn:commission) +(export qif-xtn:date) +(export qif-xtn:default-split) +(export qif-xtn:from-acct) +(export qif-xtn:mark) +(export qif-xtn:num-shares) +(export qif-xtn:number) +(export qif-xtn:payee) +(export qif-xtn:security-name) +(export qif-xtn:set-action!) +(export qif-xtn:set-address!) +(export qif-xtn:set-cleared!) +(export qif-xtn:set-commission!) +(export qif-xtn:set-date!) +(export qif-xtn:set-default-split!) +(export qif-xtn:set-from-acct!) +(export qif-xtn:set-mark!) +(export qif-xtn:set-num-shares!) +(export qif-xtn:set-number!) +(export qif-xtn:set-payee!) +(export qif-xtn:set-security-name!) +(export qif-xtn:set-share-price!) +(export qif-xtn:set-split-amounts!) +(export qif-xtn:set-splits!) +(export qif-xtn:share-price) +(export qif-xtn:split-amounts) +(export qif-xtn:splits) (define (construct class) (apply (record-constructor class) diff --git a/gnucash/import-export/qif-imp/qif-parse.scm b/gnucash/import-export/qif-imp/qif-parse.scm index 1163c8d82a..0645a6de94 100644 --- a/gnucash/import-export/qif-imp/qif-parse.scm +++ b/gnucash/import-export/qif-imp/qif-parse.scm @@ -23,8 +23,35 @@ ;; Boston, MA 02110-1301, USA gnu@gnu.org ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(define-module (gnucash qif-import qif-parse)) +(eval-when (compile load eval expand) + (load-extension "libgnc-gnome" "scm_init_sw_gnome_module")) + +(use-modules (sw_gnome)) +(use-modules (gnucash core-utils)) +(use-modules (gnucash utilities)) +(use-modules (gnucash engine)) +(use-modules (gnucash qif-import qif-guess-map)) (use-modules (gnucash string)) +(use-modules (srfi srfi-1)) (use-modules (srfi srfi-13)) +(use-modules (ice-9 regex)) + +(export qif-parse:check-date-format) +(export qif-parse:check-number-format) +(export qif-parse:check-number-formats) +(export qif-parse:parse-acct-type) +(export qif-parse:parse-action-field) +(export qif-parse:parse-bang-field) +(export qif-parse:parse-cleared-field) +(export qif-parse:parse-date/format) +(export qif-parse:parse-number/format) +(export qif-parse:parse-numbers/format) +(export qif-parse:print-date) +(export qif-parse:print-number) +(export qif-parse:print-numbers) +(export qif-split:parse-category) +(export qif-parse:fix-year) (define regexp-enabled? (defined? 'make-regexp)) diff --git a/gnucash/import-export/qif-imp/qif-to-gnc.scm b/gnucash/import-export/qif-imp/qif-to-gnc.scm index 82d4745f5c..0527fc3556 100644 --- a/gnucash/import-export/qif-imp/qif-to-gnc.scm +++ b/gnucash/import-export/qif-imp/qif-to-gnc.scm @@ -25,9 +25,26 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(define-module (gnucash qif-import qif-to-gnc)) +(eval-when (compile load eval expand) + (load-extension "libgnc-gnome" "scm_init_sw_gnome_module")) + +(use-modules (sw_gnome)) +(use-modules (gnucash core-utils)) +(use-modules (gnucash engine)) +(use-modules (gnucash utilities)) +(use-modules (gnucash string)) +(use-modules (gnucash app-utils)) +(use-modules (gnucash qif-import qif-dialog-utils)) +(use-modules (gnucash qif-import qif-objects)) +(use-modules (gnucash qif-import qif-utils)) +(use-modules (gnucash qif-import qif-guess-map)) (use-modules (srfi srfi-13)) (use-modules (ice-9 match)) -(use-modules (gnucash string)) + +(export qif-import:qif-to-gnc) +(export qif-import:qif-to-gnc-undo) +(export gnc:account-tree-get-transactions) (define (n- n) (gnc-numeric-neg n)) (define (nsub a b) (gnc-numeric-sub a b 0 GNC-DENOM-LCD)) @@ -1240,3 +1257,4 @@ ;; Destroy the accounts (xaccAccountBeginEdit root) (xaccAccountDestroy root)))) + diff --git a/gnucash/import-export/qif-imp/qif-utils.scm b/gnucash/import-export/qif-imp/qif-utils.scm index 25e1e7a339..e2da3e9ca0 100644 --- a/gnucash/import-export/qif-imp/qif-utils.scm +++ b/gnucash/import-export/qif-imp/qif-utils.scm @@ -23,9 +23,25 @@ ;; Boston, MA 02110-1301, USA gnu@gnu.org ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(define-module (gnucash qif-import qif-utils)) +;; We do this initialization here because src/gnome isn't a real module. +;; Note: Guile 2 needs to find the symbols from the extension at compile time already +(eval-when (compile load eval expand) + (load-extension "libgnc-gnome" "scm_init_sw_gnome_module")) + +(use-modules (gnucash utilities)) +(use-modules (sw_gnome)) (use-modules (srfi srfi-13)) +(export qif-import:canceled) +(export qif-import:check-pause) +(export qif-import:log) +(export qif-import:reset-cancel-pause) +(export qif-import:cancel) +(export qif-import:canceled) +(export qif-import:toggle-pause) + (define qif-import:paused #f) (define qif-import:canceled #f) @@ -53,4 +69,3 @@ (define (qif-import:check-pause progress-dialog) (while (and qif-import:paused (not qif-import:canceled)) (gnc-progress-dialog-update progress-dialog))) - diff --git a/gnucash/import-export/qif-imp/string.scm b/gnucash/import-export/qif-imp/string.scm index 91e416e04f..6ecf7c676f 100644 --- a/gnucash/import-export/qif-imp/string.scm +++ b/gnucash/import-export/qif-imp/string.scm @@ -16,8 +16,8 @@ ;; Boston, MA 02110-1301, USA gnu@gnu.org (define-module (gnucash string)) -(use-modules (srfi srfi-13)) +(use-modules (srfi srfi-13)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; gnc:string-rcontains