Add setting to hide mature content from ContentDB

This commit is contained in:
rubenwardy 2019-02-03 17:54:56 +00:00 committed by GitHub
parent 9a071d66a5
commit 626b0b7e6a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 6 deletions

@ -285,9 +285,14 @@ function store.load()
local show_nonfree = core.settings:get_bool("show_nonfree_packages") local show_nonfree = core.settings:get_bool("show_nonfree_packages")
local url = base_url .. local url = base_url ..
"/api/packages/?type=mod&type=game&type=txp&protocol_version=" .. "/api/packages/?type=mod&type=game&type=txp&protocol_version=" ..
core.get_max_supp_proto() .. core.get_max_supp_proto()
"&nonfree=" ..
(show_nonfree and "true" or "false") for _, item in pairs(core.settings:get("contentdb_flag_blacklist"):split(",")) do
item = item:trim()
if item ~= "" then
url = url .. "&hide=" .. item
end
end
core.download_file(url, target) core.download_file(url, target)

@ -1941,6 +1941,13 @@ num_emerge_threads (Number of emerge threads) int 0
[Content Store] [Content Store]
# Show packages in the content store that do not qualify as 'free software' # The URL for the content repository
contentdb_url (ContentDB URL) string https://content.minetest.net
# Comma-separated list of flags to hide in the content repository.
# "nonfree" can be used to hide packages which do not qualify as 'free software',
# as defined by the Free Software Foundation. # as defined by the Free Software Foundation.
show_nonfree_packages (Show non-free packages) bool false # You can also specify content ratings.
# These flags are independent from Minetest versions,
# so see a full list at https://content.minetest.net/help/content_flags/
contentdb_flag_blacklist (ContentDB Flag Blacklist) string nonfree, desktop_default

@ -300,7 +300,11 @@ void set_default_settings(Settings *settings)
settings->setDefault("font_size", font_size_str); settings->setDefault("font_size", font_size_str);
settings->setDefault("mono_font_size", font_size_str); settings->setDefault("mono_font_size", font_size_str);
settings->setDefault("contentdb_url", "https://content.minetest.net"); settings->setDefault("contentdb_url", "https://content.minetest.net");
settings->setDefault("show_nonfree_packages", "false"); #ifdef __ANDROID__
settings->setDefault("contentdb_flag_blacklist", "nonfree, android_default");
#else
settings->setDefault("contentdb_flag_blacklist", "nonfree, desktop_default");
#endif
// Server // Server