summaryrefslogtreecommitdiff
path: root/contrib/trend
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2009-02-23 14:04:50 -0400
committerJohn Wiegley <johnw@newartisans.com>2009-02-23 14:04:50 -0400
commit08559bff349b8266331389c9a0c579798ce94b4c (patch)
tree829d8c4f0c12855814d1d4891889fbfc655de8ed /contrib/trend
parenta61901a0923a1b4413fcc44a8ff259d309c064b0 (diff)
downloadfork-ledger-08559bff349b8266331389c9a0c579798ce94b4c.tar.gz
fork-ledger-08559bff349b8266331389c9a0c579798ce94b4c.tar.bz2
fork-ledger-08559bff349b8266331389c9a0c579798ce94b4c.zip
Moved scripts from contrib/scripts/ into contrib/
Diffstat (limited to 'contrib/trend')
-rwxr-xr-xcontrib/trend30
1 files changed, 30 insertions, 0 deletions
diff --git a/contrib/trend b/contrib/trend
new file mode 100755
index 00000000..3c189c0b
--- /dev/null
+++ b/contrib/trend
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+# This script requires Python support.
+#
+# To use, just run "trend" with the accounts to compute the trend for:
+#
+# trend dining
+#
+# The trend values are not terribly meaningful, but this gives an
+# example of how Python can be used to create more complex reports.
+
+ledger --import-stdin -T "@rdev()" reg "$@" <<EOF
+import ledger
+
+mean = ledger.parse_value_expr ("AT")
+last_mean = None
+last_dev = None
+
+def rdev (details):
+ global last_mean, last_dev
+ mval = mean.compute (details)
+ if last_mean is None:
+ dev = ledger.Value ()
+ else:
+ dev = mval - last_mean
+ dev = (last_dev + dev) / 2
+ last_mean = mval
+ last_dev = dev
+ return dev
+EOF