Re: How go get mailbox path top down instead of bottom up?
Re: How go get mailbox path top down instead of bottom up?
- Subject: Re: How go get mailbox path top down instead of bottom up?
- From: Robert Nicholson <email@hidden>
- Date: Wed, 21 Dec 2011 20:48:39 -0600
Apologies in my haste to ask a question I forgot to Thank you and Brian for contributing solutions. It made it a lot clearer to me so thanks.
On Dec 21, 2011, at 7:22 AM, Axel Luttgens wrote:
> Le 21 déc. 2011 à 05:41, Robert Nicholson a écrit :
>
>> Are there any examples of traversing the Mailboxes top down instead of bottom up?
>>
>> ie.
>>
>> you have mailboxes at any level 2011.mbox and you want to create a 2012.mbox under the same parent folder.
>
> Hello Robert,
>
> I'll assume you are considering local mailboxes, the ones appearing under the "On my mac" heading.
> Those mailboxes are available thru Mail's "mailboxes" property.
>
> Instead of traversing the mailbox hierarchy, I would be tempted to let Mail do the hard work:
>
> mailboxes whose name is "2011"
>
> Now comes a small problem (glitch?) with Mail: getting the name of a mailbox provides its "short name", while the creation of a local mailbox requires a "full name", a path-like name.
> Hence the helper handler "MboxFullName()"; it is defined as a recursive function, since it shouldn't be called too many times, nor encounter terribly deep hierarchies.
>
>
> on MboxFullName(Mbox)
> tell application "Mail"
> if name of container of Mbox is missing value then return name of Mbox
> return my MboxFullName(container of Mbox) & "/" & name of Mbox
> end tell
> end MboxFullName
>
> on CreatePeerMBoxes(MBoxName, NewMBoxName)
> local Mbox, Ctnr
> tell application "Mail"
> repeat with Mbox in (get mailboxes whose name is MBoxName)
> set Ctnr to container of Mbox
> if not (exists mailbox NewMBoxName of Ctnr) then
> make new mailbox with properties {name:my MboxFullName(Ctnr) & "/" & NewMBoxName}
> end if
> end repeat
> end tell
> end CreateMBoxesAtSameLevel
>
> CreatePeerMBoxes("2011", "2012")
>
>
> Probably better to test beforehand, with following statement:
>
> log (my MboxFullName(Ctnr) & "/" & NewMBoxName)
>
> instead of "make new mailbox with...". ;-)
>
>
> HTH,
> Axel
>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> AppleScript-Users mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
> Archives: http://lists.apple.com/archives/applescript-users
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
AppleScript-Users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
Archives: http://lists.apple.com/archives/applescript-users
This email sent to email@hidden