本文整理汇总了Python中Login.getID方法的典型用法代码示例。如果您正苦于以下问题:Python Login.getID方法的具体用法?Python Login.getID怎么用?Python Login.getID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Login
的用法示例。
在下文中一共展示了Login.getID方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getMessage
# 需要导入模块: import Login [as 别名]
# 或者: from Login import getID [as 别名]
def getMessage(msgidx, readStamp=True):
""" 쪽지를 읽어온다 """
mData = Archive("MsgInBox").getValues(msgidx, "Content,Receiver,Sender,Attachments,IsRead")
if mData == None:
raise SpartaUserError("존재하지 않는 쪽지번호 입니다")
if mData["Receiver"] != Login.getID() and mData["Sender"] != Login.getID():
raise SpartaUserError("메세지를 볼수있는 권한이 없습니다")
if readStamp and (mData["IsRead"] == False):
# 스탬핑 처리
Archive("MsgInBox").Edit(msgidx, IsRead=True)
# 보낸 편지에도 읽기 스템핑
r_idx = Archive("MsgSent").getValue("MsgSent.RelateIDX == "+str(msgidx), "IDX")
if r_idx:
Archive("MsgSent").Edit(r_idx, IsRead=True)
outText = mData["Content"]
if mData["Attachments"]:
outText += u'<table class="filedownBox"><tr><td>첨부</td><td><a href="/getfile/message/%s">%s</a></td></tr></table>' % ( msgidx, mData["Attachments"])
return outText
示例2: removeMessage
# 需要导入模块: import Login [as 别名]
# 或者: from Login import getID [as 别名]
def removeMessage(msgidx):
mData = Archive("MsgInBox").getValues(msgidx, "Receiver,Sender,Attachments")
if mData == None:
raise SpartaUserError("존재하지 않는 쪽지번호 입니다")
if mData["Receiver"] != Login.getID() and (not CheckAdmin()) and mData["Sender"] != Login.getID():
raise SpartaAccessError("메세지를 삭제할 수 있는 권한이 없습니다")
r = Archive("MsgInBox").Remove( msgidx )
#[TODO] 파일삭제 처리!!!
return r
示例3: sendMessage
# 需要导入模块: import Login [as 别名]
# 或者: from Login import getID [as 别名]
def sendMessage( receiver, subject, content, attachments=None, withSMS=None ):
""" 쪽지함에 쪽지를 발송
"""
#[TODO] To,CC,BCC에 대한 처리 필요
#[TODO] IF not logined !!
smsList = []
msgIDXs = []
msgSave = { "Subject": subject, "Content": content, "Sender": Login.getID(), "SenderName": Login.getName() }
if "<" in receiver:
#ex) Address Parsing :: "정기영" <[email protected]>, "김태희" <[email protected]> -> ["[email protected]", "[email protected]"]
addrsList = re.findall("\<([._,a-zA-Z0-9:\#\@]+)\>+", receiver)
else:
addrsList = [n.strip() for n in receiver.split(",")]
for recID in addrsList:
userData = Archive("User").getValues( "User.UserID == "+ recID, "Name,HandPhone" )
if userData:
msgSave["Receiver"] = recID
result_IDX = Archive("MsgInBox").New(**msgSave)
if result_IDX:
msgIDXs.append( result_IDX )
if userData["HandPhone"] and not userData["HandPhone"].replace("-","") in smsList:
smsList.append( str(userData["HandPhone"].replace("-","")) )
sentMsg = { "RelateIDX": result_IDX, "Subject": subject, "Content": content, "Receiver": recID, "ReceiverName": userData["Name"], "Sender": Login.getID() }
r = Archive("MsgSent").New( **sentMsg )
if attachments:
#[TODO] 임시 코드입니다. 멀티센딩에서 업된 파일에 대한 레퍼런스 카운트가 이상적이나 일단 그냥 복제형태로 갑니다.
if type(attachments) == unicode:
attachments = attachments.encode("utf8")
uploadFile = Files.getRootDir() + attachments
fileName = os.path.split(attachments)[1]
if os.path.exists( uploadFile ):
for ridx in msgIDXs:
if str(ridx).isdigit():
targetFile = "/data/message/%s.%s" % ( fileName, ridx )
shutil.copy2( uploadFile, Files.getSpartaDir() + targetFile )
msgMod = { "IDX" : ridx, "Attachments" : "%s" % fileName }
r = Archive( "MsgInBox" ).New( **msgMod )
os.remove(uploadFile)
if withSMS and smsList:
SMS.send( sendMsg=u"스팔타쪽지>"+msgSave["Subject"], recvList=smsList )
return len(msgIDXs)
示例4: removeMessage
# 需要导入模块: import Login [as 别名]
# 或者: from Login import getID [as 别名]
def removeMessage(msgidx):
msg_receiver_q = Session.query(MsgReceiver).filter_by(idx = msgidx).first()
if None == msg_receiver_q:
raise SpartaUserError("존재하지 않는 쪽지입니다")
# 로그인한 사용자가 메시지를 받은 사용자가 아닌 경우 삭제할 수 없다는 메시지를 출력하게 한다.
if msg_receiver_q.ReceiverID != Login.getID() and (not CheckAdmin()):
raise SpartaAccessError("메시지를 삭제할 수 있는 권한이 없습니다")
msg_receiver_q.IsDelete = u"1"
Session.commit()
# 항상 1을 반환한다.
return 1
示例5: setPassword
# 需要导入模块: import Login [as 别名]
# 或者: from Login import getID [as 别名]
def setPassword( userid, newpassword):
if userid != Login.getID() and (not CheckAdmin()):
raise SpartaAccessError("패스워드를 변경할수 있는 권한이 없습니다.")
useridx = getIDX( userid )
if useridx:
hashedPass = hashlib.md5( newpassword ).hexdigest()
r = 0 < Archive("User").Edit( useridx, Password=hashedPass )
else:
raise SpartaError("[버그] 아이디의 IDX 정보가 잘못되었습니다.")
if r:
return True
else:
raise SpartaError("패스워드를 수정하지 못했습니다.")
示例6: cancelMessage
# 需要导入模块: import Login [as 别名]
# 或者: from Login import getID [as 别名]
def cancelMessage(sentidx):
mData = Archive("MsgSent").getValues(msgidx, "RelateIDX,Sender,Attachments")
if mData == None:
raise SpartaUserError("존재하지 않는 쪽지번호 입니다")
if mData["Sender"] != Login.getID() and (not CheckAdmin()):
raise SpartaUserError("메세지를 삭제할 수 있는 권한이 없습니다")
rData = Archive("MsgInBox").getValue( mData["RelateIDX"], "IDX,IsRead")
if rData:
if rData["IsRead"] == False:
return removeMessage( rData["IDX"] )
else:
raise SpartaUserError("발송된 메세지는 이미 읽은 메세지입니다")
else:
raise SpartaUserError("발송된 메세지는 이미 삭제되었습니다")
return int(0)
示例7: getMessage
# 需要导入模块: import Login [as 别名]
# 或者: from Login import getID [as 别名]
def getMessage(msgReceiver_idx, readStamp=True):
""" 쪽지를 읽어온다 """
msgReceiver_q = Session.query(MsgReceiver).outerjoin(Msg).add_entity(Msg)
msg = msgReceiver_q.filter(MsgReceiver.idx == msgReceiver_idx).first()
if None == msg:
raise SpartaUserError("존재하지 않는 쪽지입니다")
# 로그인 중인 사용자와 메시지를 받은 사용자 ID를 비교하여 일치하지 않으면 권한 오류를 발생시킨다.
if Login.getID() != msg[0].ReceiverID:
raise SpartaUserError("메시지를 볼 수 있는 권한이 없습니다")
# 읽음여부 수정
if u"0" == msg[0].IsRead:
msg[0].IsRead = u"1"
Session.commit()
outText = msg[1].Content
# 첨부파일 가져오기
msgAttach_q = Session.query(MsgAttach).filter_by(Msg_IDX = msg[1].idx).all()
attach_text = []
if len(msgAttach_q) > 0:
attach_text.append("<table class=\"filedownBox\">")
attach_text.append(u"<tr><td rowspan=\"%d\">첨부</td><td>" % len(msgAttach_q))
for attach_item in msgAttach_q:
attach_text.append("<a href=\"/getfile/nmessage/%d\">%s</a><br />" % (attach_item.idx, attach_item.OriginalFileName) )
attach_text.append("</td></tr></table>")
attach_text = "".join(attach_text)
return "<p>%s</p>%s" % (outText, attach_text)
示例8: removeSendMessage
# 需要导入模块: import Login [as 别名]
# 或者: from Login import getID [as 别名]
def removeSendMessage(sendidx):
# 메시지 정보를 가져온다.
msg_q = Session.query(Msg).filter(Msg.idx == sendidx)
if msg_q.count() == 0:
raise SpartaUserError("존재하지 않는 쪽지입니다")
msg = msg_q.first()
if msg.SenderID != Login.getID() and (not CheckAdmin()):
raise SpartaAccessError("메시지를 삭제할 수 있는 권한이 없습니다")
# 수신자 지우기
receiver_q = Session.query(MsgReceiver).filter(MsgReceiver.Msg_IDX == sendidx)
if receiver_q.count() > 0:
# 수신자중에 한명이라도 메시지를 읽지 않았다면 쪽지를 삭제하지 못하게 한다.
for receiver_user in receiver_q.all():
if receiver_user.IsDelete == u"0":
return u"%s 사용자가 아직 쪽지를 읽지 않았습니다" % receiver_user.ReceiverID
receiver_q.delete()
Session.commit()
# 우선 첨부파일 정보를 가져온다.
attach_q = Session.query(MsgAttach).filter(MsgAttach.Msg_IDX == sendidx).all()
if len(attach_q) > 0:
for attach_info in attach_q:
# File Exists
if os.path.exists(attach_info.NewFileName):
os.unlink(attach_info.NewFileName)
Session.delete(attach_info)
Session.commit()
# 본 메시지 삭제
msg_q = Session.delete(msg)
Session.commit()
return 1
示例9: getNoReadCount
# 需要导入模块: import Login [as 别名]
# 或者: from Login import getID [as 别名]
def getNoReadCount():
""" 읽지않은 쪽지 갯수를 반환한다 """
return Session.query(MsgReceiver).filter(and_(MsgReceiver.IsRead == u'0', MsgReceiver.ReceiverID == Login.getID())).count()
示例10: sendMessage
# 需要导入模块: import Login [as 别名]
# 或者: from Login import getID [as 别名]
def sendMessage( receiver, receiverCC, receiverBCC, subject, content, attachments=None, withSMS=None ):
""" 쪽지함에 쪽지를 발송"""
#[TODO] IF not logined !!
withEmail = True
emailList = []
smsList = []
msgIDXs = []
receiverTo = getReceiver(receiver)
receiverCc = getReceiver(receiverCC)
receiverBcc = getReceiver(receiverBCC)
# 쪽지 내용 저장
msg = Msg()
msg.SenderID = unicode(Login.getID())
msg.SenderName = unicode(Login.getName())
msg.Subject = unicode(subject)
msg.Content = unicode(content)
msg.withSMS = unicode(withSMS)
msg.CreateDate = datetime.datetime.now()
Session.add(msg)
Session.commit()
# To들에게 보내기
setMsgReceiver(receiverTo, msg.idx, "0")
# CC들에게 보내기
setMsgReceiver(receiverCc, msg.idx, "1")
# BCC들에게 보내기
setMsgReceiver(receiverBcc, msg.idx, "2")
# SMS 발송 관련 처리
if withSMS:
smsList = list()
receiverList = receiverTo + receiverCc +receiverBcc
for msg_receiver in receiverList:
if type(msg_receiver) != dict:
continue
smsList.append(msg_receiver["HandPhone"])
if len(smsList) > 0:
SMS.send(sendMsg=u"[sparta] %s" % msg.Content[:70], recvList=smsList)
if withEmail:
senderData = getReceiver("<%s>" % Login.getID())[0]["GwID"]
emailList = list()
receiverList = receiverTo + receiverCc +receiverBcc
for msg_receiver in receiverList:
if type(msg_receiver) != dict:
continue
if str(msg_receiver["GwID"]).startswith("D"):
emailList.append( str(msg_receiver["GwID"])+"@idea.co.kr" )
if len(emailList) > 0:
sendEmail("%[email protected]" % senderData, msg.Subject, msg.Content, recvList=emailList)
if attachments:
objUpload = Upload()
objUpload.MsgInitialize()
for attach_item in attachments:
new_file = objUpload.upload_file_move(attach_item)
rowMsgAttach = MsgAttach()
rowMsgAttach.Msg_IDX = unicode(msg.idx)
rowMsgAttach.OriginalFileName = unicode(new_file["O_PATH"])
rowMsgAttach.NewFileName = unicode(new_file["D_PATH"])
rowMsgAttach.FileSize = unicode(new_file["SIZE"])
Session.add(rowMsgAttach)
Session.commit()
return len(receiverTo)
示例11: getLoginID
# 需要导入模块: import Login [as 别名]
# 或者: from Login import getID [as 别名]
def getLoginID():
return Login.getID()
示例12: getNoReadCount
# 需要导入模块: import Login [as 别名]
# 或者: from Login import getID [as 别名]
def getNoReadCount():
""" 읽지않은 쪽지 갯수를 반환한다 """
CntNonRead = Archive.RunQuery("select count(IDX) from MsgInBox where Receiver = :id and IsRead =0", id=Login.getID() )[0][0]
return CntNonRead