def remote_change_labels(account, message_id, db_session, removed_labels, added_labels): uids_for_message = uids_by_folder(message_id, db_session) with writable_connection_pool(account.id).get() as crispin_client: for folder_name, uids in uids_for_message.items(): crispin_client.select_folder(folder_name, uidvalidity_cb) crispin_client.conn.add_gmail_labels(uids, _encode_labels(added_labels)) crispin_client.conn.remove_gmail_labels(uids, _encode_labels(removed_labels))
def remote_change_labels(account, message_id, db_session, removed_labels, added_labels): uids_for_message = uids_by_folder(message_id, db_session) with writable_connection_pool(account.id).get() as crispin_client: for folder_name, uids in uids_for_message.items(): crispin_client.select_folder(folder_name, uidvalidity_cb) crispin_client.conn.add_gmail_labels(uids, added_labels) crispin_client.conn.remove_gmail_labels(uids, removed_labels)
def remote_change_labels(crispin_client, account_id, message_id, removed_labels, added_labels): with session_scope(account_id) as db_session: uids_for_message = uids_by_folder(message_id, db_session) for folder_name, uids in uids_for_message.items(): crispin_client.select_folder_if_necessary(folder_name, uidvalidity_cb) if len(added_labels) > 0: crispin_client.conn.add_gmail_labels(uids, _encode_labels(added_labels)) if len(removed_labels) > 0: crispin_client.conn.remove_gmail_labels( uids, _encode_labels(removed_labels))
def remote_change_labels(crispin_client, account_id, message_id, removed_labels, added_labels): with session_scope(account_id) as db_session: uids_for_message = uids_by_folder(message_id, db_session) for folder_name, uids in uids_for_message.items(): crispin_client.select_folder_if_necessary(folder_name, uidvalidity_cb) if len(added_labels) > 0: crispin_client.conn.add_gmail_labels( uids, _encode_labels(added_labels), silent=True) if len(removed_labels) > 0: crispin_client.conn.remove_gmail_labels( uids, _encode_labels(removed_labels), silent=True)
def remote_change_labels(crispin_client, account_id, message_ids, removed_labels, added_labels): uids_for_message = {} with session_scope(account_id) as db_session: for message_id in message_ids: folder_uids_map = uids_by_folder(message_id, db_session) for folder_name, uids in folder_uids_map.items(): if folder_name not in uids_for_message: uids_for_message[folder_name] = [] uids_for_message[folder_name].extend(uids) for folder_name, uids in uids_for_message.items(): crispin_client.select_folder_if_necessary(folder_name, uidvalidity_cb) if len(added_labels) > 0: crispin_client.conn.add_gmail_labels( uids, _encode_labels(added_labels), silent=True) if len(removed_labels) > 0: crispin_client.conn.remove_gmail_labels( uids, _encode_labels(removed_labels), silent=True)
def remote_change_labels(crispin_client, account_id, message_ids, removed_labels, added_labels): uids_for_message = {} with session_scope(account_id) as db_session: for message_id in message_ids: folder_uids_map = uids_by_folder(message_id, db_session) for folder_name, uids in folder_uids_map.items(): if folder_name not in uids_for_message: uids_for_message[folder_name] = [] uids_for_message[folder_name].extend(uids) for folder_name, uids in uids_for_message.items(): crispin_client.select_folder_if_necessary(folder_name, uidvalidity_cb) if len(added_labels) > 0: crispin_client.conn.add_gmail_labels(uids, _encode_labels(added_labels), silent=True) if len(removed_labels) > 0: crispin_client.conn.remove_gmail_labels( uids, _encode_labels(removed_labels), silent=True)