mirror of
				https://github.com/home-assistant/supervisor.git
				synced 2025-11-04 00:19:36 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			1020 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1020 B
		
	
	
	
		
			Python
		
	
	
	
	
	
"""D-Bus interface for hostname."""
 | 
						|
import logging
 | 
						|
 | 
						|
from .interface import DBusInterface
 | 
						|
from .utils import dbus_connected
 | 
						|
from ..exceptions import DBusError
 | 
						|
from ..utils.gdbus import DBus
 | 
						|
 | 
						|
_LOGGER = logging.getLogger(__name__)
 | 
						|
 | 
						|
DBUS_NAME = 'org.freedesktop.hostname1'
 | 
						|
DBUS_OBJECT = '/org/freedesktop/hostname1'
 | 
						|
 | 
						|
 | 
						|
class Hostname(DBusInterface):
 | 
						|
    """Handle D-Bus interface for hostname/system."""
 | 
						|
 | 
						|
    async def connect(self):
 | 
						|
        """Connect to system's D-Bus."""
 | 
						|
        try:
 | 
						|
            self.dbus = await DBus.connect(DBUS_NAME, DBUS_OBJECT)
 | 
						|
        except DBusError:
 | 
						|
            _LOGGER.warning("Can't connect to hostname")
 | 
						|
 | 
						|
    @dbus_connected
 | 
						|
    def set_static_hostname(self, hostname):
 | 
						|
        """Change local hostname.
 | 
						|
 | 
						|
        Return a coroutine.
 | 
						|
        """
 | 
						|
        return self.dbus.SetStaticHostname(hostname, False)
 | 
						|
 | 
						|
    @dbus_connected
 | 
						|
    def get_properties(self):
 | 
						|
        """Return local host informations.
 | 
						|
 | 
						|
        Return a coroutine.
 | 
						|
        """
 | 
						|
        return self.dbus.get_properties(DBUS_NAME)
 |