]> git.notmuchmail.org Git - sup/blobdiff - lib/sup.rb
added maildir support (finally!)
[sup] / lib / sup.rb
index c9a1cb4a485d56b302bcfe4fd6ac05be99213c4b..76b435dfe9623e78d86b7ea4c593530ee734066a 100644 (file)
@@ -13,13 +13,13 @@ class Object
 end
 
 module Redwood
-  VERSION = "0.0.2"
+  VERSION = "0.0.7"
 
-  BASE_DIR   = File.join(ENV["HOME"], ".sup")
+  BASE_DIR   = ENV["SUP_BASE"] || File.join(ENV["HOME"], ".sup")
   CONFIG_FN  = File.join(BASE_DIR, "config.yaml")
   SOURCE_FN  = File.join(BASE_DIR, "sources.yaml")
   LABEL_FN   = File.join(BASE_DIR, "labels.txt")
-  PERSON_FN   = File.join(BASE_DIR, "people.txt")
+  PERSON_FN  = File.join(BASE_DIR, "people.txt")
   CONTACT_FN = File.join(BASE_DIR, "contacts.txt")
   DRAFT_DIR  = File.join(BASE_DIR, "drafts")
   SENT_FN    = File.join(BASE_DIR, "sent.mbox")
@@ -27,6 +27,24 @@ module Redwood
   YAML_DOMAIN = "masanjin.net"
   YAML_DATE = "2006-10-01"
 
+## record exceptions thrown in threads nicely
+  $exception = nil
+  def reporting_thread
+    ::Thread.new do
+      begin
+        yield
+      rescue Exception => e
+        File.open("sup-exception-log.txt", "w") do |f|
+          f.puts "--- #{e.class.name} at #{Time.now}"
+          f.puts e.message, e.backtrace
+        end
+        $exception ||= e
+        raise
+      end
+    end
+  end
+  module_function :reporting_thread
+
 ## one-stop shop for yamliciousness
   def register_yaml klass, props
     vars = props.map { |p| "@#{p}" }
@@ -91,7 +109,7 @@ else
         :email => "your.email.here@domain.tld",
         :alternates => [],
         :sendmail => "/usr/sbin/sendmail -oem -ti",
-        :sig_file => File.join(ENV["HOME"], ".signature")
+        :signature => File.join(ENV["HOME"], ".signature")
       }
     },
     :editor => ENV["EDITOR"] || "/usr/bin/vi",
@@ -109,6 +127,7 @@ require "sup/update"
 require "sup/message"
 require "sup/source"
 require "sup/mbox"
+require "sup/maildir"
 require "sup/imap"
 require "sup/person"
 require "sup/account"