Find a file
2013-01-08 22:05:26 -05:00
.hgignore first commit, packaged on pypi, easy_install ago! 2012-06-29 19:25:55 -04:00
ago.py * Added a bunch of tests 2013-01-08 21:25:45 -05:00
README.rst More Documentation in README 2013-01-08 22:05:26 -05:00
setup.py David Beitey suggested adjusting README to README.rst 2013-01-07 21:16:00 -05:00
test_ago.py * Added a bunch of tests 2013-01-08 21:25:45 -05:00

How to install
===================

There are a number of ways to install this package::

 easy_install ago

 pip install ago

or specify *ago* under the *setup_requires* list within your
*setuptools*-compatible project's *setup.py* file.

How to use
==================

The ago module comes with three functions: 

#. human
#. delta2human
#. delta2dict

You really only need to worry about *human*.

Here are all the available arguments and defaults::

 human(d, precision=2, format_past='{0} ago', format_future='in {0}'):

d
 datetime object to make into human readable, required

precision
 control how verbose the output should look, optional

format_past
 format string used when d is a past datetime, optional

format_future
 format string used when d is a future datetime, optional


Here is an example on how to use *human*::

 from ago import human, delta2human, delta2dict
 
 from datetime import datetime
 from datetime import timedelta

 # pretend this was stored in database
 db_date = datetime( 
   year = 2010, 
   month=5, 
   day=4, 
   hour=6, 
   minute=54, 
   second=33, 
   microsecond=4000
  )

 # to find out how long ago, use the human function
 print 'Created ' + human( db_date )
 
 # optionally pass a precision
 print 'Created ' + human( db_date, 3 )
 print 'Created ' + human( db_date, 6 )

We also support future dates and times::

 PRESENT = datetime.now()
 PAST = present - timedelta( 492, 58711, 45 ) # days, secs, ms
 FUTURE = present + timedelta( 2, 12447, 963 ) # days, secs, ms

 print human( FUTURE )

Now we will document how to use delta2human and delta2dict::

 # subtract two datetime objects for a timedelta object
 delta = PRESENT - db_date

 # display a human readable timedelta from a timedelta 
 print 'Created ' + delta2human( delta )

 # create a dictionary out of the timedelta
 print delta2dict( delta )

Example format_past and format_future keyword arguments::

 output1 = human( PAST,
   format_past = 'titanic sunk {0} ago',
   format_future = 'titanic will sink in {0} from now'
 )

 output2 = human( FUTURE,
   format_past = 'titanic sunk {0} ago',
   format_future = 'titanic will sink in {0} from now'
 )

 print output1
 # titanic sunk 1 year, 127 days ago
 print output2
 # titanic will sink in 2 days, 3 hours from now


Need more examples?
==========================

You should look at test_ago.py


How do I thank you?
==========================

You should follow me on twitter http://twitter.com/russellbal


License
=========================

Public Domain


Public Revision Control
==============================

https://bitbucket.org/russellballestrini/ago