本文整理汇总了Python中inbox.models.backends.imap.ImapUid.g_labels方法的典型用法代码示例。如果您正苦于以下问题:Python ImapUid.g_labels方法的具体用法?Python ImapUid.g_labels怎么用?Python ImapUid.g_labels使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类inbox.models.backends.imap.ImapUid
的用法示例。
在下文中一共展示了ImapUid.g_labels方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: add_new_imapuid
# 需要导入模块: from inbox.models.backends.imap import ImapUid [as 别名]
# 或者: from inbox.models.backends.imap.ImapUid import g_labels [as 别名]
def add_new_imapuid(db_session, gmessage, folder_name, acc):
"""
Add ImapUid object for this GMessage if we don't already have one.
Parameters
----------
message : GMessage
Message to add ImapUid for.
folder_name : str
Which folder to add the ImapUid in.
acc : GmailAccount
Which account to associate the message with. (Not looking this up
within this function is a db access optimization.)
"""
if not db_session.query(ImapUid.msg_uid).join(Folder).filter(
Folder.name == folder_name,
ImapUid.account_id == acc.id,
ImapUid.msg_uid == gmessage.uid).all():
try:
message = db_session.query(Message).join(ImapThread).filter(
ImapThread.g_thrid == gmessage.g_metadata.thrid,
Message.g_thrid == gmessage.g_metadata.thrid,
Message.g_msgid == gmessage.g_metadata.msgid,
ImapThread.namespace_id == acc.namespace.id).one()
except NoResultFound:
# this may occur when a thread is expanded and those messages are
# downloaded and committed, then new messages on that thread arrive
# and get added to the download queue before this code is run
log.debug('no Message object found, skipping imapuid creation',
uid=gmessage.uid, g_msgid=gmessage.g_metadata.msgid)
return
new_imapuid = ImapUid(
account=acc,
folder=Folder.find_or_create(db_session, acc, folder_name),
msg_uid=gmessage.uid, message=message)
new_imapuid.update_imap_flags(gmessage.flags, gmessage.labels)
new_imapuid.g_labels = [label for label in gmessage.labels]
db_session.add(new_imapuid)
db_session.commit()
else:
log.debug('skipping imapuid creation',
uid=gmessage.uid, g_msgid=gmessage.g_metadata.msgid)