lib/jldrill/model/Config.rb in jldrill-0.5.1.7 vs lib/jldrill/model/Config.rb in jldrill-0.6.0.1
- old
+ new
@@ -1,6 +1,8 @@
+# encoding: utf-8
require 'rubygems'
+require 'jldrill/model/LoadPath'
module JLDrill
# Configuration data for JLDrill. This is how JLDrill knows where
# to find it's data.
module Config
@@ -10,28 +12,57 @@
# In a source repository, this gives the top level directory
# If the source has been installed by a package, then who knows
# where this is...
def Config::repositoryDir
- File.expand_path(File.join(Config::configSrcDir, "../../.."))
+ File.expand_path(File.join(Config::configSrcDir,
+ File.join("..","..","..")))
end
def Config::getDataDir
if !Gem::datadir("jldrill").nil?
# Use the data directory in the Gem if it is available
File.expand_path(Gem::datadir("jldrill"))
else
# Otherwise hope we are in a source repository and
# can find the data dir in the usual spot
- File.join(repositoryDir, "data/jldrill")
+ File.join(repositoryDir, "data","jldrill")
end
end
-
+
+ PERSONAL_DATA_DIR = File.expand_path(File.join("~",".jldrill"))
+ REPO_DATA_DIR = File.join(Config::repositoryDir, "data","jldrill")
+ if !Gem::datadir("jldrill").nil?
+ GEM_DATA_DIR = File.expand_path(Gem::datadir("jldrill"))
+ else
+ GEM_DATA_DIR = nil
+ end
+ DEBIAN_DATA_DIR = File.join("/","usr","share","jldrill")
+ DEBIAN_EDICT_DIR = File.join("/","usr","share","edict")
+
+ def Config::resolveDataFile(filename)
+ retVal = nil
+ loadPath = LoadPath.new
+ loadPath.add(PERSONAL_DATA_DIR)
+ loadPath.add(REPO_DATA_DIR)
+ loadPath.add(GEM_DATA_DIR)
+ loadPath.add(DEBIAN_DATA_DIR)
+ loadPath.add(DEBIAN_EDICT_DIR)
+ return loadPath.find(filename)
+ end
+
DATA_DIR = getDataDir
- DICTIONARY_DIR = File.join(DATA_DIR, "dict")
- DICTIONARY_NAME = "edict"
- TANAKA_DIR = File.join(DATA_DIR, "Tanaka")
- TANAKA_NAME = "examples.utf"
- DEINFLECTION_DIR = File.join(DATA_DIR, "dict/rikaichan")
- DEINFLECTION_NAME = "deinflect.dat"
+ QUIZ_DIR = "quiz"
+ SVG_ICON_FILE = "jldrill-icon.svg"
+ PNG_ICON_FILE = "jldrill-icon.png"
+ DICTIONARY_DIR = "dict"
+ DICTIONARY_FILE = "edict"
+ KANJI_FILE = File.join("dict","rikaichan","kanji.dat")
+ RADICAL_FILE = File.join("dict","rikaichan","radicals.dat")
+ KANA_FILE = File.join("dict","Kana","kana.dat")
+ TANAKA_FILE = File.join("Tanaka","examples.utf")
+ TATOEBA_SENTENCE_FILE = File.join("Tatoeba", "sentences.csv")
+ TATOEBA_LINKS_FILE = File.join("Tatoeba", "links.csv")
+ TATOEBA_JAPANESE_FILE = File.join("Tatoeba", "jpn_indices.csv")
+ DEINFLECTION_FILE = File.join("dict","rikaichan","deinflect.dat")
end
end