summaryrefslogtreecommitdiff
path: root/contrib/scripts/trend
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2008-08-05 13:17:04 -0400
committerJohn Wiegley <johnw@newartisans.com>2008-08-05 18:05:49 -0400
commitf6f4a46cf5b14f9a2170cd6475958efbf320caec (patch)
tree05bc1defcdebc201de3dd10477483d906a842821 /contrib/scripts/trend
parentb7970b29855563e4c67f85af8b31233eda80c22a (diff)
downloadfork-ledger-f6f4a46cf5b14f9a2170cd6475958efbf320caec.tar.gz
fork-ledger-f6f4a46cf5b14f9a2170cd6475958efbf320caec.tar.bz2
fork-ledger-f6f4a46cf5b14f9a2170cd6475958efbf320caec.zip
Moved around most of the files so that source code is in src/, documentation
is in doc/, etc.
Diffstat (limited to 'contrib/scripts/trend')
-rwxr-xr-xcontrib/scripts/trend30
1 files changed, 30 insertions, 0 deletions
diff --git a/contrib/scripts/trend b/contrib/scripts/trend
new file mode 100755
index 00000000..3c189c0b
--- /dev/null
+++ b/contrib/scripts/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