예제 #1
0
    def test_counts(self):
        # Test count values on a folder
        f = Folder(parent=self.account.inbox,
                   name=get_random_string(16)).save()
        f.refresh()

        self.assertEqual(f.total_count, 0)
        self.assertEqual(f.unread_count, 0)
        self.assertEqual(f.child_folder_count, 0)
        # Create some items
        items = []
        for i in range(3):
            subject = 'Test Subject %s' % i
            item = Message(account=self.account,
                           folder=f,
                           is_read=False,
                           subject=subject,
                           categories=self.categories)
            item.save()
            items.append(item)
        # Refresh values and see that total_count and unread_count changes
        f.refresh()
        self.assertEqual(f.total_count, 3)
        self.assertEqual(f.unread_count, 3)
        self.assertEqual(f.child_folder_count, 0)
        for i in items:
            i.is_read = True
            i.save()
        # Refresh values and see that unread_count changes
        f.refresh()
        self.assertEqual(f.total_count, 3)
        self.assertEqual(f.unread_count, 0)
        self.assertEqual(f.child_folder_count, 0)
        self.bulk_delete(items)
        # Refresh values and see that total_count changes
        f.refresh()
        self.assertEqual(f.total_count, 0)
        self.assertEqual(f.unread_count, 0)
        self.assertEqual(f.child_folder_count, 0)
        # Create some subfolders
        subfolders = []
        for i in range(3):
            subfolders.append(
                Folder(parent=f, name=get_random_string(16)).save())
        # Refresh values and see that child_folder_count changes
        f.refresh()
        self.assertEqual(f.total_count, 0)
        self.assertEqual(f.unread_count, 0)
        self.assertEqual(f.child_folder_count, 3)
        for sub_f in subfolders:
            sub_f.delete()
        # Refresh values and see that child_folder_count changes
        f.refresh()
        self.assertEqual(f.total_count, 0)
        self.assertEqual(f.unread_count, 0)
        self.assertEqual(f.child_folder_count, 0)
        f.delete()
예제 #2
0
 def send_with_attachment(self, subject, body, to, path, cc):
     if os.path.exists(path):
         try:
             item = Message(account=self.exchangelib_connection,
                            folder=a.sent,
                            subject=subject,
                            body=body,
                            to_recipients=to,
                            cc_recipients=cc)
             with open(path, 'rb') as f:
                 binary_file_content = f.read()
             my_file = FileAttachment(name=os.path.basename(path),
                                      content=binary_file_content)
             item.attach(my_file)
             item.save()
             item.send_and_save()
             print('Your message send success!')
         except Exception:
             print('Please try again!')
     else:
         print('Please check your path')