# Path: dyndnsc/updater/base.py
# class UpdateProtocol(Subject, DynamicCliMixin):
#     """Base class for all update protocols that use a simple http GET protocol."""
# 
#     theip = None
#     __hostname = None  # private place to store the property 'hostname'
#     configuration_key = None
# 
#     @property
#     def hostname(self):
#         """
#         Return the hostname managed by this updater.
# 
#         May be implemented or overwritten in updater subclasses.
#         """
#         return self.__hostname
# 
#     @hostname.setter
#     def hostname(self, value):
#         """
#         Set the hostname managed by this updater.
# 
#         May be implemented or overwritten in updater subclasses.
#         """
#         self.__hostname = value
# 
#     @staticmethod
#     def configuration_key_prefix():
#         """
#         Return a human readable string classifying this class as an updater.
# 
#         Should not be be implemented or overwritten in updater subclasses.
#         """
#         return "updater"
# 
#     def update(self, ip):
#         """
#         Update the hostname on the remote service.
# 
#         Abstract method, must be implemented in subclass.
#         """
#         raise NotImplementedError("Please implement in subclass")


import logging
from dnsimple_dyndns import DNSimple  # @UnresolvedImport pylint: disable=import-error
from .base import UpdateProtocol
# -*- coding: utf-8 -*-
"""
Updater for https://dnsimple.com/ compatible dyndns services.

This module depends on the python package dnsimple-dyndns from
https://pypi.python.org/pypi/dnsimple-dyndns
If installed, dyndnsc will be able to utilize it.

Since dnsimple.com is a paid service, I have not had a chance to test this yet.
"""




LOG = logging.getLogger(__name__)



# Path: dyndnsc/updater/base.py
# class UpdateProtocol(Subject, DynamicCliMixin):
#     """Base class for all update protocols that use a simple http GET protocol."""
# 
#     theip = None
#     __hostname = None  # private place to store the property 'hostname'
#     configuration_key = None
# 
#     @property
#     def hostname(self):
#         """
#         Return the hostname managed by this updater.
# 
#         May be implemented or overwritten in updater subclasses.
#         """
#         return self.__hostname
# 
#     @hostname.setter
#     def hostname(self, value):
#         """
#         Set the hostname managed by this updater.
# 
#         May be implemented or overwritten in updater subclasses.
#         """
#         self.__hostname = value
# 
#     @staticmethod
#     def configuration_key_prefix():
#         """
#         Return a human readable string classifying this class as an updater.
# 
#         Should not be be implemented or overwritten in updater subclasses.
#         """
#         return "updater"
# 
#     def update(self, ip):
#         """
#         Update the hostname on the remote service.
# 
#         Abstract method, must be implemented in subclass.
#         """
#         raise NotImplementedError("Please implement in subclass")


# Path: dyndnsc/updater/dnsimple.py
import logging
from dnsimple_dyndns import DNSimple  # @UnresolvedImport pylint: disable=import-error
from .base import UpdateProtocol

# -*- coding: utf-8 -*-
"""
Updater for https://dnsimple.com/ compatible dyndns services.

This module depends on the python package dnsimple-dyndns from
https://pypi.python.org/pypi/dnsimple-dyndns
If installed, dyndnsc will be able to utilize it.

Since dnsimple.com is a paid service, I have not had a chance to test this yet.
"""




LOG = logging.getLogger(__name__)



class UpdateProtocolDnsimple(UpdateProtocol):