Parse a limit element
        :param element: The XML Element object
        :type  element: etree._Element

def _parse_limit(self, element):
        """
        Parse a limit element
        :param element: The XML Element object
        :type  element: etree._Element
        """
        # Is this a Global or User limit?
        limit_type = attribute(element, 'type', 'user')

        # Time unit conversions
        unit_conversions = {
            'seconds': 1,
            'minutes': 60,
            'hours':   3600,
            'days':    86400,
            'weeks':   604800,
            'months':  2592000,
            'years':   31536000
        }
        units = attribute(element, 'unit', 'seconds')
        if units not in unit_conversions:
            self._log.warn('Unrecognized time unit: {unit}'.format(unit=units))
            return

        try:
            limit = float(element.text)
        except (ValueError, TypeError):
            self._log.warn('Limit must contain a valid integer or float (Invalid limit: "{limit}")'
                           .format(limit=element.text))
            return

        if limit_type == 'global':
            self.global_limit = limit * unit_conversions[units]
            self.glimit_blocking = bool_attribute(element, 'blocking', self.glimit_blocking)
        elif limit_type == 'user':
            self.user_limit = limit * unit_conversions[units]
            self.ulimit_blocking = bool_attribute(element, 'blocking', self.ulimit_blocking)

        return