code: def bootstrap_from_webapi(self, cellid=0):
          
          self._LOG.debug("Attempting bootstrap via WebAPI")
  
          from steam import webapi
          try:
              resp = webapi.get('ISteamDirectory', 'GetCMList', 1, params={'cellid': cellid})
          except Exception as exp:
              self._LOG.error("WebAPI boostrap failed: %s" % str(exp))
              return False
  
          result = EResult(resp['response']['result'])
  
          if result != EResult.OK:
              self._LOG.error("GetCMList failed with %s" % repr(result))
              return False
  
          serverlist = resp['response']['serverlist']
          self._LOG.debug("Recieved %d servers from WebAPI" % len(serverlist))
  
          def str_to_tuple(serveraddr):
              ip, port = serveraddr.split(':')
              return str(ip), int(port)
  
          self.clear()
          self.merge_list(map(str_to_tuple, serverlist))
  
          return True
docs: Fetches CM server list from WebAPI and replaces the current one
  
          :param cellid: cell id (0 = global)
          :type cellid: :class:`int`
          :return: booststrap success
          :rtype: :class:`bool`