vmail 1.2.5 → 1.2.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -410,35 +410,37 @@ navigate the search query history. `<C-f>` opens a mini-editor that contains
410
410
  the current query plus a history of previous vmail search queries. You can edit
411
411
  any line in this mini-editor and press ENTER to perform the query on that line.
412
412
 
413
- ## Command line mode and batch processing
413
+ ## Command-line mode and batch processing
414
414
 
415
- You can invoke vmail in non-interactive mode to perform batch
416
- processing.
415
+ You can invoke vmail in non-interactive command-line mode. This is very
416
+ useful for batch processing and for using vmail in Unix pipelines and
417
+ automated scripts.
417
418
 
418
- If you redirect vmail's output from STDOUT to a file, vmail will output
419
- the message list resulting from a search query to a file.
419
+ If you redirect vmail's output from STDOUT to a file or a program, vmail will
420
+ output the message list resulting from a search query to a file.
420
421
 
421
- vmail inbox 100 from monit > monit-emails.txt
422
+ vmail inbox 100 from monit > message-list.txt
422
423
 
423
424
  You can open this file in any text editor to make sure that the search
424
425
  query produced the expected result. Then you can perform the following
425
426
  batch operations on the message list:
426
427
 
427
428
  # deletes all the messages in the message list
428
- vmail rm < monit-emails.txt
429
+ vmail rm < message-list.txt
429
430
 
430
431
  # marks all the messages in the message list as spam
431
- vmail spam < monit-emails.txt
432
+ vmail spam < message-list.txt
432
433
 
433
434
  # moves all the messages in the message list to the 'monit' mailbox
434
- vmail mv monit < monit-emails.txt
435
+ vmail mv monit < message-list.txt
435
436
 
436
437
  # copies all the messages in the message list to the 'monit' mailbox
437
- vmail cp monit < monit-emails.txt
438
+ vmail cp monit < message-list.txt
438
439
 
439
- # prints all the messages in the message list to 'monit.txt'
440
- vmail print monit.txt < monit-emails.txt
440
+ # appends the text content of all the messages in the message list to messages.txt
441
+ vmail print messages.txt < message-list.txt
441
442
 
443
+ Non-interactive mode assumes that `.vmailrc` contains your Gmail password.
442
444
 
443
445
  ## Getting help
444
446
 
@@ -525,6 +527,12 @@ A big shout out goes to my funny, smart, and supportive fellow hacker alums of
525
527
 
526
528
  [betahouse]:http://betahouse.org/
527
529
 
528
-
529
530
  [twitter]:http://twitter.com/#!/danchoi
530
531
 
532
+ ## Help wanted: screencaster
533
+
534
+ The vmail project needs someone to make a good screencast introduction to
535
+ vmail. (I'm very bad at making screencasts.) Please let me know once you've
536
+ posted it somewhere so I can link to it. Feel free to put a plug in the
537
+ screencast for your own company or blog.
538
+
@@ -274,7 +274,8 @@ module Vmail
274
274
  FLAGMAP = {:Flagged => '*'}
275
275
  # flags is an array like [:Flagged, :Seen]
276
276
  def format_flags(flags)
277
- flags = flags.map {|flag| FLAGMAP[flag] || flag}
277
+ # other flags like "Old" should be hidden here
278
+ flags = flags.map {|flag| FLAGMAP[flag]}
278
279
  if flags.delete(:Seen).nil?
279
280
  flags << '+' # unread
280
281
  end
@@ -448,17 +449,18 @@ module Vmail
448
449
  end
449
450
  # USE THIS
450
451
  size = fetch_data.attr["RFC822.SIZE"]
452
+ flags = fetch_data.attr["FLAGS"]
451
453
  mail = Mail.new(fetch_data.attr['RFC822'])
452
454
  formatter = Vmail::MessageFormatter.new(mail)
453
455
  message_text = <<-EOF
454
- #{@mailbox} uid:#{uid} #{number_to_human_size size} #{format_parts_info(formatter.list_parts)}
456
+ #{@mailbox} uid:#{uid} #{number_to_human_size size} #{flags.inspect} #{format_parts_info(formatter.list_parts)}
455
457
  #{divider '-'}
456
458
  #{format_headers(formatter.extract_headers)}
457
459
 
458
460
  #{formatter.process_body}
459
461
  EOF
460
462
  # log "storing message_cache[[#{@mailbox}, #{uid}]]"
461
- d = {:mail => mail, :size => size, :message_text => message_text, :seqno => fetch_data.seqno}
463
+ d = {:mail => mail, :size => size, :message_text => message_text, :seqno => fetch_data.seqno, :flags => flags}
462
464
  message_cache[[@mailbox, uid]] = d
463
465
  rescue
464
466
  msg = "Error encountered parsing message uid #{uid}:\n#{$!}\n#{$!.backtrace.join("\n")}" +
@@ -1,3 +1,3 @@
1
1
  module Vmail
2
- VERSION = "1.2.5"
2
+ VERSION = "1.2.6"
3
3
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 2
8
- - 5
9
- version: 1.2.5
8
+ - 6
9
+ version: 1.2.6
10
10
  platform: ruby
11
11
  authors:
12
12
  - Daniel Choi
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-01-09 00:00:00 -05:00
17
+ date: 2011-01-10 00:00:00 -05:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency