Source code for munin.provider.date

#!/usr/bin/env python
# encoding: utf-8

"""
Overview
--------

Try to parse a date string into a year.

This makes use of the ``magicdate`` module:

    https://pypi.python.org/pypi/magicdate/0.1.3

Example Usage
-------------

.. code-block:: python

    >>> from munin.provider.date import DateProvider
    >>> prov = DateProvider()
    >>> prov.do_process('2012')
    2012
    >>> prov.do_process('2011-12-12')
    2011

Reference
---------

.. autoclass:: munin.provider.date.DateProvider
    :members:
"""

# Internal
from munin.provider import Provider

# External
import magicdate


[docs]class DateProvider(Provider): """Try to parse an arbitary date string into a year.""" def do_process(self, input_value): if isinstance(input_value, tuple): input_value = input_value[0] try: return (int(input_value), ) except ValueError: try: datetime = magicdate.magicdate(input_value) return (datetime.year, ) except: return None
if __name__ == '__main__': import unittest class DateProviderTest(unittest.TestCase): def test_date(self): prov = DateProvider() self.assertEqual(prov.do_process('2012'), (2012, )) self.assertEqual(prov.do_process('2012-12-12'), (2012, )) self.assertEqual(prov.do_process('2012-20-20'), None) unittest.main()

Related Topics

Useful links:

Package:

Github: