mirror of
https://github.com/Gnucash/gnucash.git
synced 2026-10-25 23:50:06 -05:00
[modularise] (gnucash qif-import)
This commit is contained in:
1 parent
5bd65a6b22
commit
33dd16915b
10 files changed
+294
-66
No files matched your search
@@ -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))
|
||||
|
||||
@@ -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 "^\\.\\.\\."))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
@@ -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
|
||||
|
||||
@@ -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 <qif-map-entry>)
|
||||
(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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user