Created
September 8, 2014 19:32
-
-
Save sirtimbly/57bb6fce2a861628e007 to your computer and use it in GitHub Desktop.
mail to taskpaper text file
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Quite a lot modified to input text into a plain text file like used by taskpaper. Originally based somewhere back in time on Efficient Computing's AppleScript: http://efficientcomputing.commons.gc.cuny.edu/2012/03/17/copy-email-message-in-mail-app-to-evernote-applescript/ | |
tell application "Mail" | |
--get selected messages | |
set theSelection to selection | |
--loop through all selected messages | |
repeat with theMessage in theSelection | |
--get information from message | |
set theMessageDate to the date received of theMessage | |
set theMessageSender to sender of theMessage | |
set theMessageSubject to the subject of the theMessage | |
set theMessageContent to the content of theMessage | |
set theMessageURL to "message://%3c" & theMessage's message id & "%3e" | |
--make a short header | |
set theHeader to the all headers of theMessage | |
set theShortHeader to (paragraph 1 of theHeader & return & paragraph 2 of theHeader & return & paragraph 3 of theHeader & return & paragraph 4 of theHeader & return & return) | |
--import message to text file | |
my WriteLog("- resolve: " & theMessageSubject & " from " & (word 1 of theMessageSender) & " " & (character 1 of word 2 of theMessageSender) & ".") | |
end repeat | |
end tell | |
on WriteLog(the_text) | |
set this_story to the_text | |
--set this_file to (((path to desktop folder) as text) & "test.txt") | |
set this_file to (POSIX file "/Users/tbendt/Dropbox/_Tim/Projects/projects.TODO.taskpaper") | |
my prepend_to_file(this_story, this_file) | |
end WriteLog | |
on prepend_to_file(this_data, target_file) -- (string, file path as string, boolean) | |
try | |
--set the target_file to the target_file as text | |
open for access target_file | |
set fileContents to (read target_file from 7 to eof) | |
close access target_file | |
set the open_target_file to ¬ | |
open for access file target_file with write permission | |
set newInboxData to "Inbox:" & return & this_data | |
--set fileContent to searchAndReplace(fileContents, "Inbox:", newInboxData) | |
--write fileContents to the open_target_file starting at 0 | |
write newInboxData & fileContents to the open_target_file starting at 0 | |
close access the open_target_file | |
return true | |
on error | |
try | |
close access file target_file | |
end try | |
return false | |
end try | |
end prepend_to_file |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment