TODO (1501B)
1 TODO 2 ---- 3 * use dmc-tag to 'replied' 'new' 'forwarded' 'partial' mails 4 * PULL METHOD: 5 * lsd ! cd - ; ls ! get 1 6 --- 7 * Make it more fail-fast (use exit, instead of free) 8 * Create a mail with attachments (dmc -m addr subject file1 file2 file3 ..) 9 * Attach file to given mail (not last one) 10 * Define a list of 'subscribed' folders for IMAP ~/.dmc/box/.folders ? 11 * Pull specific folder (dmc pull [folder]) 12 * getword() is implemented so MANY times.. MERGE! 13 * implement dmc-dmc to walk thru local dirs 14 15 * pull methods... 16 17 This topic requires some discussion to get a proper design. 18 19 Each fetch backend (imap4, pop3, mdir, ..) needs to implement their own 20 syncronization mechanism. This decision simplifies the work to translate 21 internal messages, open doors for per-protocol optimizations. 22 23 The sync depends on some options: 24 25 - direction: are we going to push local changes to server? 26 or just fetch the new messages? 27 - read/unread messages: we should sync this flag too 28 it is not yet defined in dmc 29 - delete messages from server? 30 - limit number of messages to fetch? (we must remove old messages) dmclimit()? 31 32 status of messages: 33 - read/unread/forwarded 34 35 Sync algorithm should look like this: 36 37 fetchdir ("~/.dmc/box/foo/in/") 38 39 fetchdir(dirpath) { 40 dir = opendir (dirpath) 41 42 - fetch last message <---. 43 - check last message in inbox | 44 - repeat until match or limit -' 45 46 foreach (file in dir) { 47 if (isdir (file)) { 48 fetchdir(dir+file); 49 } 50 } 51 }