Use CDB author and name in installed package's config (#8550)
authorPaul Ouellette <oue.paul18@gmail.com>
Mon, 10 Jun 2019 17:49:00 +0000 (13:49 -0400)
committerSmallJoker <SmallJoker@users.noreply.github.com>
Mon, 10 Jun 2019 17:49:00 +0000 (19:49 +0200)
They are used for tracking the package, so should match ContentDB.

builtin/mainmenu/dlg_contentstore.lua

index 384bee36c330bba7bfae3b8abbfef28f45e23c0c..568d37ee6058f3f3180b7987ac8a8936299ab8a4 100644 (file)
@@ -96,19 +96,16 @@ local function start_install(calling_dialog, package)
 
                                if conf_path then
                                        local conf = Settings(conf_path)
-                                       local function set_def(key, value)
-                                               if conf:get(key) == nil then
-                                                       conf:set(key, value)
-                                               end
-                                       end
                                        if name_is_title then
-                                               set_def("name",    result.package.title)
+                                               conf:set("name",   result.package.title)
                                        else
-                                               set_def("title",   result.package.title)
-                                               set_def("name",    result.package.name)
+                                               conf:set("title",  result.package.title)
+                                               conf:set("name",   result.package.name)
+                                       end
+                                       if not conf:get("description") then
+                                               conf:set("description", result.package.short_description)
                                        end
-                                       set_def("description", result.package.short_description)
-                                       set_def("author",      result.package.author)
+                                       conf:set("author",     result.package.author)
                                        conf:set("release",    result.package.release)
                                        conf:write()
                                end
@@ -299,9 +296,9 @@ function store.load()
 
                        local name_len = #package.name
                        if package.type == "game" and name_len > 5 and package.name:sub(name_len - 4) == "_game" then
-                               package.id = package.author .. "/" .. package.name:sub(1, name_len - 5)
+                               package.id = package.author:lower() .. "/" .. package.name:sub(1, name_len - 5)
                        else
-                               package.id = package.author .. "/" .. package.name
+                               package.id = package.author:lower() .. "/" .. package.name
                        end
                end
 
@@ -317,22 +314,22 @@ function store.update_paths()
        pkgmgr.refresh_globals()
        for _, mod in pairs(pkgmgr.global_mods:get_list()) do
                if mod.author then
-                       mod_hash[mod.author .. "/" .. mod.name] = mod
+                       mod_hash[mod.author:lower() .. "/" .. mod.name] = mod
                end
        end
 
        local game_hash = {}
        pkgmgr.update_gamelist()
        for _, game in pairs(pkgmgr.games) do
-               if game.author then
-                       game_hash[game.author .. "/" .. game.id] = game
+               if game.author ~= "" then
+                       game_hash[game.author:lower() .. "/" .. game.id] = game
                end
        end
 
        local txp_hash = {}
        for _, txp in pairs(pkgmgr.get_texture_packs()) do
                if txp.author then
-                       txp_hash[txp.author .. "/" .. txp.name] = txp
+                       txp_hash[txp.author:lower() .. "/" .. txp.name] = txp
                end
        end