コード例 #1
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class CollectionMembershipRecord(eim.Record):
    # A membership record for a collection that is not "out of the box"
    # i.e. created by the user
    URI = "http://osafoundation.org/eim/pim/collectionmembership/0"

    collectionID = eim.key(text256) # "well-known" name or UUID string
    itemUUID = eim.key(aliasableUUID)
    index = eim.key(eim.IntType)
コード例 #2
0
ファイル: new_model.py プロジェクト: ra2003/chandler2
class KeywordRecord(eim.Record):
    URI = "http://osafoundation.org/eim/keyword/0"

    # a keywordID should look like @keyword:key_value
    keywordID = eim.key(keywordID)

    # mimicking legacy_model.CollectionRecord for convenience
    colorRed = eim.key(eim.IntType)
    colorGreen = eim.key(eim.IntType)
    colorBlue = eim.key(eim.IntType)
    colorAlpha = eim.key(eim.IntType)
    checked = eim.field(eim.IntType, default=0)
コード例 #3
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ModifiedByRecord(eim.Record):
    URI = "http://osafoundation.org/eim/modifiedBy/0"

    uuid = eim.key(ItemRecord.uuid)

    # ContentItem.lastModifiedBy
    userid = eim.key(text256, "User ID")

    # ContentItem.lastModified (time)
    timestamp = eim.key(eim.DecimalType(digits=12, decimal_places=2), "Last modified")

    # ContentItem.lastModification (action)
    action = eim.key(eim.IntType, "Action")
コード例 #4
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class CollectionRecord(eim.Record):
    URI = "http://osafoundation.org/eim/pim/collection/0"

    uuid = eim.key(aliasableUUID)
    mine = eim.field(eim.IntType)

    # We represent color as 4 values instead of 1 integer since eim.IntType is signed
    # and so far it doesn't seem worth adding a new type for color
    colorRed = eim.key(eim.IntType)
    colorGreen = eim.key(eim.IntType)
    colorBlue = eim.key(eim.IntType)
    colorAlpha = eim.key(eim.IntType)
    checked = eim.field(eim.IntType, default=0)
コード例 #5
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ItemRecord(eim.Record):
    URI = "http://osafoundation.org/eim/item/0"

    # ItemRecord depends on CollectionRecord so that it's processed
    # after CollectionRecord creates an appropriate Collection,
    # instead of an Item
    uuid = eim.key(CollectionRecord.uuid)

    # ContentItem.displayName
    title = eim.field(text1024, "Title")

    # ContentItem.[triageStatus, triageStatusChanged, doAutoTriageOnDateChange]
    triage = eim.field(text256, "Triage status", filters=[triageFilter])

    # ContentItem.createdOn
    createdOn = eim.field(eim.DecimalType(digits=20, decimal_places=0),
        "Created on", filters=[createdOnFilter])

    # ContentItem.modifiedFlags
    hasBeenSent = eim.field(eim.IntType, "Has been sent",
        filters=[hasBeenSentFilter])

    # ContentItem.needsReply
    needsReply = eim.field(eim.IntType, "Needs reply", filters=[needsReplyFilter], default=0)

    # ContentItem.read
    read = eim.field(eim.IntType, "Has been read", filters=[readFilter],
        default=0)
コード例 #6
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class PasswordRecord(eim.Record):
    URI = "http://osafoundation.org/eim/password/0"

    uuid = eim.key(ItemRecord.uuid)
    ciphertext = eim.field(bytes1024)
    iv = eim.field(bytes32)
    salt = eim.field(bytes32)
コード例 #7
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ShareCosmoAccountRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/cosmoaccount/0"

    uuid = eim.key(ItemRecord.uuid)
    pimpath = eim.field(text1024) # pim/collection
    morsecodepath = eim.field(text1024) # mc/collection
    davpath = eim.field(text1024) # dav/collection
コード例 #8
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class DisplayAlarmRecord(eim.Record):
    URI = "http://osafoundation.org/eim/displayAlarm/0"

    uuid = eim.key(EventRecord.uuid)
    description = eim.field(text1024, "Alarm description", filters=[remindersFilter])
    trigger = eim.field(text1024, "Alarm trigger", filters=[remindersFilter])
    duration = eim.field(text1024, "Alarm duration", filters=[remindersFilter])
    repeat = eim.field(eim.IntType, "Alarm repeat", filters=[remindersFilter])
コード例 #9
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class SharePeerStateRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/peerstate/0"

    uuid = eim.key(ItemRecord.uuid)
    peer = eim.field(UUID)
    item = eim.field(UUID)
    peerrepo = eim.field(text1024)
    peerversion = eim.field(eim.IntType)
コード例 #10
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ShareRecordSetConduitRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/rsconduit/0"

    uuid = eim.key(ItemRecord.uuid)
    translator = eim.field(text1024)
    serializer = eim.field(text1024)
    filters = eim.field(text1024)
    syncToken = eim.field(text256)
コード例 #11
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ShareAccountRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/account/0"

    uuid = eim.key(ItemRecord.uuid)
    host = eim.field(text256)
    port = eim.field(eim.IntType)
    ssl = eim.field(eim.IntType)
    path = eim.field(text1024)
    username = eim.field(text256)
    password = eim.field(UUID)
コード例 #12
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class IMAPFolderRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/imapfolder/0"

    uuid = eim.key(ItemRecord.uuid)
    name = eim.field(text256)
    type = eim.field(eim.TextType(size=50))
    lastUID = eim.field(eim.IntType)
    delete = eim.field(eim.IntType)
    downloaded = eim.field(eim.IntType)
    downloadMax = eim.field(eim.IntType)
コード例 #13
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class IMAPAccountRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/imapaccount/0"

    uuid = eim.key(ItemRecord.uuid)
    password = eim.field(UUID)
    replyToAddress = eim.field(text256)
    port = eim.field(eim.IntType)

    # 1 = isDefault
    isDefault = eim.field(eim.IntType)
コード例 #14
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class SMTPAccountRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/smtpccount/0"

    uuid = eim.key(ItemRecord.uuid)
    password = eim.field(UUID)
    fromAddress = eim.field(text256)
    useAuth = eim.field(eim.IntType)
    port = eim.field(eim.IntType)

    # 1 = isDefault
    isDefault = eim.field(eim.IntType)
コード例 #15
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ShareRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/share/0"

    uuid = eim.key(ItemRecord.uuid)
    contents = eim.field(UUID)
    conduit = eim.field(UUID)
    subscribed = eim.field(eim.IntType)
    error = eim.field(eim.ClobType)
    errorDetails = eim.field(eim.ClobType)
    mode = eim.field(text20)
    lastSuccess = eim.field(eim.DecimalType(digits=20, decimal_places=0))
    lastAttempt = eim.field(eim.DecimalType(digits=20, decimal_places=0))
コード例 #16
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ShareStateRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/sharestate/0"

    uuid = eim.key(ItemRecord.uuid)
    share = eim.field(UUID)
    alias = eim.field(text1024)
    conflict_item = eim.field(UUID)
    conflict_share = eim.field(UUID)
    agreed = eim.field(eim.BlobType)    # obsolete
    pending = eim.field(eim.BlobType)   # obsolete
    stateRecords = eim.field(eim.BlobType, default='')
    pendingRemoval = eim.field(eim.IntType, default=0)
コード例 #17
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ShareProxyRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/proxy/0"

    uuid = eim.key(ItemRecord.uuid)
    host = eim.field(text256)
    port = eim.field(eim.IntType)
    protocol = eim.field(text256)
    useAuth = eim.field(eim.IntType)
    username = eim.field(text256)
    password = eim.field(UUID)
    active = eim.field(eim.IntType)
    bypass = eim.field(text256, default=u'')
コード例 #18
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ShareHTTPConduitRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/httpconduit/0"

    uuid = eim.key(ItemRecord.uuid)
    ticket = eim.field(text1024)
    ticket_rw = eim.field(text1024)
    ticket_ro = eim.field(text1024)

    account = eim.field(UUID) # if provided, the following are ignored
    host = eim.field(text256)
    port = eim.field(eim.IntType)
    ssl = eim.field(eim.IntType)
    username = eim.field(text256)
    password = eim.field(UUID)
コード例 #19
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class MailAccountRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/mailaccount/0"

    uuid = eim.key(ItemRecord.uuid)
    retries = eim.field(eim.IntType)
    username = eim.field(text256)
    host = eim.field(text256)

    # 0 = None, 1 = TLS, 2 = SSL
    connectionType = eim.field(eim.IntType)
    frequency = eim.field(eim.IntType)
    timeout = eim.field(eim.IntType)

    # 0 = Inactive 1 = Active
    active = eim.field(eim.IntType)
コード例 #20
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class POPAccountRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/popaccount/0"

    uuid = eim.key(ItemRecord.uuid)
    password = eim.field(UUID)
    replyToAddress = eim.field(text256)
    type = eim.field(eim.TextType(size=50))
    delete = eim.field(eim.IntType)
    downloaded = eim.field(eim.IntType)
    downloadMax = eim.field(eim.IntType)
    seenUIDS = eim.field(eim.ClobType)
    port = eim.field(eim.IntType)

    # 1 = isDefault
    isDefault = eim.field(eim.IntType)
コード例 #21
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class NoteRecord(eim.Record):
    URI = "http://osafoundation.org/eim/note/0"

    uuid = eim.key(ItemRecord.uuid)

    # ContentItem.body
    body = eim.field(eim.ClobType, "Body")

    # Note.icalUid
    icalUid = eim.field(text256, "Icalendar UID", filters=[icalUidFilter])

    # Note.icalendarProperties - legacy, never used
    icalProperties = eim.field(text1024, filters=[nonStandardICalendarFilter])

    # Note.icalendarParameters - legacy, never used
    icalParameters = eim.field(text1024, filters=[nonStandardICalendarFilter])

    # Note.icalendarExtra
    icalExtra = eim.field(eim.TextType(size=4096), default=u"",
                          filters=[nonStandardICalendarFilter])
コード例 #22
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class EventRecord(eim.Record):
    URI = "http://osafoundation.org/eim/event/0"

    uuid = eim.key(NoteRecord.uuid)

    # EventStamp.[allDay, anyTime, duration, startTime]
    dtstart = eim.field(text20, "Start time")
    duration = eim.field(text20, "Duration")

    # EventStamp.location
    location = eim.field(text256, "Location")

    # EventStamp.[recurrenceID, rruleset, etc.]
    rrule = eim.field(rrule_field)
    exrule = eim.field(rrule_field, filters=[occurrenceDeletion])
    rdate = eim.field(rdate_field)
    exdate = eim.field(rdate_field, filters=[occurrenceDeletion])

    # EventStamp.transparency
    status = eim.field(text256, "Event status", filters=[eventStatusFilter])

    # timestamp of the most recent occurrence, for calculating triage status
    lastPastOccurrence = eim.field(text20, default=u"", filters=[triageFilter])
コード例 #23
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class MailMessageRecord(eim.Record):
    URI = "http://osafoundation.org/eim/mail/0"

    uuid = eim.key(NoteRecord.uuid)
    messageId = eim.field(text256, "Message ID", filters=[messageIdFilter])
    headers = eim.field(eim.ClobType, "Message headers", filters=[headersFilter])
    # Will contain the RFC 822 from address
    fromAddress = eim.field(text256, "From")
    toAddress = eim.field(text1024, "To")
    ccAddress = eim.field(text1024, "CC")
    bccAddress = eim.field(text1024, "BCC", filters=[bccFilter])

    # Can contain text or email addresses ie. from The Management Team
    originators = eim.field(text1024, "Originators")

    # date sent is populated by MailStamp.dateSentString
    dateSent = eim.field(text256, "Date sent", filters=[dateSentFilter])

    inReplyTo = eim.field(text256, "In-Reply-to", filters=[inReplyToFilter])

    #The list of message-id's a mail message references
    # can be quite long and can easily exceed 1024 characters
    references = eim.field(eim.ClobType, "References", filters=[referencesFilter])

    # Values required for Dump and Reload
    mimeContent = eim.field(eim.ClobType, "MIME content", filters=[mimeContentFilter])
    rfc2822Message = eim.field(eim.ClobType, "RFC2822 message", filters=[rfc2822MessageFilter])
    previousSender = eim.field(text256, "Previous sender", filters=[previousSenderFilter])
    replyToAddress = eim.field(text256, "Reply-to address", filters=[replyToAddressFilter])

    # Contains bit wise flags indicating state.
    # A state integer was chosen over individual
    # boolean fields as a means of decoupling
    # Chandler mail specific flag requirements from
    # EIM.

    messageState = eim.field(eim.IntType, "Message state", filters=[messageStateFilter])
コード例 #24
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ShareWebDAVMonolithicRecordSetConduitRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/webdavmonorsconduit/0"

    uuid = eim.key(ItemRecord.uuid)
コード例 #25
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ShareMonolithicRecordSetConduitRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/monorsconduit/0"

    uuid = eim.key(ItemRecord.uuid)
    etag = eim.field(text1024)
コード例 #26
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ShareCosmoConduitRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/cosmoconduit/0"

    uuid = eim.key(ItemRecord.uuid)
    morsecodepath = eim.field(text1024) # only if account is None
コード例 #27
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ShareHubAccountRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/hubaccount/0"

    uuid = eim.key(ItemRecord.uuid)
コード例 #28
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ShareResourceStateRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/resourcesharestate/0"

    uuid = eim.key(ItemRecord.uuid)
    path = eim.field(text1024)
    etag = eim.field(text1024)
コード例 #29
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ShareWebDAVAccountRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/webdavaccount/0"

    uuid = eim.key(ItemRecord.uuid)
コード例 #30
0
ファイル: legacy_model.py プロジェクト: ra2003/chandler2
class ShareSharedInRecord(eim.Record):
    URI = "http://osafoundation.org/eim/sharing/sharedin/0"

    item = eim.key(UUID)
    share = eim.key(UUID)