PageRenderTime 52ms CodeModel.GetById 34ms RepoModel.GetById 0ms app.codeStats 0ms

/linux/config.lua

http://ibus-sogoupycc.googlecode.com/
Lua | 83 lines | 75 code | 3 blank | 5 comment | 1 complexity | c90d3e8b24edc1b31bd2e015c4ef721d MD5 | raw file
Possible License(s): GPL-2.0
  1. -- ibus-sogoupycc ???? (Lua ????)
  2. -- ??????? http://code.google.com/p/ibus-sogoupycc/wiki/Configuration
  3. -- ?? luasocket ??
  4. http, url = require('socket.http'), require('socket.url')
  5. assert(ime.set_double_pinyin_scheme{
  6. -- ????? (???????? http://code.google.com/p/ibus-sogoupycc/wiki/Configuration)
  7. q = {"q", {"iu"}}, w = {"w", {"ia", "ua"}}, e = {"-", {"e"}}, r = {"r", {"uan", "er"}}, t = {"t", {"ve", "ue"}}, y = {"y", {"uai", "ing"}}, u = {"sh", {"u"}}, i = {"ch", {"i"}}, o = {"", {"o", "uo"}}, p = {"p", {"un"}},
  8. a = {"-", {"a"}}, s = {"s", {"ong", "iong"}}, d = {"d", {"uang", "iang"}}, f = {"f", {"en"}}, g = {"g", {"eng"}}, h = {"h", {"ang"}}, j = {"j", {"an"}}, k = {"k", {"ao"}}, l = {"l", {"ai"}},
  9. z = {"z", {"ei"}}, x = {"x", {"ie"}}, c = {"c", {"iao"}}, v = {"zh", {"ui", "v"}}, b = {"b", {"ou"}}, n = {"n", {"in"}}, m = {"m", {"ian"}},
  10. } == 0)
  11. -- ??????
  12. ime.full_pinyin_adjustments = {
  13. ["ang ang"] ="an'gang", ["ang e"] ="an'ge", ["ban a"] ="ba'na",
  14. ["bang e"] ="ban'ge", ["beng ai"] ="ben'gai", ["bin an"] ="bi'nan", ["chan a"] ="cha'na",
  15. ["chen ei"] ="che'nei", ["cheng ang"] ="chen'gang", ["chuang an"] ="chuan'gan", ["chuang ei"] ="chuan'gei", ["chun a"] ="chu'na", ["chun an"] ="chu'nan", ["dan ai"] ="da'nai",
  16. ["dan ao"] ="da'nao", ["dan eng"] ="da'neng", ["dang ai"] ="dan'gai", ["dang ang"] ="dan'gang", ["dang ao"] ="dan'gao", ["dang e"] ="dan'ge", ["dun ang"] ="du'nang", ["er an"] ="e'ran",
  17. ["er en"] ="e'ren", ["fang ao"] ="fan'gao",
  18. ["feng e"] ="fen'ge", ["feng ei"] ="fen'gei", ["gang a"] ="gan'ga",
  19. ["gang an"] ="gan'gan", ["gua o"] ="gu'ao", ["guang ai"] ="guan'gai", ["hang ai"] ="han'gai",
  20. ["hen an"] ="he'nan", ["hen ei"] ="he'nei", ["hen eng"] ="he'neng", ["heng ao"] ="hen'gao", ["huan a"] ="hua'na", ["huan an"] ="hua'nan", ["huan eng"] ="hua'neng", ["huang e"] ="huan'ge", ["huang ei"] ="huan'gei", ["hun ao"] ="hu'nao", ["jian a"] ="jia'na",
  21. ["jian eng"] ="jia'neng", ["jiang e"] ="jian'ge", ["jiang ou"] ="jian'gou", ["jin an"] ="ji'nan", ["jin eng"] ="ji'neng", ["jing ang"] ="jin'gang", ["jing en"] ="jin'gen", ["kang e"] ="kan'ge",
  22. ["ken a"] ="ke'na", ["ken an"] ="ke'nan", ["ken eng"] ="ke'neng", ["kun an"] ="ku'nan", ["kun ao"] ="ku'nao", ["lang an"] ="lan'gan",
  23. ["liang ang"] ="lian'gang", ["liang e"] ="lian'ge", ["lin a"] ="li'na", ["ling ang"] ="lin'gang", ["lun ei"] ="lu'nei", ["lun eng"] ="lu'neng", ["man ao"] ="ma'nao",
  24. ["nan a"] ="na'na",
  25. ["nan e"] ="na'ne", ["nan eng"] ="na'neng", ["nang ao"] ="nan'gao", ["niang ao"] ="nian'gao", ["nin an"] ="ni'nan", ["nin eng"] ="ni'neng", ["pang ang"] ="pan'gang",
  26. ["ping e"] ="pin'ge", ["qin ang"] ="qi'nang",
  27. ["qin ei"] ="qi'nei", ["qin eng"] ="qi'neng", ["qun a"] ="qu'na", ["qun ei"] ="qu'nei", ["ren ao"] ="re'nao",
  28. ["ren eng"] ="re'neng", ["reng an"] ="ren'gan", ["reng e"] ="ren'ge", ["reng ou"] ="ren'gou", ["run ei"] ="ru'nei", ["run eng"] ="ru'neng", ["sang e"] ="san'ge",
  29. ["sang en"] ="san'gen", ["sang eng"] ="san'geng", ["shang ao"] ="shan'gao", ["shang e"] ="shan'ge", ["shang ou"] ="shan'gou", ["sheng an"] ="shen'gan", ["sheng ang"] ="shen'gang", ["sheng ao"] ="shen'gao", ["sheng ou"] ="shen'gou", ["sun an"] ="su'nan", ["tang e"] ="tan'ge",
  30. ["wang e"] ="wan'ge",
  31. ["weng ao"] ="wen'gao", ["weng e"] ="wen'ge", ["xiang ei"] ="xian'gei",
  32. ["xin a"] ="xi'na", ["xin ao"] ="xi'nao", ["xin en"] ="xi'nen", ["xing an"] ="xin'gan", ["xing ang"] ="xin'gang", ["xing ao"] ="xin'gao", ["xing e"] ="xin'ge", ["yang ai"] ="yan'gai",
  33. ["yang e"] ="yan'ge", ["yin ei"] ="yi'nei", ["yin eng"] ="yi'neng", ["yun an"] ="yu'nan", ["zang e"] ="zan'ge",
  34. ["zen an"] ="ze'nan", ["zen eng"] ="ze'neng", ["zhang ang"] ="zhan'gang", ["zhang e"] ="zhan'ge", ["zhen e"] ="zhe'ne", ["zheng e"] ="zhen'ge", ["zheng ou"] ="zhen'gou", ["zhuang ao"] ="zhuan'gao", ["zhuang ei"] ="zhuan'gei", ["zun ao"] ="zu'nao",
  35. }
  36. -- ??????????????
  37. local user_fetcher = ime.USERCACHEDIR..'/fetcher'
  38. local file = io.open(user_fetcher, 'r')
  39. if file then file:close() ime.fetcher_path = user_fetcher end
  40. -- ??????????????
  41. local user_config = ime.USERCONFIGDIR..'/config.lua'
  42. local file = io.open(user_config, 'r')
  43. if file then file:close() dofile(user_config) ime.apply_settings() end
  44. -- ?? ime.PKGDATADIR .. '/db' ? ime.USERDATADIR .. '/db' ??? .db ??
  45. if not do_not_load_database then
  46. local dbs, db = io.popen('ls ' .. ime.PKGDATADIR .. '/db/*.db ' .. ime.USERDATADIR .. '/db/*.db')
  47. repeat db = dbs:read('*line') if (db) then ime.load_database(db, 1) end until not db
  48. dbs:close()
  49. end
  50. -- ???? fetcher ??
  51. if not do_not_update_fetcher then
  52. os.execute("mkdir '"..ime.USERCACHEDIR.."' -p")
  53. http.TIMEOUT = 5
  54. local ret, c = http.request('http://ibus-sogoupycc.googlecode.com/svn/trunk/linux/fetcher')
  55. if c == 200 and ret and ret:match('ibus%-sogoupycc%-fetcher%-end') then
  56. local fetcher_file = io.open(user_fetcher, 'w')
  57. fetcher_file:write(ret)
  58. fetcher_file:close()
  59. os.execute("chmod +x '"..user_fetcher.."'")
  60. ime.fetcher_path = user_fetcher
  61. end
  62. end
  63. -- ?????????
  64. if not do_not_load_remote_script then
  65. http.TIMEOUT = 5
  66. os.execute("mkdir '"..ime.USERCACHEDIR.."' -p")
  67. local autoload_file_path = ime.USERCACHEDIR..'/autoload.lua'
  68. local ret, c = http.request('http://ibus-sogoupycc.googlecode.com/svn/trunk/startup/autoload.lua')
  69. if c == 200 and ret and ret:match('ibus%-sogoupycc%-autoload%-end') then
  70. local autoload_file = io.open(autoload_file_path, 'w')
  71. autoload_file:write(ret)
  72. autoload_file:close()
  73. end
  74. local file = io.open(autoload_file_path, 'r')
  75. if file then file:close() dofile(autoload_file_path) end
  76. end