old_contents: # -*- coding: utf-8 -*-
  # Copyright (C) Vincent BESANCON <besancon.vincent@gmail.com>
  #
  # Permission is hereby granted, free of charge, to any person obtaining
  # a copy of this software and associated documentation files (the "Software"),
  # to deal in the Software without restriction, including without limitation
  # the rights to use, copy, modify, merge, publish, distribute, sublicense,
  # and/or sell copies of the Software, and to permit persons to whom the
  # Software is furnished to do so, subject to the following conditions:
  #
  # The above copyright notice and this permission notice shall be included
  # in all copies or substantial portions of the Software.
  #
  # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  # OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  # DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
  # OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  
  """
  .. module:: monitoring.nagios.plugin.arguments
  
  This module contains a set of functions to convert or specify argument types.
  """
  
  from datetime import timedelta
  
  
  def days(integer):
      """
      Convert ``integer`` to a timedelta object. ``integer`` is a number of days.
  
      :param integer: the number of days.
      :type integer: str, unicode
      :return: the number of days as a timedelta object.
      :rtype: timedelta
  
      **Example**::
  
       >>> days(5)
       datetime.timedelta(5)
      """
      return timedelta(days=int(integer))
  
  
  def hours(integer):
      """
      Convert ``integer`` to a timedelta object.
  
      Argument ``integer`` is a number of hours.
  
      :param integer: the number of hours.
      :type integer: str, unicode
      :return: the number of hours as a timedelta object.
      :rtype: timedelta
  
      **Example**::
  
       >>> hours(4)
       datetime.timedelta(0, 14400)
      """
      return timedelta(hours=int(integer))
  
  
  def minutes(integer):
      """
      Convert ``integer`` to a timedelta object. ``integer`` is a number of
      minutes.
  
      :param integer: the number of minutes.
      :type integer: str, unicode
      :return: the number of minutes as a timedelta object.
      :rtype: timedelta
  
      **Example**::
  
       >>> minutes(32)
       datetime.timedelta(0, 1920)
      """
      return timedelta(minutes=int(integer))
  
  
  def seconds(integer):
      """
      Convert ``integer`` to a timedelta object. ``integer`` is a number of
      seconds.
  
      :param integer: the number of seconds.
      :type integer: str, unicode
      :return: the number of seconds as a timedelta object.
      :rtype: timedelta
  
      **Example**::
  
       >>> seconds(54)
       datetime.timedelta(0, 54)
      """
      return timedelta(seconds=int(integer))
  
new_contents: # -*- coding: utf-8 -*-
  # Copyright (C) Vincent BESANCON <besancon.vincent@gmail.com>
  #
  # Permission is hereby granted, free of charge, to any person obtaining
  # a copy of this software and associated documentation files (the "Software"),
  # to deal in the Software without restriction, including without limitation
  # the rights to use, copy, modify, merge, publish, distribute, sublicense,
  # and/or sell copies of the Software, and to permit persons to whom the
  # Software is furnished to do so, subject to the following conditions:
  #
  # The above copyright notice and this permission notice shall be included
  # in all copies or substantial portions of the Software.
  #
  # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  # OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  # DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
  # OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  
  """
  .. module:: monitoring.nagios.plugin.arguments
  
  This module contains a set of functions to convert or specify argument types.
  """
  
  from datetime import timedelta
  
  
  def http_basic_auth(auth_string):
      """
      Convert a HTTP Basic Authentication string to a tuple.
  
      :param auth_string: the basic auth string of the form ``login:passwd``.
      :type auth_string: str, unicode
      :returns: Basic auth as a tuple ``(login, passwd)``.
      :rtype: tuple
  
      **Example**::
  
       >>> http_basic_auth("besancon:8jj_767hhgy")
       ('besancon', '8jj_767hhgy')
      """
      return tuple(auth_string.split(":"))
  
  
  def days(integer):
      """
      Convert ``integer`` to a timedelta object. ``integer`` is a number of days.
  
      :param integer: the number of days.
      :type integer: str, unicode
      :return: the number of days as a timedelta object.
      :rtype: timedelta
  
      **Example**::
  
       >>> days(5)
       datetime.timedelta(5)
      """
      return timedelta(days=int(integer))
  
  
  def hours(integer):
      """
      Convert ``integer`` to a timedelta object.
  
      Argument ``integer`` is a number of hours.
  
      :param integer: the number of hours.
      :type integer: str, unicode
      :return: the number of hours as a timedelta object.
      :rtype: timedelta
  
      **Example**::
  
       >>> hours(4)
       datetime.timedelta(0, 14400)
      """
      return timedelta(hours=int(integer))
  
  
  def minutes(integer):
      """
      Convert ``integer`` to a timedelta object. ``integer`` is a number of
      minutes.
  
      :param integer: the number of minutes.
      :type integer: str, unicode
      :return: the number of minutes as a timedelta object.
      :rtype: timedelta
  
      **Example**::
  
       >>> minutes(32)
       datetime.timedelta(0, 1920)
      """
      return timedelta(minutes=int(integer))
  
  
  def seconds(integer):
      """
      Convert ``integer`` to a timedelta object. ``integer`` is a number of
      seconds.
  
      :param integer: the number of seconds.
      :type integer: str, unicode
      :return: the number of seconds as a timedelta object.
      :rtype: timedelta
  
      **Example**::
  
       >>> seconds(54)
       datetime.timedelta(0, 54)
      """
      return timedelta(seconds=int(integer))
  
subject: Add a new argument type: http_basic_auth.