]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/commitdiff
* use Util.safe_save in alias plugin
authorYaohan Chen <yaohan.chen@gmail.com>
Tue, 7 Aug 2007 20:42:22 +0000 (20:42 +0000)
committerYaohan Chen <yaohan.chen@gmail.com>
Tue, 7 Aug 2007 20:42:22 +0000 (20:42 +0000)
* handle corrupt data file in alias plugin

data/rbot/plugins/alias.rb
po/en_US/rbot.po
po/ja/rbot.po
po/rbot.pot
po/zh_CN/rbot.po
po/zh_TW/rbot.po

index 2fba9324f937d58b80a40565e0c27333983e971a..218754a6eefc887e3a2830f62b17239422578ad1 100644 (file)
@@ -43,9 +43,12 @@ class AliasPlugin < Plugin
     @data_path = "#{@bot.botclass}/alias/"
     @data_file = "#{@data_path}/aliases.yaml"
     # hash of alias => command entries
-    @aliases = if File.exist?(@data_file)
-                 YAML.load_file(@data_file)
+    @aliases = if File.exist?(@data_file) &&
+                  data = YAML.load_file(@data_file) &&
+                  data.respond_to?(:each_pair)
+                 data
                else
+                 warning _("Data file is not found or corrupt, reinitializing data")
                  Hash.new
                end
     @aliases.each_pair do |a, c|
@@ -60,7 +63,7 @@ class AliasPlugin < Plugin
 
   def save 
     Dir.mkdir(@data_path) unless File.exist?(@data_path)
-    File.open(@data_file, 'w') {|f| f.write @aliases.to_yaml}
+    Utils.safe_save(@data_file) {|f| f.write @aliases.to_yaml}
   end
 
   def cmd_add(m, params)
index 25301781335d0aa12b42f5b334b31e2059c1cefc..56d0e22ebd6676ed86ecc7e1d2b9ede19e96975f 100644 (file)
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: rbot\n"
-"POT-Creation-Date: 2007-08-01 00:47-0400\n"
+"POT-Creation-Date: 2007-08-07 16:41-0400\n"
 "PO-Revision-Date: 2007-07-14 00:06-0400\n"
 "Last-Translator: Yaohan Chen <yaohan.chen@gmail.com>\n"
 "Language-Team: English\n"
@@ -945,47 +945,51 @@ msgstr ""
 "dictclient databases => List databases; dictclient strategies => List "
 "strategies"
 
-#: data/rbot/plugins/alias.rb:55
+#: data/rbot/plugins/alias.rb:51
+msgid "Data file is not found or corrupt, reinitializing data"
+msgstr ""
+
+#: data/rbot/plugins/alias.rb:58
 msgid "Invalid alias entry %{alias} : %{command} in %{filename}: %{reason}"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:71
+#: data/rbot/plugins/alias.rb:74
 msgid "The definition you provided is invalid: %{reason}"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:82 data/rbot/plugins/alias.rb:99
+#: data/rbot/plugins/alias.rb:85 data/rbot/plugins/alias.rb:102
 msgid "No such alias is defined"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:88
+#: data/rbot/plugins/alias.rb:91
 msgid "No aliases defined"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:97
+#: data/rbot/plugins/alias.rb:100
 msgid "Alias of %{command}"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:109
+#: data/rbot/plugins/alias.rb:112
 msgid ""
 "The arguments in alias must match the substitutions in command, and vice "
 "versa"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:126
+#: data/rbot/plugins/alias.rb:129
 msgid ""
 "The alias seems to have caused infinite recursion. Please examine your alias "
 "definitions"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:142
+#: data/rbot/plugins/alias.rb:145
 msgid "Error handling the alias, the command is not defined"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:152
+#: data/rbot/plugins/alias.rb:155
 msgid "Create and use aliases for commands. Topics: create, commands"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:154
+#: data/rbot/plugins/alias.rb:157
 msgid ""
 "\"alias <text> => <command>\" => add text as an alias of command. Text can "
 "contain placeholders marked with : or * for :words and *multiword arguments. "
@@ -994,7 +998,7 @@ msgid ""
 "google site:linuxbrit.co.uk/rbot/ <terms>"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:156
+#: data/rbot/plugins/alias.rb:159
 msgid ""
 "alias list => list defined aliases | alias whatis <alias> => show definition "
 "of the alias | alias remove <alias> => remove defined alias | see the "
index 1ab53841f560b751b16d011138059df7422048d0..adbd5651ba010bee6fed8a44cb21630693d5d16b 100644 (file)
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: rbot\n"
-"POT-Creation-Date: 2007-08-01 00:47-0400\n"
+"POT-Creation-Date: 2007-08-07 16:41-0400\n"
 "PO-Revision-Date: 2007-07-09 01:36-0400\n"
 "Last-Translator: Yaohan Chen <yaohan.chen@gmail.com>\n"
 "Language-Team: Japanese\n"
@@ -829,47 +829,51 @@ msgid ""
 "strategies"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:55
+#: data/rbot/plugins/alias.rb:51
+msgid "Data file is not found or corrupt, reinitializing data"
+msgstr ""
+
+#: data/rbot/plugins/alias.rb:58
 msgid "Invalid alias entry %{alias} : %{command} in %{filename}: %{reason}"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:71
+#: data/rbot/plugins/alias.rb:74
 msgid "The definition you provided is invalid: %{reason}"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:82 data/rbot/plugins/alias.rb:99
+#: data/rbot/plugins/alias.rb:85 data/rbot/plugins/alias.rb:102
 msgid "No such alias is defined"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:88
+#: data/rbot/plugins/alias.rb:91
 msgid "No aliases defined"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:97
+#: data/rbot/plugins/alias.rb:100
 msgid "Alias of %{command}"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:109
+#: data/rbot/plugins/alias.rb:112
 msgid ""
 "The arguments in alias must match the substitutions in command, and vice "
 "versa"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:126
+#: data/rbot/plugins/alias.rb:129
 msgid ""
 "The alias seems to have caused infinite recursion. Please examine your alias "
 "definitions"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:142
+#: data/rbot/plugins/alias.rb:145
 msgid "Error handling the alias, the command is not defined"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:152
+#: data/rbot/plugins/alias.rb:155
 msgid "Create and use aliases for commands. Topics: create, commands"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:154
+#: data/rbot/plugins/alias.rb:157
 msgid ""
 "\"alias <text> => <command>\" => add text as an alias of command. Text can "
 "contain placeholders marked with : or * for :words and *multiword arguments. "
@@ -878,7 +882,7 @@ msgid ""
 "google site:linuxbrit.co.uk/rbot/ <terms>"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:156
+#: data/rbot/plugins/alias.rb:159
 msgid ""
 "alias list => list defined aliases | alias whatis <alias> => show definition "
 "of the alias | alias remove <alias> => remove defined alias | see the "
index a55b990cd02cc760021b72899a66c42999808499..f78fc2d534cc6aa821c7c36d9cb21e3729dc2cf9 100644 (file)
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: rbot\n"
-"POT-Creation-Date: 2007-08-01 00:47-0400\n"
+"POT-Creation-Date: 2007-08-07 16:41-0400\n"
 "PO-Revision-Date: 2007-07-09 01:24-0400\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -839,47 +839,51 @@ msgid ""
 "strategies"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:55
+#: data/rbot/plugins/alias.rb:51
+msgid "Data file is not found or corrupt, reinitializing data"
+msgstr ""
+
+#: data/rbot/plugins/alias.rb:58
 msgid "Invalid alias entry %{alias} : %{command} in %{filename}: %{reason}"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:71
+#: data/rbot/plugins/alias.rb:74
 msgid "The definition you provided is invalid: %{reason}"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:82 data/rbot/plugins/alias.rb:99
+#: data/rbot/plugins/alias.rb:85 data/rbot/plugins/alias.rb:102
 msgid "No such alias is defined"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:88
+#: data/rbot/plugins/alias.rb:91
 msgid "No aliases defined"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:97
+#: data/rbot/plugins/alias.rb:100
 msgid "Alias of %{command}"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:109
+#: data/rbot/plugins/alias.rb:112
 msgid ""
 "The arguments in alias must match the substitutions in command, and vice "
 "versa"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:126
+#: data/rbot/plugins/alias.rb:129
 msgid ""
 "The alias seems to have caused infinite recursion. Please examine your alias "
 "definitions"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:142
+#: data/rbot/plugins/alias.rb:145
 msgid "Error handling the alias, the command is not defined"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:152
+#: data/rbot/plugins/alias.rb:155
 msgid "Create and use aliases for commands. Topics: create, commands"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:154
+#: data/rbot/plugins/alias.rb:157
 msgid ""
 "\"alias <text> => <command>\" => add text as an alias of command. Text can "
 "contain placeholders marked with : or * for :words and *multiword arguments. "
@@ -888,7 +892,7 @@ msgid ""
 "google site:linuxbrit.co.uk/rbot/ <terms>"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:156
+#: data/rbot/plugins/alias.rb:159
 msgid ""
 "alias list => list defined aliases | alias whatis <alias> => show definition "
 "of the alias | alias remove <alias> => remove defined alias | see the "
index 5d8b06d9b7576c62f232f4d07806f470e2f81352..5a909ad1baab51da0504321260fd5976f1a898ef 100644 (file)
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: rbot\n"
-"POT-Creation-Date: 2007-08-01 00:47-0400\n"
+"POT-Creation-Date: 2007-08-07 16:41-0400\n"
 "PO-Revision-Date: 2007-07-09 01:39-0400\n"
 "Last-Translator: Yaohan Chen <yaohan.chen@gmail.com>\n"
 "Language-Team: Chinese\n"
@@ -838,47 +838,51 @@ msgid ""
 "strategies"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:55
+#: data/rbot/plugins/alias.rb:51
+msgid "Data file is not found or corrupt, reinitializing data"
+msgstr ""
+
+#: data/rbot/plugins/alias.rb:58
 msgid "Invalid alias entry %{alias} : %{command} in %{filename}: %{reason}"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:71
+#: data/rbot/plugins/alias.rb:74
 msgid "The definition you provided is invalid: %{reason}"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:82 data/rbot/plugins/alias.rb:99
+#: data/rbot/plugins/alias.rb:85 data/rbot/plugins/alias.rb:102
 msgid "No such alias is defined"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:88
+#: data/rbot/plugins/alias.rb:91
 msgid "No aliases defined"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:97
+#: data/rbot/plugins/alias.rb:100
 msgid "Alias of %{command}"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:109
+#: data/rbot/plugins/alias.rb:112
 msgid ""
 "The arguments in alias must match the substitutions in command, and vice "
 "versa"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:126
+#: data/rbot/plugins/alias.rb:129
 msgid ""
 "The alias seems to have caused infinite recursion. Please examine your alias "
 "definitions"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:142
+#: data/rbot/plugins/alias.rb:145
 msgid "Error handling the alias, the command is not defined"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:152
+#: data/rbot/plugins/alias.rb:155
 msgid "Create and use aliases for commands. Topics: create, commands"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:154
+#: data/rbot/plugins/alias.rb:157
 msgid ""
 "\"alias <text> => <command>\" => add text as an alias of command. Text can "
 "contain placeholders marked with : or * for :words and *multiword arguments. "
@@ -887,7 +891,7 @@ msgid ""
 "google site:linuxbrit.co.uk/rbot/ <terms>"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:156
+#: data/rbot/plugins/alias.rb:159
 msgid ""
 "alias list => list defined aliases | alias whatis <alias> => show definition "
 "of the alias | alias remove <alias> => remove defined alias | see the "
index 7854df5393b09f3291d37edb34a890d1aabe3c1d..11d8749c627b9525f960b58e0fe9577f57a721c2 100644 (file)
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: rbot\n"
-"POT-Creation-Date: 2007-08-01 00:47-0400\n"
+"POT-Creation-Date: 2007-08-07 16:41-0400\n"
 "PO-Revision-Date: 2007-07-09 01:24-0400\n"
 "Last-Translator: Liang-Bin Hsueh <hlb@handlino.com>\n"
 "Language-Team: Chinese\n"
@@ -847,47 +847,51 @@ msgid ""
 "strategies"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:55
+#: data/rbot/plugins/alias.rb:51
+msgid "Data file is not found or corrupt, reinitializing data"
+msgstr ""
+
+#: data/rbot/plugins/alias.rb:58
 msgid "Invalid alias entry %{alias} : %{command} in %{filename}: %{reason}"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:71
+#: data/rbot/plugins/alias.rb:74
 msgid "The definition you provided is invalid: %{reason}"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:82 data/rbot/plugins/alias.rb:99
+#: data/rbot/plugins/alias.rb:85 data/rbot/plugins/alias.rb:102
 msgid "No such alias is defined"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:88
+#: data/rbot/plugins/alias.rb:91
 msgid "No aliases defined"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:97
+#: data/rbot/plugins/alias.rb:100
 msgid "Alias of %{command}"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:109
+#: data/rbot/plugins/alias.rb:112
 msgid ""
 "The arguments in alias must match the substitutions in command, and vice "
 "versa"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:126
+#: data/rbot/plugins/alias.rb:129
 msgid ""
 "The alias seems to have caused infinite recursion. Please examine your alias "
 "definitions"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:142
+#: data/rbot/plugins/alias.rb:145
 msgid "Error handling the alias, the command is not defined"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:152
+#: data/rbot/plugins/alias.rb:155
 msgid "Create and use aliases for commands. Topics: create, commands"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:154
+#: data/rbot/plugins/alias.rb:157
 msgid ""
 "\"alias <text> => <command>\" => add text as an alias of command. Text can "
 "contain placeholders marked with : or * for :words and *multiword arguments. "
@@ -896,7 +900,7 @@ msgid ""
 "google site:linuxbrit.co.uk/rbot/ <terms>"
 msgstr ""
 
-#: data/rbot/plugins/alias.rb:156
+#: data/rbot/plugins/alias.rb:159
 msgid ""
 "alias list => list defined aliases | alias whatis <alias> => show definition "
 "of the alias | alias remove <alias> => remove defined alias | see the "