[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mhc:02103] patch (mhc2ol.in, ruby-ext/lib/mhc-schedule.rb)



野口です。

最近、iPAQ が私のところに降ってきたので、
  mhc -(mhc2ol)-> Outlook -> iPAQ
で、スケジュールの同期をしています。

mhc -(mhc2ol)-> Outlook の転送自体では特に問題はないのですが、iPAQのよ
うに画面が狭い場合では、「本文」が表示されるまでかなりの行をスクロール
させる必要があり、少々不便に感じました。

そこで、添付のような手を入れてみました。
'-H' スイッチを指定して実行すると、メールの body 部のみを転送します。

とある IRC でちょっと話をした際「ヘッダのメールアドレス関係(To:, Cc:,
From:, Reply-To:, etc.)が消えると連絡先がわからなくなって困らない?」
というコメントをいただいていましたが、
個人的都合では

  iPAQ -> iPAQ からメールを出すような使いかたをしていない。
          メールアドレスなんかは「連絡先」に入れておけばよい
  Outlook -> どうせ同じPC上で、mhc(Meadow)をうごかしているので、そっち
             を見ればOK

ということで、手を抜きました。

以上、ご検討いただければ幸いです。
-- 
NOGUCHI Yusuke <nogunogu@xxxxxxxxxxxxxxxxx>


*** mhc2ol.in.org0	Wed Oct 29 21:48:14 2003
--- mhc2ol.in	Sat Apr 23 20:01:15 2005
***************
*** 183,189 ****
  
  def usage
    print '
! usage: mhc2ol [-a | -i | -d | -N] [-n] [-s] [-m] [-r dir] [-c category] [YYYYMMDD-yyyymmdd]
  
    mhc2ol -- Add/Copy mhc articles to Outlook.
  
--- 183,189 ----
  
  def usage
    print '
! usage: mhc2ol [[-a | -i | -d | -N] [-H]] [-n] [-s] [-m] [-r dir] [-c category] [YYYYMMDD-yyyymmdd]
  
    mhc2ol -- Add/Copy mhc articles to Outlook.
  
***************
*** 197,202 ****
--- 197,203 ----
               will be lost.
      -N     : Copy only the articles that have been modified since
               the last execution.
+     -H     : Add/Copy mhc articles to Outlook without HEADER part.
      -n     : Do nothing effectives. Useful for checking.
      -s     : Split appointments and tasks.
      -m     : Append an additional category `MHC-sch\'.
***************
*** 330,335 ****
--- 331,337 ----
    @@sync_file = File .expand_path("~/Mail/schedule/.ol_sync")
    @@flag_verbose = false
    @@flag_install = false
+   @@flag_export_part = 'all' # 'all' || 'body_only'
    @@flag_noharm = false
    @@flag_timestamp = false
    @@mhc_category_name = 'MHC-sch'
***************
*** 457,464 ****
  	cat_string = @@mhc_category_name + "," + cat_string
        end
        appoint .Categories = cat_string
!       appoint .Body = MhcKconv::todisp(sch .dump())
! 
        # a reminder is valid for a future schedule.
        if sch .alarm() != nil then
  	appoint .ReminderSet = true
--- 459,470 ----
  	cat_string = @@mhc_category_name + "," + cat_string
        end
        appoint .Categories = cat_string
!       case $flag_export_part
!       when 'all'
! 	appoint .Body = MhcKconv::todisp(sch .dump())
!       when 'body_only'
! 	appoint .Body = MhcKconv::todisp(sch .dump_without_header())	
!       end
        # a reminder is valid for a future schedule.
        if sch .alarm() != nil then
  	appoint .ReminderSet = true
***************
*** 480,486 ****
  	cat_string = @@mhc_category_name + "," + cat_string
        end
        appoint .Categories = cat_string
!       appoint .Body = MhcKconv::todisp(sch .dump())
        appoint .Save() if !$flag_separation  || !todo_p
  
        # Copy TODO
--- 486,497 ----
  	cat_string = @@mhc_category_name + "," + cat_string
        end
        appoint .Categories = cat_string
!       case $flag_export_part
!       when 'all'
! 	appoint .Body = MhcKconv::todisp(sch .dump())
!       when 'body_only'
! 	appoint .Body = MhcKconv::todisp(sch .dump_without_header())	
!       end
        appoint .Save() if !$flag_separation  || !todo_p
  
        # Copy TODO
***************
*** 716,721 ****
--- 727,736 ----
    def Exporter.set_flag_discreet(flag)
      @@flag_discreet = flag
    end
+   
+   def Exporter.set_flag_export_part(flag)
+     @@flag_export_part = flag
+   end
  
    def Exporter.set_flag_noharm(flag)
      @@flag_noharm = flag
***************
*** 744,749 ****
--- 759,765 ----
  
  $flag_verbose = false
  $flag_noharm, $flag_append, $flag_install = false, false, false
+ $flag_export_part = 'all' # 'all' || 'body_only'
  $flag_from, $flag_to = nil, nil
  $flag_timestamp = nil
  $flag_category_regexp = Regexp .new("")
***************
*** 762,767 ****
--- 778,789 ----
      $flag_install = true
    when '-d'
      $flag_discreet = true
+   when '-H' 
+     if ($flag_noharm == true || $flag_append == true || $flag_install == true)
+       $flag_export_part = 'body_only'
+     else
+       usage()
+     end
    when '-n'
      $flag_noharm  = true
    when '-r'
***************
*** 819,824 ****
--- 841,847 ----
  Exporter .set_sync_filename($flag_dir + "/.ol_sync")
  Exporter .set_flag_verbose($flag_verbose)
  Exporter .set_flag_install($flag_install)
+ Exporter .set_flag_export_part($flag_export_part)
  Exporter .set_flag_discreet($flag_discreet)
  Exporter .set_flag_noharm($flag_noharm)
  Exporter .set_flag_timestamp($flag_timestamp)
*** ruby-ext/lib/mhc-schedule.rb.org0	Mon Oct 25 11:28:57 2004
--- ruby-ext/lib/mhc-schedule.rb	Sat Apr 23 19:52:11 2005
***************
*** 461,466 ****
--- 461,473 ----
      return hdrs + (desc != '' ? "\n" : '') + desc
    end
  
+   def dump_without_header
+     desc = description .to_s
+     desc += "\n" if desc != '' and desc !~ /\n\z/n
+ 
+     return desc
+   end
+ 
    def dump
      hdrs = non_xsc_header .to_s .sub(/\n+\z/n, '')
      hdrs += "\n" if hdrs != ''