def updateServerList(self): def _serverDottedHost(ip): return '%d.%d.%d.%d' % (ip >> 24 & 255, ip >> 16 & 255, ip >> 8 & 255, ip >> 0 & 255) def _serverNetName(details): name = _serverDottedHost(details.ip) if details.port: name += ':%d' % details.port return name def _serverNiceName(details): name = details.hostName if not name: name = _serverNetName(details) elif details.port: name += ':%d' % details.port if details.ownerName: name += ' (' + details.ownerName + ')' return name servers = [ (_serverNiceName(server), server.serverString) for server in BigWorld.serverDiscovery.servers ] baseServerList = g_preDefinedHosts.shortList() for friendlyName, hostName in servers: if not g_preDefinedHosts.predefined(hostName): baseServerList.append((hostName, friendlyName, HOST_AVAILABILITY.getDefault(), None)) self._setServerList(baseServerList) return
def updateServerList(self): def _serverDottedHost(ip): return '%d.%d.%d.%d' % (ip >> 24 & 255, ip >> 16 & 255, ip >> 8 & 255, ip >> 0 & 255) def _serverNetName(details): name = _serverDottedHost(details.ip) if details.port: name += ':%d' % details.port return name def _serverNiceName(details): name = details.hostName if not name: name = _serverNetName(details) elif details.port: name += ':%d' % details.port if details.ownerName: name += ' (' + details.ownerName + ')' return name servers = [(_serverNiceName(server), server.serverString) for server in BigWorld.serverDiscovery.servers] baseServerList = g_preDefinedHosts.shortList() for friendlyName, hostName in servers: if not g_preDefinedHosts.predefined(hostName): baseServerList.append( (hostName, friendlyName, g_preDefinedHosts.getDefaultCSISStatus(), None)) self._setServerList(baseServerList) return
def __init__(self): if not self.__clusters: for cluster in g_preDefinedHosts.shortList(): self.__clusters.append({ 'label': cluster[1], 'data': cluster[1] }) AbstractWindowView.__init__(self)
def __serversFind(self, servers=None): list = g_preDefinedHosts.shortList() if servers is not None: for name, key in servers: if not g_preDefinedHosts.predefined(key): list.append((key, name)) self.onSetOptions(list, self.__loginDataLoader.host) return
def __getFullServersList(self): serversList = g_preDefinedHosts.shortList() servers = self.__foundedServers if servers is not None: for name, key in servers: if not g_preDefinedHosts.predefined(key): serversList.append((key, name, HOST_AVAILABILITY.getDefault(), None)) return serversList
def callFromFlash(self, data): class Mobj: def __init__(self): pass BigWorld.wh_current = Mobj() BigWorld.wh_current.mode = 'add' if data.action == 'addAcc': loadWindow('AccountsManagerSubwindow') self.destroy() return elif data.action == 'edit': for account in BigWorld.wh_data.accounts: if str(account['id']) == str(data.id): BigWorld.wh_current.accId = account['id'] BigWorld.wh_current.mode = 'edit' BigWorld.wh_current.title = account['title'] BigWorld.wh_current.email = BigWorld.wg_ucpdata(account['email']) BigWorld.wh_current.password = BigWorld.wg_ucpdata(account['password']) BigWorld.wh_current.cluster = account['cluster'] loadWindow('AccountsManagerSubwindow') self.destroy() return elif data.action == 'delete': _buttons = RemoveConfirmDialogButtons() meta = SimpleDialogMeta(message='Подтвердите удаление аккаунта.', title='Удаление аккаунта.', buttons=_buttons) DialogsInterface.showDialog(meta, lambda result: onClickAction(result)) def onClickAction(result): if result: for q in xrange(len(BigWorld.wh_data.accounts)): if str(BigWorld.wh_data.accounts[q]['id']) == str(data.id): BigWorld.wh_data.accounts.pop(q) BigWorld.wh_data.write_accounts() BigWorld.wh_data.renew_accounts() self.destroy() loadWindow('AccountsManager') return elif data.action == 'submit': for account in BigWorld.wh_data.accounts: if str(account['id']) == str(data.id): params = { 'login' : BigWorld.wg_ucpdata(account['email']), 'auth_method': CONNECTION_METHOD.BASIC, 'session' : '0' } password = BigWorld.wg_ucpdata(account['password']) clusters = g_preDefinedHosts.shortList() account['cluster'] = int(account['cluster']) if len(clusters)-1<account['cluster']: account['cluster'] = 0 serverName = clusters[account['cluster']][0] connectionManager.initiateConnection(params, password, serverName) return
def __getFullServersList(self): serversList = g_preDefinedHosts.shortList() servers = self.__foundedServers if servers is not None: for name, key in servers: if not g_preDefinedHosts.predefined(key): serversList.append( (key, name, HOST_AVAILABILITY.getDefault(), None)) return serversList
def callFromFlash(self, data): class Mobj: def __init__(self): pass BigWorld.wh_current = Mobj() BigWorld.wh_current.mode = 'add' BigWorld.wh_current.submitLabel = 'Добавить' BigWorld.wh_current.cancelLabel = 'Отменить' if data.action == 'addAcc': loadWindow('AccountsManagerSubwindow') return if data.action == 'edit' and BigWorld.isKeyDown(Keys.KEY_LCONTROL): for q in BigWorld.wh_data.accounts: account = q if account['id'] == data.id: BigWorld.wh_current.accId = account['id'] BigWorld.wh_current.mode = 'edit' BigWorld.wh_current.submitLabel = 'Сохранить' BigWorld.wh_current.cancelLabel = 'Удалить' BigWorld.wh_current.title = account['title'] BigWorld.wh_current.email = account['email'] BigWorld.wh_current.password = BigWorld.wg_ucpdata(account['password']) BigWorld.wh_current.cluster = account['cluster'] loadWindow('AccountsManagerSubwindow') return if data.action == 'edit' and BigWorld.isKeyDown(Keys.KEY_LALT): for q in xrange(len(BigWorld.wh_data.accounts)): if BigWorld.wh_data.accounts[q]['id'] == data.id: BigWorld.wh_data.accounts.pop(q) BigWorld.wh_data.write_accounts() BigWorld.wh_data.renew_accounts() self.destroy() loadWindow('AccountsManager') return if data.action == 'login' or data.action == 'edit': for q in BigWorld.wh_data.accounts: account = q if account['id'] == data.id: params = { 'login' : account['email'], 'auth_method': CONNECTION_METHOD.BASIC, 'session' : '0' } password = BigWorld.wg_ucpdata(account['password']) serverName = g_preDefinedHosts.shortList()[int(account['cluster']) + 1][0] connectionManager.initiateConnection(params, password, serverName) return
def _populate(self): AbstractWindowView._populate(self) zdata = [] clusters = g_preDefinedHosts.shortList() for account in BigWorld.wh_data.accounts: account['cluster'] = int(account['cluster']) if len(clusters) - 1 < account['cluster']: account['cluster'] = 0 cluster_name = clusters[account['cluster']][1].split().pop() zdata.append({ 'id': account['id'], 'user': account['title'], 'cluster': cluster_name }) self.callToFlash(zdata)
def _populate(self): super(LoginDispatcher, self)._populate() self.__loginDataLoader = LoginDataLoader() self.__loginDataLoader.onConfigLoaded += self.onConfigLoaded self.__loginDataLoader.loadUserConfig() connectionManager.connectionStatusCallbacks += self.__handleConnectionStatus connectionManager.searchServersCallbacks += self.__serversFind connectionManager.onConnected += self.__onConnected connectionManager.onDisconnected -= LoginDispatcher.__onDisconnected connectionManager.startSearchServers() g_preDefinedHosts.readScriptConfig(Settings.g_instance.scriptConfig) g_playerEvents.onLoginQueueNumberReceived += self.handleQueue g_playerEvents.onAccountBecomePlayer += self.__pe_onAccountBecomePlayer g_playerEvents.onKickWhileLoginReceived += self.handleKickWhileLogin self.onSetOptions(g_preDefinedHosts.shortList(), self.__loginDataLoader.host)
def _populate(self): AbstractWindowView._populate(self) zdata = [] clusters = g_preDefinedHosts.shortList() for account in BigWorld.wh_data.accounts: account['cluster'] = int(account['cluster']) if len(clusters)-1<account['cluster']: account['cluster'] = 0 cluster_name = clusters[account['cluster']][1].split().pop() zdata.append({ 'id' : account['id'], 'user' : account['title'], 'cluster' : cluster_name }) self.callToFlash(zdata)
def updateServerList(self): self._setServerList(g_preDefinedHosts.shortList())
def __init__(self): for cluster in g_preDefinedHosts.shortList(): self.__clusters.append({'label':cluster[1],'data':cluster[1]}) AbstractWindowView.__init__(self)