def __init__(self, base_url, script_name, api_key, convert_datetimes_to_utc=True, http_proxy=None, ensure_ascii=True, connect=True, host=None, port=None): ''' We will initialize the Shotgun object, but will not connect right away. Instead it will will attempt to create a socket connection using the Shotgun object and the host and port data provided or generated. If we do not have a host and port specified, or do not find a connection, we will fall back and connect to the actual Shotgun server instead. ''' Shotgun.__init__(self, base_url, script_name, api_key, convert_datetimes_to_utc=convert_datetimes_to_utc, http_proxy=http_proxy, ensure_ascii=ensure_ascii, connect=False) # If a host is not specified, attempt using the local machine. if not host: host = socket.gethostname() # If a port is not specified, generate a port from the app key. if not port: port = common.appKeyToPort(self.config.api_key) self._sgclient = None self._host = host self._port = port if connect: self.connect()