Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_generic_folder(self):
f = Folder(parent=self.account.inbox, name=get_random_string(16))
f.save()
f.name = get_random_string(16)
f.save()
f.delete()
class System(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'System',),
}
get_folder_allowed = False
class TemporarySaves(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'TemporarySaves',),
}
class Views(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'Views',),
}
class WorkingSet(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'Working Set',),
}
class RootOfHierarchy(Folder):
# A list of wellknown, or "distinguished", folders that are belong in this folder hierarchy. See
# http://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.wellknownfoldername(v=exchg.80).aspx
# and https://msdn.microsoft.com/en-us/library/office/aa580808(v=exchg.150).aspx
# 'RootOfHierarchy' subclasses must not be in this list.
class NonDeleteableFolderMixin:
@property
def is_deleteable(self):
return False
class AllContacts(NonDeleteableFolderMixin, Contacts):
CONTAINER_CLASS = 'IPF.Note'
LOCALIZED_NAMES = {
None: (u'AllContacts',),
}
class AllItems(NonDeleteableFolderMixin, Folder):
CONTAINER_CLASS = 'IPF'
LOCALIZED_NAMES = {
None: (u'AllItems',),
}
class Audits(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'Audits',),
}
get_folder_allowed = False
class CalendarLogging(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
class GraphAnalytics(NonDeleteableFolderMixin, Folder):
CONTAINER_CLASS = 'IPF.StoreItem.GraphAnalytics'
LOCALIZED_NAMES = {
None: (u'GraphAnalytics',),
}
class Location(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'Location',),
}
class MailboxAssociations(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'MailboxAssociations',),
}
class MyContactsExtended(NonDeleteableFolderMixin, Contacts):
CONTAINER_CLASS = 'IPF.Note'
LOCALIZED_NAMES = {
None: (u'MyContactsExtended',),
}
class ParkedMessages(NonDeleteableFolderMixin, Folder):
CONTAINER_CLASS = None
LOCALIZED_NAMES = {
None: (u'ParkedMessages',),
get_folder_allowed = False
class TemporarySaves(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'TemporarySaves',),
}
class Views(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'Views',),
}
class WorkingSet(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'Working Set',),
}
class RootOfHierarchy(Folder):
# A list of wellknown, or "distinguished", folders that are belong in this folder hierarchy. See
# http://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.wellknownfoldername(v=exchg.80).aspx
# and https://msdn.microsoft.com/en-us/library/office/aa580808(v=exchg.150).aspx
# 'RootOfHierarchy' subclasses must not be in this list.
WELLKNOWN_FOLDERS = []
TRAVERSAL_DEPTH = DEEP
__slots__ = ('account', '_subfolders')
# A special folder that acts as the top of a folder hierarchy. Finds and caches subfolders at arbitrary depth.
def to_xml(self, version):
if self.is_distinguished:
# Don't add the changekey here. When modifying folder content, we usually don't care if others have changed
# the folder content since we fetched the changekey.
if self.root and self.root.account:
return DistinguishedFolderId(
id=self.DISTINGUISHED_FOLDER_ID,
mailbox=Mailbox(email_address=self.root.account.primary_smtp_address)
).to_xml(version=version)
return DistinguishedFolderId(id=self.DISTINGUISHED_FOLDER_ID).to_xml(version=version)
if self.id:
return FolderId(id=self.id, changekey=self.changekey).to_xml(version=version)
return super(Folder, self).to_xml(version=version)
supported_item_models = (Task,)
LOCALIZED_NAMES = {
'da_DK': (u'Opgaver',),
'de_DE': (u'Aufgaben',),
'en_US': (u'Tasks',),
'es_ES': (u'Tareas',),
'fr_CA': (u'Tâches',),
'nl_NL': (u'Taken',),
'ru_RU': (u'Задачи',),
'sv_SE': (u'Uppgifter',),
'zh_CN': (u'任务',),
}
class Contacts(Folder):
DISTINGUISHED_FOLDER_ID = 'contacts'
CONTAINER_CLASS = 'IPF.Contact'
supported_item_models = (Contact, DistributionList)
LOCALIZED_NAMES = {
'da_DK': (u'Kontaktpersoner',),
'de_DE': (u'Kontakte',),
'en_US': (u'Contacts',),
'es_ES': (u'Contactos',),
'fr_CA': (u'Contacts',),
'nl_NL': (u'Contactpersonen',),
'ru_RU': (u'Контакты',),
'sv_SE': (u'Kontakter',),
'zh_CN': (u'联系人',),
}
class SmsAndChatsSync(NonDeleteableFolderMixin, Folder):
CONTAINER_CLASS = 'IPF.SmsAndChatsSync'
LOCALIZED_NAMES = {
None: (u'SmsAndChatsSync',),
}
class SpoolerQueue(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'Spooler Queue',),
}
class System(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'System',),
}
get_folder_allowed = False
class TemporarySaves(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'TemporarySaves',),
}
class Views(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'Views',),
}
get_folder_allowed = False
class CalendarLogging(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'Calendar Logging',),
}
class CommonViews(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'Common Views',),
}
class ConversationSettings(NonDeleteableFolderMixin, Folder):
CONTAINER_CLASS = 'IPF.Configuration'
LOCALIZED_NAMES = {
'da_DK': (u'Indstillinger for samtalehandlinger',),
}
class DefaultFoldersChangeHistory(NonDeleteableFolderMixin, Folder):
CONTAINER_CLASS = 'IPM.DefaultFolderHistoryItem'
LOCALIZED_NAMES = {
None: (u'DefaultFoldersChangeHistory',),
}
class DeferredAction(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'Deferred Action',),
class AllItems(NonDeleteableFolderMixin, Folder):
CONTAINER_CLASS = 'IPF'
LOCALIZED_NAMES = {
None: (u'AllItems',),
}
class Audits(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'Audits',),
}
get_folder_allowed = False
class CalendarLogging(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'Calendar Logging',),
}
class CommonViews(NonDeleteableFolderMixin, Folder):
LOCALIZED_NAMES = {
None: (u'Common Views',),
}
class ConversationSettings(NonDeleteableFolderMixin, Folder):
CONTAINER_CLASS = 'IPF.Configuration'
LOCALIZED_NAMES = {
'da_DK': (u'Indstillinger for samtalehandlinger',),
}