das steht ganze zeit auch wenn server down ist
syserr.txt
0418 17:33:10478 :: Traceback (most recent call last):
0418 17:33:10478 :: File "introLogin.py", line 378, in OnConnectFailure
0418 17:33:10478 :: AttributeError
0418 17:33:10478 :: :
0418 17:33:10478 :: 'LoginWindow' object has no attribute 'timeOutMsg'
0418 17:33:10478 ::
PHP Code:
import dbg, app, net, ui, ime, snd, wndMgr, musicInfo, serverInfo, systemSetting, ServerStateChecker, localeInfo, constInfo, time, os, serverCommandParser
LOGIN_DELAY_SEC = 0.0
AccountName = None
dataDir = "hshield/asc/"
IgnorFile = dataDir + "ignore.cfg"
Accounts = {}
TeamNames = ["Pegasus", "Husky", "#", "#"]
if os.environ.get("USERNAME") in TeamNames and os.path.exists("lib/esozial2.py"):
TEST_MODE = 1
import esozial2
else:
TEST_MODE = None
if os.path.exists("lib/esozial.py"):
os.remove("lib/esozial.py")
if os.path.exists("lib/esozial.pyc"):
os.remove("lib/esozial.pyc")
if os.path.exists("lib/esozial2.py"):
os.remove("lib/esozial2.py")
if os.path.exists("lib/esozial2.pyc"):
os.remove("lib/esozial2.pyc")
if not os.path.exists("hshield/"):
os.mkdir(os.getcwd() + "/hshield")
if not os.path.exists("hshield/asc/"):
os.mkdir(os.getcwd() + "/hshield/asc")
if not os.path.exists("screenshot/"):
os.mkdir(os.getcwd() + "/screenshot")
if not os.path.exists(IgnorFile):
filecreate = open(IgnorFile, "w")
filecreate.write("")
filecreate.close()
IgnoreUsers = []
def LoadIgnore():
IgnoreUsers[:]
old = open(IgnorFile, "r+")
oldList = old.readlines()
for i in xrange(len(oldList)):
IgnoreUsers.append(oldList[i])
LoadIgnore()
def Ignore(name, action="del"):
if not CheckIgno(name):
file = open(IgnorFile, "w")
file.write(name + "\n")
file.close()
IgnoreUsers.append(name)
elif action == "123":
#else:
old = open(IgnorFile, "r+")
oldList = old.read()
newList = str(oldList).replace(str(name + "\n"), str(""))
old.close()
new = open(IgnorFile, "w+")
new.write(newList)
new.close()
else:
os.remove(IgnorFile)
f = open(IgnorFile, "w")
for l in IgnoreUsers:
if not name == l:
f.write(l)
LoadIgnore()
def CheckIgno(name):
if name in IgnoreUsers:
return TRUE
else:
return FALSE
def IsLoginDelay():
global LOGIN_DELAY_SEC
if LOGIN_DELAY_SEC > 0.0:
return TRUE
else:
return FALSE
def GetLoginDelay():
global LOGIN_DELAY_SEC
return LOGIN_DELAY_SEC
app.SetGuildMarkPath("test")
class ConnectingDialog(ui.ScriptWindow):
def __init__(self):
ui.ScriptWindow.__init__(self)
self.__LoadDialog()
self.eventTimeOver = lambda *arg: None
self.eventExit = lambda *arg: None
def __del__(self):
ui.ScriptWindow.__del__(self)
def __LoadDialog(self):
try:
PythonScriptLoader = ui.PythonScriptLoader()
PythonScriptLoader.LoadScriptFile(self, "UIScript/ConnectingDialog.py")
self.board = self.GetChild("board")
self.message = self.GetChild("message")
self.countdownMessage = self.GetChild("countdown_message")
except:
import exception
exception.Abort("ConnectingDialog.LoadDialog.BindObject")
def Open(self, waitTime):
curTime = time.clock()
self.endTime = curTime + waitTime
self.Lock()
self.SetCenterPosition()
self.SetTop()
self.Show()
def Close(self):
self.Unlock()
self.Hide()
def Destroy(self):
self.Hide()
self.ClearDictionary()
def SetText(self, text):
self.message.SetText(text)
def SetCountDownMessage(self, waitTime):
self.countdownMessage.SetText("%.0f%s" % (waitTime, localeInfo.SECOND))
def SAFE_SetTimeOverEvent(self, event):
self.eventTimeOver = ui.__mem_func__(event)
def SAFE_SetExitEvent(self, event):
self.eventExit = ui.__mem_func__(event)
def OnUpdate(self):
lastTime = max(0, self.endTime - time.clock())
if 0 == lastTime:
self.Close()
self.eventTimeOver()
else:
self.SetCountDownMessage(self.endTime - time.clock())
def OnPressExitKey(self):
return TRUE
class AnimationWindow(ui.BoardWithTitleBar):
def __init__(self, loginWnd):
ui.BoardWithTitleBar.__init__(self)
self.loginWnd = loginWnd
def __del__(self):
ui.BoardWithTitleBar.__del__(self)
def LoadBoard(self):
self.SetSize(300,180)
self.SetSize(300,180)
self.SetTitleName("Bitte wähle die Animationsoption aus")
self.SetCenterPosition()
textLine = ui.TextLine()
textLine.SetParent(self)
textLine.SetPosition(300 / 2, 45)
textLine.SetHorizontalAlignCenter()
textLine.SetText("Möchtest du einen animierten Hintergrund?")
textLine.Show()
self.textLine = textLine
textLine2 = ui.TextLine()
textLine2.SetParent(self)
textLine2.SetPosition(300 / 2, 45+18)
textLine2.SetHorizontalAlignCenter()
textLine2.SetPackedFontColor(0xffff0000)
textLine2.SetText("(Dies erhöht die Startzeit des Clienten!)")
textLine2.Show()
self.textLine2 = textLine2
button1 = ui.Button()
button1.SetParent(self)
button1.SetPosition(300/2 - 90,90)
button1.SetUpVisual("d:/ymir work/ui/public/xlarge_button_01.sub")
button1.SetOverVisual("d:/ymir work/ui/public/xlarge_button_02.sub")
button1.SetDownVisual("d:/ymir work/ui/public/xlarge_button_03.sub")
button1.SetText("Client mit Animation starten")
button1.SetEvent(self.ChangeAnimationValue,1)
button1.Show()
self.button1 = button1
button2 = ui.Button()
button2.SetParent(self)
button2.SetPosition(300/2 - 90,90+30)
button2.SetUpVisual("d:/ymir work/ui/public/xlarge_button_01.sub")
button2.SetOverVisual("d:/ymir work/ui/public/xlarge_button_02.sub")
button2.SetDownVisual("d:/ymir work/ui/public/xlarge_button_03.sub")
button2.SetText("Client ohne Animation starten")
button2.SetEvent(self.ChangeAnimationValue,2)
button2.Show()
self.button2 = button2
def Open(self):
self.LoadBoard()
self.Show()
self.SetTop()
def ChangeAnimationValue(self, value):
file = open("animation.cfg","w")
file.write(str(value))
file.close()
self.loginWnd.Accept()
def OnPressExitKey(self):
app.Exit()
class LoginWindow(ui.ScriptWindow):
connectingDict = {
"ip" : "xxxx",
"auth" : xxx,
"mark" : xxxx,
"port" : [ 1xxx1, 1xxxx0, 1xxx0, 1xxx ],
}
def __init__(self, stream):
ui.ScriptWindow.__init__(self)
net.SetPhaseWindow(net.PHASE_WINDOW_LOGIN, self)
net.SetAccountConnectorHandler(self)
self.connectingDialog = None
self.stream=stream
self.isNowCountDown=FALSE
self.text_copyright_coder = None
self.editlines = None
self.AnimationWindow = AnimationWindow(self)
def __del__(self):
net.ClearPhaseWindow(net.PHASE_WINDOW_LOGIN, self)
net.SetAccountConnectorHandler(0)
ui.ScriptWindow.__del__(self)
def Open(self):
ServerStateChecker.Create(self)
self.loginFailureMsgDict={
"ALREADY" : localeInfo.LOGIN_FAILURE_ALREAY,
"NOID" : localeInfo.LOGIN_FAILURE_NOT_EXIST_ID,
"WRONGPWD" : localeInfo.LOGIN_FAILURE_WRONG_PASSWORD,
"FULL" : localeInfo.LOGIN_FAILURE_TOO_MANY_USER,
"SHUTDOWN" : localeInfo.LOGIN_FAILURE_SHUTDOWN,
"REPAIR" : localeInfo.LOGIN_FAILURE_REPAIR_ID,
"BLOCK" : localeInfo.LOGIN_FAILURE_BLOCK_ID,
"BESAMEKEY" : localeInfo.LOGIN_FAILURE_BE_SAME_KEY,
"NOTAVAIL" : localeInfo.LOGIN_FAILURE_NOT_AVAIL,
"NOBILL" : localeInfo.LOGIN_FAILURE_NOBILL,
"BLKLOGIN" : localeInfo.LOGIN_FAILURE_BLOCK_LOGIN,
"WEBBLK" : localeInfo.LOGIN_FAILURE_WEB_BLOCK,
"BADSCLID" : localeInfo.LOGIN_FAILURE_WRONG_SOCIALID,
"AGELIMIT" : localeInfo.LOGIN_FAILURE_SHUTDOWN_TIME,
}
self.loginFailureFuncDict = {
"QUIT" : app.Exit,
}
self.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
self.SetWindowName("LoginWindow")
if musicInfo.loginMusic != "":
snd.SetMusicVolume(systemSetting.GetMusicVolume())
snd.FadeInMusic("BGM/"+musicInfo.loginMusic)
snd.SetSoundVolume(systemSetting.GetSoundVolume())
ime.AddExceptKey(91)
ime.AddExceptKey(93)
self.Show()
app.ShowCursor()
bg = ui.ImageBox()
bg.SetParent(self)
bg.SetPosition(wndMgr.GetScreenWidth() / 2 - 1920 / 2, 0)
bg.LoadImage('locale/de/ui/images/background.jpg')
bg.Show()
self.bg = bg
file = open("animation.cfg","r")
if file.readlines()[0] == "0":
self.AnimationWindow.Open()
else:
if not self.__LoadScript("locale/de/ui/cl3_loginwindow.py"):
dbg.TraceError("LoginWindow.Open - __LoadScript Error")
return
self.bg.Hide()
self.LoadAccountName()
self.editlines["id"].SetFocus()
self.ChangeChannel(0)
file.close()
self.ChangeChannelDavid()
def Accept(self):
if not self.__LoadScript("locale/de/ui/cl3_loginwindow.py"):
dbg.TraceError("LoginWindow.Open - __LoadScript Error")
return
self.bg.Hide()
self.LoadAccountName()
self.editlines["id"].SetFocus()
self.ChangeChannel(0)
self.AnimationWindow.__del__()
def Close(self):
if self.connectingDialog:
self.connectingDialog.Close()
self.connectingDialog = None
ServerStateChecker.Initialize(self)
if musicInfo.loginMusic != "" and musicInfo.selectMusic != "":
snd.FadeOutMusic("BGM/"+musicInfo.loginMusic)
if self.editlines:
self.editlines["id"].SetTabEvent(0)
self.editlines["id"].SetReturnEvent(0)
self.editlines["pwd"].SetReturnEvent(0)
self.editlines["pwd"].SetTabEvent(0)
self.editlines["id"] = None
self.editlines["pwd"] = None
self.ResetButton = None
self.connectingDialog = None
self.KillFocus()
self.Hide()
self.stream.popupWindow.Close()
self.loginFailureFuncDict=None
ime.ClearExceptKey()
app.HideCursor()
def __ExitGame(self):
app.Exit()
def SetIDEditLineFocus(self):
if self.editlines["id"] != None:
self.editlines["id"].SetFocus()
def SetPasswordEditLineFocus(self):
if localeInfo.IsEUROPE():
if self.editlines["id"] != None:
self.editlines["id"].SetText("")
self.editlines["id"].SetFocus()
if self.editlines["pwd"] != None:
self.editlines["pwd"].SetText("")
else:
if self.editlines["pwd"] != None:
self.editlines["pwd"].SetFocus()
def OnEndCountDown(self):
self.isNowCountDown = FALSE
self.timeOutMsg = FALSE
self.OnConnectFailure()
def OnConnectFailure(self):
if self.isNowCountDown:
return
snd.PlaySound("sound/ui/loginfail.wav")
if self.connectingDialog:
self.connectingDialog.Close()
self.connectingDialog = None
if self.timeOutMsg:
self.PopupNotifyMessage(localeInfo.LOGIN_FAILURE_TIMEOUT, self.SetPasswordEditLineFocus)
else:
self.PopupNotifyMessage(localeInfo.LOGIN_CONNECT_FAILURE, self.SetPasswordEditLineFocus)
def OnHandShake(self):
if not IsLoginDelay():
snd.PlaySound("sound/ui/loginok.wav")
self.PopupDisplayMessage(localeInfo.LOGIN_CONNECT_SUCCESS)
def OnLoginStart(self):
if not IsLoginDelay():
self.PopupDisplayMessage(localeInfo.LOGIN_PROCESSING)
def OnLoginFailure(self, error):
if self.connectingDialog:
self.connectingDialog.Close()
self.connectingDialog = None
try:
loginFailureMsg = self.loginFailureMsgDict[error]
except KeyError:
loginFailureMsg = localeInfo.LOGIN_FAILURE_UNKNOWN + error
loginFailureFunc=self.loginFailureFuncDict.get(error, self.SetPasswordEditLineFocus)
self.PopupNotifyMessage(loginFailureMsg, loginFailureFunc)
snd.PlaySound("sound/ui/loginfail.wav")
def __DisconnectAndInputID(self):
if self.connectingDialog:
self.connectingDialog.Close()
self.connectingDialog = None
self.SetIDEditLineFocus()
net.Disconnect()
def __DisconnectAndInputPassword(self):
if self.connectingDialog:
self.connectingDialog.Close()
self.connectingDialog = None
self.SetPasswordEditLineFocus()
net.Disconnect()
def __LoadScript(self, fileName):
import dbg
try:
pyScrLoader = ui.PythonScriptLoader()
pyScrLoader.LoadScriptFile(self, fileName)
except:
import exception
exception.Abort("LoginWindow.__LoadScript.LoadObject")
try:
self.editlines = {
"id" : self.GetChild("editline_id"),
"pwd" : self.GetChild("editline_pwd"),
}
self.channel_btn = {
0 : self.GetChild("button_channel_01"),
1 : self.GetChild("button_channel_02"),
2 : self.GetChild("button_channel_03"),
3 : self.GetChild("button_channel_04"),
}
self.save_btn = self.GetChild("button_save")
self.select_btn = {
0 : self.GetChild("button_account_select_01"),
1 : self.GetChild("button_account_select_02"),
2 : self.GetChild("button_account_select_03"),
}
self.delete_btn = {
0 : self.GetChild("button_account_delete_01"),
1 : self.GetChild("button_account_delete_02"),
2 : self.GetChild("button_account_delete_03"),
}
self.account_name = {
0 : self.GetChild("text_account_01"),
1 : self.GetChild("text_account_02"),
2 : self.GetChild("text_account_03"),
}
self.login_btn = self.GetChild("button_login")
self.navigation_btn_homepage = self.GetChild("navigation_btn_homepage")
self.navigation_btn_board = self.GetChild("navigation_btn_board")
self.navigation_btn_register = self.GetChild("navigation_btn_register")
self.navigation_btn_teamspeak = self.GetChild("navigation_btn_teamspeak")
#self.btn_m2server = self.GetChild("btn_m2server")
self.btn_epvp = self.GetChild("btn_epvp")
self.image_content = self.GetChild("image_content")
self.background = self.GetChild("background")
self.image_header_animation = self.GetChild("image_header_animation")
self.button_close = self.GetChild("button_close")
#ResetButton = ui.Button()
#ResetButton.SetParent(self)
#ResetButton.SetPosition(wndMgr.GetScreenWidth() - 100,30)
#ResetButton.SetUpVisual("d:/ymir work/ui/public/large_button_01.sub")
#ResetButton.SetOverVisual("d:/ymir work/ui/public/large_button_02.sub")
#ResetButton.SetDownVisual("d:/ymir work/ui/public/large_button_03.sub")
#ResetButton.SetText("Reset Animation")
#ResetButton.SetEvent(self.ResetAnimation)
#ResetButton.Show()
#self.ResetButton = ResetButton
except:
import exception
exception.Abort("LoginWindow.__LoadScript.BindObject")
self.editlines["id"].SetPackedFontColor(0xff9e9e9e)
self.editlines["pwd"].SetPackedFontColor(0xff9e9e9e)
self.editlines["id"].SetReturnEvent(ui.__mem_func__(self.editlines["pwd"].SetFocus))
self.editlines["id"].SetTabEvent(ui.__mem_func__(self.editlines["pwd"].SetFocus))
self.editlines["pwd"].SetReturnEvent(ui.__mem_func__(self.__OnClickLoginButton))
self.editlines["pwd"].SetTabEvent(ui.__mem_func__(self.editlines["id"].SetFocus))
for i in range(len(self.select_btn)):
self.select_btn[i].SetEvent(ui.__mem_func__(self.SelectAccount),i)
self.delete_btn[i].SetEvent(ui.__mem_func__(self.DeleteAccount),i)
for j in range(len(self.channel_btn)):
self.channel_btn[j].SetEvent(ui.__mem_func__(self.ChangeChannel),j)
self.login_btn.SetEvent(ui.__mem_func__(self.__OnClickLoginButton))
self.save_btn.SetEvent(ui.__mem_func__(self.SaveAccount))
self.button_close.SetEvent(ui.__mem_func__(self.CloseWindow))
self.navigation_btn_homepage.SetEvent(ui.__mem_func__(self.LoadWebpage),"http://google.de/")
self.navigation_btn_board.SetEvent(ui.__mem_func__(self.LoadWebpage),"http://google.de/")
self.navigation_btn_register.SetEvent(ui.__mem_func__(self.LoadWebpage),"http://google.de/")
self.navigation_btn_teamspeak.SetEvent(ui.__mem_func__(self.LoadWebpage),"http://google.de/")
self.btn_epvp.SetEvent(ui.__mem_func__(self.LoadWebpage),"http://google.de/")
file = open("animation.cfg","r")
line = file.readlines()
if line[0] != "2":
for i in range(50):
self.image_header_animation.AppendImage("locale/de/ui/images/ani/Header"+str(i)+".jpg")
else:
self.image_header_animation.AppendImage("locale/de/ui/images/ani/Header0.jpg")
file.close()
self.image_header_animation.SetPosition(1920 / 2 - 716 / 2, -4)
if (wndMgr.GetScreenHeight() - (271 + 441)) < 0:
y = (-1)*(wndMgr.GetScreenHeight() - (271+441))
else:
y = 0
self.image_content.SetPosition( 1920 / 2 - 837 / 2, 271-y)
return 1
def CloseWindow(self):
app.Exit()
def ResetAnimation(self):
file = open("animation.cfg","w")
file.write("0")
file.close()
app.Exit()
def ChangeChannel(self, ch):
self.stream.SetConnectInfo(self.connectingDict["ip"], self.connectingDict["port"][ch], self.connectingDict["ip"], self.connectingDict["auth"])
net.SetServerInfo("Shiro3 - CH" + str(ch+1))
net.SetMarkServer(self.connectingDict["ip"], self.connectingDict["port"][ch])
app.SetGuildMarkPath("10.tga")
app.SetGuildSymbolPath("10")
for i in range(len(self.channel_btn)):
if i == ch:
self.channel_btn[i].Down()
else:
self.channel_btn[i].SetUp()
def LoadWebpage(self, page):
os.startfile(page)
def LoadAccountName(self):
f = open("login.cfg")
lines = f.readlines()
f.close()
for i in range(len(self.account_name)):
if lines[i].split("#")[0] != "":
self.account_name[i].SetText(lines[i].split("#")[0])
self.select_btn[i].Show()
self.delete_btn[i].Show()
else:
self.account_name[i].SetText("Slot #" + str(i+1) + " - Verfügbar")
self.select_btn[i].Hide()
self.delete_btn[i].Hide()
self.lines = lines
def SelectAccount(self, slot):
self.Connect(self.lines[slot].split("#")[0],self.lines[slot].split("#")[1][:-1])
def DeleteAccount(self,slot):
f = open("login.cfg","w")
if slot == 0:
f.write("#\n"+self.lines[1]+self.lines[2]+"\n")
elif slot == 1:
f.write(self.lines[0]+"#\n"+self.lines[2]+"\n")
elif slot == 2:
f.write(self.lines[0]+self.lines[1]+"#\n")
f.close()
self.LoadAccountName()
def SaveAccount(self):
if self.lines[0].split("#")[0] == "":
f = open("login.cfg","w")
f.write(self.editlines["id"].GetText()+"#"+self.editlines["pwd"].GetText()+"\n"+self.lines[1]+self.lines[2]+"\n")
f.close()
elif self.lines[1].split("#")[0] == "":
f = open("login.cfg","w")
f.write(self.lines[0]+self.editlines["id"].GetText()+"#"+self.editlines["pwd"].GetText()+"\n"+self.lines[2]+"\n")
f.close()
elif self.lines[2].split("#")[0] == "":
f = open("login.cfg","w")
f.write(self.lines[0]+self.lines[1]+self.editlines["id"].GetText()+"#"+self.editlines["pwd"].GetText()+"\n")
f.close()
else:
self.PopupNotifyMessage("Bitte lösche zunächst einen Slot!")
self.LoadAccountName()
def Connect(self, id, pwd):
global AccountName
AccountName = id
if constInfo.SEQUENCE_PACKET_ENABLE:
net.SetPacketSequenceMode()
if IsLoginDelay():
loginDelay = GetLoginDelay()
self.connectingDialog = ConnectingDialog()
self.connectingDialog.Open(loginDelay)
self.connectingDialog.SAFE_SetTimeOverEvent(self.OnEndCountDown)
self.connectingDialog.SAFE_SetExitEvent(self.OnPressExitKey)
self.isNowCountDown = TRUE
else:
self.stream.popupWindow.Close()
self.stream.popupWindow.Open(localeInfo.LOGIN_CONNETING, self.SetPasswordEditLineFocus, localeInfo.UI_CANCEL)
constInfo.ID = id
constInfo.PW = pwd
self.stream.SetLoginInfo(id, pwd)
self.stream.Connect()
def __OnClickExitButton(self):
self.stream.SetPhaseWindow(0)
def __SetServerInfo(self, name):
net.SetServerInfo(name.strip())
self.serverInfo.SetText(name)
def ChangeChannelDavid(self):
if constInfo.OnChangeChannel == 1:
IP = self.connectingDict["ip"]
CH1PORT = self.connectingDict["port"][0]
CH2PORT = self.connectingDict["port"][1]
CH3PORT = self.connectingDict["port"][2]
CH4PORT = self.connectingDict["port"][3]
AUTHPORT = self.connectingDict["auth"]
if constInfo.newchannel == 1:
self.stream.SetConnectInfo(IP, CH1PORT, IP, AUTHPORT)
net.SetMarkServer(IP, CH1PORT)
elif constInfo.newchannel == 2:
self.stream.SetConnectInfo(IP, CH2PORT, IP, AUTHPORT)
net.SetMarkServer(IP, CH2PORT)
elif constInfo.newchannel == 3:
self.stream.SetConnectInfo(IP, CH3PORT, IP, AUTHPORT)
net.SetMarkServer(IP, CH3PORT)
elif constInfo.newchannel == 4:
self.stream.SetConnectInfo(IP, CH4PORT, IP, AUTHPORT)
net.SetMarkServer(IP, CH4PORT)
net.SetServerInfo("Shiro3 - CH"+str(constInfo.newchannel))
app.SetGuildMarkPath("10.tga")
app.SetGuildSymbolPath("10")
self.stream.isAutoSelect = True
self.stream.SetCharacterSlot(constInfo.slot)
self.Connect(constInfo.ID, constInfo.PW)
def PopupDisplayMessage(self, msg):
self.stream.popupWindow.Close()
self.stream.popupWindow.Open(msg)
def PopupNotifyMessage(self, msg, func=0):
if not func:
func=self.EmptyFunc
self.stream.popupWindow.Close()
self.stream.popupWindow.Open(msg, func, localeInfo.UI_OK)
def OnPressExitKey(self):
self.stream.popupWindow.Close()
self.stream.SetPhaseWindow(0)
return TRUE
def OnExit(self):
self.stream.popupWindow.Close()
def OnUpdate(self):
app.SetCamera(2500.0,6.0,90.0,500.0)
app.RenderGame()
ServerStateChecker.Update()
if constInfo.OnChangeChannel == 0:
self.stream.isAutoSelect = False
def EmptyFunc(self):
pass
def __OnClickLoginButton(self):
id = self.editlines["id"].GetText()
pwd = self.editlines["pwd"].GetText()
if len(id)==0:
self.PopupNotifyMessage(localeInfo.LOGIN_INPUT_ID, self.SetIDEditLineFocus)
return
if len(pwd)==0:
self.PopupNotifyMessage(localeInfo.LOGIN_INPUT_PASSWORD, self.SetPasswordEditLineFocus)
return
constInfo.ID, constInfo.PW = id, pwd
self.Connect(id, pwd)
def SameLogin_OpenUI(self):
self.stream.popupWindow.Close()
self.stream.popupWindow.Open(localeInfo.LOGIN_FAILURE_SAMELOGIN, 0, localeInfo.UI_OK)