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

[mhc:02222] Re: patch for mhc2ol.in



野口です。

添付ファイルの指定ミスで、前々回と同じものを付けておりました…。
申しわけありません。

--
NOGUCHI Yusuke <nogunogu@xxxxxxxxxxxxxxxxx>


From: NOGUCHI Yusuke <nogunogu@xxxxxxxxxxxxxxxxx>
Subject: [mhc:02221] Re: patch for mhc2ol.in
Date: Mon, 02 Oct 2006 19:53:34 +0900 (JST)

> 野口です。
> 
> 先程お送りした patch に誤りがありました。
> 再度提出いたします。
> 
> 度々申しわけありません。
> 
> -- 
> NOGUCHI Yusuke <nogunogu@xxxxxxxxxxxxxxxxx>
> 
> 
> 
> From: NOGUCHI Yusuke <nogunogu@xxxxxxxxxxxxxxxxx>
> Subject: [mhc:02220] patch for mhc2ol.in
> Date: Mon, 02 Oct 2006 18:05:55 +0900 (JST)
> 
> > 野口です。
> > 
> > 以前こちらでアドバイスをいただき、mhc でスケジュールの登録/削除を行
> > うと自動的に Outlook へ同期するように、以下の hook をしかけています。
> > 
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> > (add-hook 'mhc-draft-finish-hook
> > 	    (lambda ()
> > 	        (shell-command "/usr/bin/ruby /usr/bin/mhc2ol -N -H &")))
> > (add-hook 'mhc-delete-file-hook
> > 	    (lambda ()
> > 	        (shell-command "/usr/bin/ruby /usr/bin/mhc2ol -N -H &")))
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> > 
> > 現行の mhc2ol を実行すると、すでに過去3ヶ月分の完了したスケジュール
> > (Outlook 側の操作で、アラーム解除済み)が上書きされて、「過去のアラーム」
> > がどばっと出てきてしまうという問題があります。
> > 
> > そこで、mhc2ol でに以下の変更を加えてみました。
> > 
> > "-A" オプションを新設しました。
> > "-A"をつけると
> >    mhc2ol で Export する際に「過去分のスケジュール」については「アラーム設
> >    定(X-SC-Alarm: )」を無効にして Export する。
> > という動作になります。(オプションを指定しなければ、従来通りの動作)
> > 
> > 以上、ご検討いただければ幸いです。
> > -- 
> > NOGUCHI Yusuke <nogunogu@xxxxxxxxxxxxxxxxx>
> > 
> > 
> > 
*** mhc2ol.in.org	Mon May  2 07:55:08 2005
--- mhc2ol.in	Mon Oct  2 19:47:09 2006
***************
*** 65,70 ****
--- 65,78 ----
        [@stime, @etime]
      end
  
+     def get_sdatetime
+       Time .local(@sdate. y, @sdate. m, @sdate .d, @stime .hh, @stime .mm)
+     end
+ 
+     def get_edatetime
+       Time .local(@edate. y, @edate. m, @edate .d, @etime .hh, @etime .mm)
+     end
+ 
      def handle_recurrence(ol_appoint)
      end
  
***************
*** 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.
  
--- 191,197 ----
  
  def usage
    print '
! usage: mhc2ol [-a | -i | -d | -N] [-A] [-H] [-n] [-s] [-m] [-r dir] [-c category] [YYYYMMDD-yyyymmdd]
  
    mhc2ol -- Add/Copy mhc articles to Outlook.
  
***************
*** 205,210 ****
--- 213,219 ----
               ~/Mail/schedule
      -c     : Copy only the mhc articles of which the category
               matches the specified regexp.
+     -A     : Disable reminder if the mhc article already has been passed.
  
      YYYYMMDD-yyyymmdd : set a start and end date of scanning mhc.
                          if omitted, scan from 3 months ago to
***************
*** 341,346 ****
--- 350,356 ----
    @@flag_export_part = 'all' # 'all' || 'body_only'
    @@flag_noharm = false
    @@flag_timestamp = false
+   @@flag_disable_passed_sch = false
    @@mhc_category_name = 'MHC-sch'
    @@additional_category = false
  
***************
*** 475,482 ****
  
        # a reminder is valid for a future schedule.
        if sch .alarm() != nil then
! 	appoint .ReminderSet = true
! 	appoint .ReminderMinutesBeforeStart = sch .alarm() / 60
        else
  	appoint .ReminderSet = false
        end
--- 485,496 ----
  
        # a reminder is valid for a future schedule.
        if sch .alarm() != nil then
! 	if period .get_sdatetime < Time .now && $flag_disable_passed_sch
! 	  appoint .ReminderSet = false
! 	else
! 	  appoint .ReminderSet = true
! 	  appoint .ReminderMinutesBeforeStart = sch .alarm() / 60
! 	end
        else
  	appoint .ReminderSet = false
        end
***************
*** 752,757 ****
--- 766,775 ----
      @@flag_additional_category = flag
    end
  
+   def Exporter.set_flag_disable_passed_sch(flag)
+     @@set_flag_disable_passed_sch = flag
+   end
+ 
    def Exporter.to_ol_date(date)
      format("%4d/%02d/%02d", date .y(), date .m(), date .d()) if date
    end
***************
*** 775,780 ****
--- 793,799 ----
  $flag_separation = false
  $flag_discreet = false
  $flag_additional_category = false
+ $flag_disable_passed_sch = false
  
  while ARGV .length > 0
    case ARGV[0]
***************
*** 804,809 ****
--- 823,830 ----
      $flag_separation = true
    when '-m'
      $flag_additional_category = true
+   when '-A'
+     $flag_disable_passed_sch = true
    else
      usage()
    end
***************
*** 850,855 ****
--- 871,877 ----
  Exporter .set_flag_noharm($flag_noharm)
  Exporter .set_flag_timestamp($flag_timestamp)
  Exporter .set_flag_additional_category($flag_additional_category)
+ Exporter .set_flag_disable_passed_sch($flag_disable_passed_sch)
  exporter = Exporter .new(mdb, outlook)
  exporter .set_category_regexp($flag_category_regexp)
  exporter .delete_ol_schedules()