#!/usr/bin/env python

import sys
import time
from optparse import OptionParser
from ceres import CeresTree, getTree


parser = OptionParser(usage='''%prog [options] <path>
  If --tree is specified, <path> is taken as a node path
  Otherwise <path> is taken as a filesystem path
''')
parser.add_option('--fromtime', default=int(time.time() - 900), type='int')
parser.add_option('--untiltime', default=int(time.time()), type='int')
parser.add_option('--tree', default=None)
parser.add_option('--batch', action='store_true', help="Use numeric timestamps")

options, args = parser.parse_args()

if not args:
  parser.print_usage()
  sys.exit(1)


if options.tree:
  nodePath = args[0]
  tree = CeresTree(options.tree)

else:
  fsPath = args[0]
  tree = getTree(fsPath)

  if not tree:
    print "error: %s is not in a ceres tree" % fsPath
    sys.exit(1)

  nodePath = tree.getNodePath(fsPath)

results = tree.fetch(nodePath, options.fromtime, options.untiltime)

for (timestamp, value) in results:
  if options.batch:
    print "%d\t%s" % (timestamp, value)
  else:
    print "%s\t%s" % (time.ctime(timestamp), value)
