def main():
    metric_id = metric_ids[0]
    metric = numerousapp.get_metric(metric_id=metric_id)
    print "Metric: " + metric['label']
    if args.verbose:
        print "Old Value: " + str(metric['value'])
    if args.debug:
        print "Raw JSON: %s" % metric

    numerousapp.update_metric_value(metric_id, args.number)

    if args.verbose:
        metric = numerousapp.get_metric(metric_id=metric_id)
        print "New Value: " + str(metric['value'])
def main():

  today = datetime.date.today()

  # Use 52 weeks ago (364 days) so days of the week match
  #
  one_year_ago = today - datetime.timedelta(days=364)

  one_year_ago_minus_margin = one_year_ago - datetime.timedelta(days = MARGIN_PREVIOUS_WEIGHT)
  today_minus_margin = today - datetime.timedelta(days = MARGIN_PREVIOUS_WEIGHT)

  weights = get_withings_weight(fromdate = one_year_ago_minus_margin, todate = one_year_ago)
  today_weights = get_withings_weight(fromdate = today_minus_margin, todate = today)

  update_metric_value(METRIC_ID, weights[0])
  update_metric_value(DIFF_METRIC_ID, weights[0] - today_weights[0])
def main():

    today = datetime.datetime.now().replace(
        hour=12, minute=0, second=0, microsecond=0)
    twelve_hours_ago = today - datetime.timedelta(hours=12)
    twelve_hours_from_now = today + datetime.timedelta(hours=12)

    print "twelve_hours_ago: " + str(twelve_hours_ago)
    print "twelve_hours_from_now: " + str(twelve_hours_from_now)

    client = MongoClient('localhost', 27017)
    db = client[DB]

    schedule_collection = db[TRAINING_SCHEDULES_COLLECTION]
    schedule_workout = schedule_collection.find_one(
        {"date": {"$gte": twelve_hours_ago, "$lt": twelve_hours_from_now}})
    if schedule_workout:
        running_goal_distance = schedule_workout['distance']
    else:
        print "No workout found"
        print "Using 0 distance"
        running_goal_distance = 0
    print "schedule_workout: %s" % schedule_workout
    print "Setting running goal to: %s" % running_goal_distance
    walking_goal_distance = get_metric_value(WALKING_METRIC_ID).get('value')
    print "walking_goal_distance: %s" % walking_goal_distance

    daily_calorie_goal = get_daily_calorie_goal()
    running_calorie_multiplier = get_running_calorie_multiplier()
    walking_calorie_multiplier = get_walking_calorie_multiplier()
    cycling_calorie_multiplier = get_cycling_calorie_multiplier()
    running_calorie_goal = running_goal_distance * running_calorie_multiplier
    walking_calorie_goal = walking_goal_distance * walking_calorie_multiplier
    covered_calorie_goal = running_calorie_goal + walking_calorie_goal
    cycling_calorie_goal = daily_calorie_goal - covered_calorie_goal
    cycling_goal_distance = cycling_calorie_goal / cycling_calorie_multiplier

    print "Setting cycling goal to: %s" % cycling_goal_distance

    update_metric_value(RUNNING_METRIC_ID, running_goal_distance)
    update_metric_value(CYCLING_METRIC_ID, cycling_goal_distance)
#!/usr/bin/python
#
#
# Post my total number of tasks from Todoist to Numerous, including overdue
# tasks and anything due today.
#
# See also:
# http://www.todoist.com/
# http://www.numerousapp.com/
#

from pytodoist import todoist
import todoist_auth
import numerousapp

METRIC_ID = 342440214103810868

user = todoist.login(email=todoist_auth.email, password=todoist_auth.password)

tasks = user.search_tasks("overdue, today")

numerousapp.update_metric_value(METRIC_ID, len(tasks))