#!/usr/bin/python

"""

	RemindMe client - accepts the following arguments:

	date (dd/mm/yyyy HH:nn)
	subject 
	"message"

"""

import os
import sys
import time
import datetime

# Make sure we have enough args
if len(sys.argv) < 3:
	print "Usage: remindme \"dd/mm/yyyy HH:nn\" \"<subject>\" \"<message>\""
	sys.exit(1)

# Verify that ~/.remindme exists and create it if not
if not os.path.exists(os.environ["HOME"] + "/.remindme"):
	os.makedirs(os.environ["HOME"] + "/.remindme")

def toUnixDate(d):
    """
        Converts a Python date to a UNIX date
    """
    return time.mktime(d.timetuple())

def toPythonDate(d):
    """
        Converts a UNIX date to a Python date
    """
    return datetime.date.fromtimestamp(float(d))

def displayToPythonDate(d):
    """
        Converts a display date to a Python date
    """
    format = "%d/%m/%Y %H:%M"
    tt = time.strptime(d, format)
    return datetime.datetime(tt[0], tt[1], tt[2], tt[3], tt[4])

def pythonToDisplayDate(d):
    """
        Converts a Python date to a display date
    """
    format = "%d/%m/%Y %H:%M"
    return d.strftime(format)

# Parse the date and time
d = displayToPythonDate(sys.argv[1])
subject=sys.argv[2]
message=sys.argv[3]

# Add the job to the list
f = open(os.environ["HOME"] + "/.remindme/jobs", "a")
f.write(sys.argv[1] + "|" + subject + "|" + message + "\n")
f.close()


