mirror of
				https://github.com/github/octodns.git
				synced 2024-05-11 05:55:00 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			93 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#
 | 
						|
#
 | 
						|
#
 | 
						|
 | 
						|
from __future__ import absolute_import, division, print_function, \
 | 
						|
    unicode_literals
 | 
						|
 | 
						|
from shutil import rmtree
 | 
						|
from tempfile import mkdtemp
 | 
						|
 | 
						|
 | 
						|
class SimpleSource(object):
 | 
						|
 | 
						|
    def __init__(self, id='test'):
 | 
						|
        pass
 | 
						|
 | 
						|
 | 
						|
class SimpleProvider(object):
 | 
						|
    SUPPORTS_GEO = False
 | 
						|
    SUPPORTS_DYNAMIC = False
 | 
						|
    SUPPORTS = set(('A',))
 | 
						|
    id = 'test'
 | 
						|
 | 
						|
    def __init__(self, id='test'):
 | 
						|
        pass
 | 
						|
 | 
						|
    def populate(self, zone, source=False, lenient=False):
 | 
						|
        pass
 | 
						|
 | 
						|
    def supports(self, record):
 | 
						|
        return True
 | 
						|
 | 
						|
    def __repr__(self):
 | 
						|
        return self.__class__.__name__
 | 
						|
 | 
						|
 | 
						|
class GeoProvider(object):
 | 
						|
    SUPPORTS_GEO = True
 | 
						|
    SUPPORTS_DYNAMIC = False
 | 
						|
    id = 'test'
 | 
						|
 | 
						|
    def __init__(self, id='test'):
 | 
						|
        pass
 | 
						|
 | 
						|
    def populate(self, zone, source=False, lenient=False):
 | 
						|
        pass
 | 
						|
 | 
						|
    def supports(self, record):
 | 
						|
        return True
 | 
						|
 | 
						|
    def __repr__(self):
 | 
						|
        return self.__class__.__name__
 | 
						|
 | 
						|
 | 
						|
class DynamicProvider(object):
 | 
						|
    SUPPORTS_GEO = False
 | 
						|
    SUPPORTS_DYNAMIC = True
 | 
						|
    id = 'test'
 | 
						|
 | 
						|
    def __init__(self, id='test'):
 | 
						|
        pass
 | 
						|
 | 
						|
    def populate(self, zone, source=False, lenient=False):
 | 
						|
        pass
 | 
						|
 | 
						|
    def supports(self, record):
 | 
						|
        return True
 | 
						|
 | 
						|
    def __repr__(self):
 | 
						|
        return self.__class__.__name__
 | 
						|
 | 
						|
 | 
						|
class NoSshFpProvider(SimpleProvider):
 | 
						|
 | 
						|
    def supports(self, record):
 | 
						|
        return record._type != 'SSHFP'
 | 
						|
 | 
						|
 | 
						|
class TemporaryDirectory(object):
 | 
						|
 | 
						|
    def __init__(self, delete_on_exit=True):
 | 
						|
        self.delete_on_exit = delete_on_exit
 | 
						|
 | 
						|
    def __enter__(self):
 | 
						|
        self.dirname = mkdtemp()
 | 
						|
        return self
 | 
						|
 | 
						|
    def __exit__(self, *args, **kwargs):
 | 
						|
        if self.delete_on_exit:
 | 
						|
            rmtree(self.dirname)
 | 
						|
        else:
 | 
						|
            raise Exception(self.dirname)
 |