Source code for

# -*- coding: UTF-8 -*-

     Copyright (C) 2017 Vladimir Roncevic <>
     ats_utilities is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
     (at your option) any later version.
     ats_utilities is distributed in the hope that it will be useful, but
     WITHOUT ANY WARRANTY; without even the implied warranty of
     See the GNU General Public License for more details.
     You should have received a copy of the GNU General Public License along
     with this program. If not, see <>.
     Defined class ATSLicence with attribute(s) and method(s).
     Created API for ATS licence in one property object.

import sys

    from six import add_metaclass
    from ats_utilities import VerboseRoot
    from ats_utilities.checker import ATSChecker
    from ats_utilities.console_io.verbose import verbose_message
    from ats_utilities.exceptions.ats_type_error import ATSTypeError
    from ats_utilities.exceptions.ats_bad_call_error import ATSBadCallError
except ImportError as ats_error_message:
    MESSAGE = '\n{0}\n{1}\n'.format(__file__, ats_error_message)
    sys.exit(MESSAGE)  # Force close python ATS ##############################

__author__ = 'Vladimir Roncevic'
__copyright__ = 'Copyright 2017,'
__credits__ = ['Vladimir Roncevic']
__license__ = ''
__version__ = '2.5.5'
__maintainer__ = 'Vladimir Roncevic'
__email__ = ''
__status__ = 'Updated'

[docs]@add_metaclass(VerboseRoot) class ATSLicence: ''' Defined class ATSLicence with attribute(s) and method(s). Created API for ATS licence in one property object. It defines: :attributes: | __verbose - enable/disable verbose option. | __licence - ATS licence. :methods: | __init__ - initial constructor. | name - property methods for set/get operations. | is_not_none - checking is ATS licence None. | __str__ - str dunder method for ATSLicence. ''' def __init__(self, verbose=False): ''' Initial constructor. :param verbose: enable/disable verbose option. :type verbose: <bool> :exceptions: None ''' self.__verbose = verbose self.__licence = None @property def licence(self): ''' Property method for getting ATS licence. :return: ATS licence | None. :rtype: <str> | <NoneType> :exceptions: None ''' return self.__licence @licence.setter def licence(self, licence): ''' Property method for setting ATS licence. :param licence: ATS licence. :type licence: <str> :exceptions: ATSTypeError | ATSBadCallError ''' checker, error, status = ATSChecker(), None, False error, status = checker.check_params([('str:licence', licence)]) if status == ATSChecker.TYPE_ERROR: raise ATSTypeError(error) if status == ATSChecker.VALUE_ERROR: raise ATSBadCallError(error) self.__licence = licence verbose_message(ATSLicence.VERBOSE, self.__verbose, licence)
[docs] def is_not_none(self): ''' Checking is ATS licence None. :return: boolean status, True | False. :rtype: <bool> :exceptions: None ''' return bool(self.__licence)
def __str__(self): ''' Dunder str method for ATSLicence. :return: object in a human-readable format. :rtype: <str> :exceptions: None ''' return '{0} ({1}, {2})'.format( self.__class__.__name__, str(self.__verbose), self.__licence )