Эх сурвалжийг харах

fix params format, return nil on no balance

Innocenty Enikeew 8 жил өмнө
parent
commit
c9ca635d9a
2 өөрчлөгдсөн 7 нэмэгдсэн , 5 устгасан
  1. 3 3
      parsing.lisp
  2. 4 2
      pta-ledger.lisp

+ 3 - 3
parsing.lisp

@@ -400,9 +400,9 @@
                       (or (not end) (< value end))))))))
 
 (defun .query-term ()
-  (.or (.progn (.string= "--cost") (.identity (cons :cost t)))
-       (.progn (.string= "--tree") (.identity (cons :tree t)))
-       (.progn (.string= "--real") (.identity (cons :real t)))
+  (.or (.progn (.string= "^cost") (.identity (cons :cost t)))
+       (.progn (.string= "^tree") (.identity (cons :tree t)))
+       (.progn (.string= "^real") (.identity (cons :real t)))
        (.query-coloned :acct (.query-postingp "acct" #'posting-account)
                        (.query-value-regex))
        (.query-coloned :amt (.progn (.string= "amt")

+ 4 - 2
pta-ledger.lisp

@@ -136,8 +136,10 @@
                           amount-text))))))
 
 (defun journal-balance (journal &optional query)
-  (format-balance (apply #'balance (entries journal)
-                         (when query (parse-query query)))))
+  (let ((balance (apply #'balance (entries journal)
+                        (when query (parse-query query)))))
+    (unless (zerop (hash-table-size balance))
+      (format-balance balance))))
 
 (defun accounts (entries &key predicate real &allow-other-keys)
   (let ((accounts (make-hash-table :test #'equal)))