aboutsummaryrefslogtreecommitdiff
path: root/mediawiki.lrdevplugin/MediaWikiInit.lua
diff options
context:
space:
mode:
authorRobin Krahl <me@robin-krahl.de>2015-06-27 23:05:52 +0200
committerRobin Krahl <me@robin-krahl.de>2015-06-27 23:05:52 +0200
commit24875af9d53e3f1a90fa5e6bd4aaef36bb0c3591 (patch)
tree907a6204f1dbfd5ff4e76870bf944f6bf352031b /mediawiki.lrdevplugin/MediaWikiInit.lua
parent717b11ecdf663dbc9e43cbdd6b5aab3a2dbcdafe (diff)
downloadLrMediaWiki-24875af9d53e3f1a90fa5e6bd4aaef36bb0c3591.tar.gz
LrMediaWiki-24875af9d53e3f1a90fa5e6bd4aaef36bb0c3591.tar.bz2
Check for new versions after start.
After LrMediaWiki is loaded, GitHub is checked for new versions if the user enabled that setting. To parse the response of the GitHub API, a third-party library is used for JSON parsing (JSON.lua). As the GitHub API query for the latest release only returns non-pre-release versions, all releases are queried and the first one is considered the latest. - create MediaWikiInit that queries the new version and shows a message (if necessary) - add MediaWikiInit to Info so that it is run after LrMediaWiki is loaded - add ‘Check version’ setting to the configuration - refactor MediaWikiApi and create performHttpRequest as a generic HTTP request method - add MediaWikiApi.getCurrentPluginVersion to query the GitHub API Fix #44.
Diffstat (limited to 'mediawiki.lrdevplugin/MediaWikiInit.lua')
-rw-r--r--mediawiki.lrdevplugin/MediaWikiInit.lua33
1 files changed, 33 insertions, 0 deletions
diff --git a/mediawiki.lrdevplugin/MediaWikiInit.lua b/mediawiki.lrdevplugin/MediaWikiInit.lua
new file mode 100644
index 0000000..d775930
--- /dev/null
+++ b/mediawiki.lrdevplugin/MediaWikiInit.lua
@@ -0,0 +1,33 @@
+-- This file is part of the LrMediaWiki project and distributed under the terms
+-- of the MIT license (see LICENSE.txt file in the project root directory or
+-- [0]). See [1] for more information about LrMediaWiki.
+--
+-- Copyright (C) 2015 by the LrMediaWiki team (see CREDITS.txt file in the
+-- project root directory or [2])
+--
+-- [0] <https://raw.githubusercontent.com/robinkrahl/LrMediaWiki/master/LICENSE.txt>
+-- [1] <https://commons.wikimedia.org/wiki/Commons:LrMediaWiki>
+-- [2] <https://raw.githubusercontent.com/robinkrahl/LrMediaWiki/master/CREDITS.txt>
+
+-- Code status:
+-- doc: missing
+-- i18n: complete
+
+local LrDialogs = import 'LrDialogs'
+local LrTasks = import 'LrTasks'
+
+local MediaWikiApi = require 'MediaWikiApi'
+local MediaWikiUtils = require 'MediaWikiUtils'
+
+if MediaWikiUtils.getCheckVersion() then
+ LrTasks.startAsyncTask(function()
+ local currentVersion = MediaWikiApi.getCurrentPluginVersion()
+ if currentVersion ~= nil then
+ MediaWikiUtils.trace('Current version of LrMediaWiki is: ' .. currentVersion)
+ if currentVersion ~= 'v' .. MediaWikiUtils.getVersionString() then
+ -- new version available!
+ LrDialogs.message(LOC '$$$/LrMediaWiki/Init/Version/Message=New version available', LOC('$$$/LrMediaWiki/Init/Version/Info=Please update to LrMediaWiki ^1.', currentVersion), 'info')
+ end
+ end
+ end)
+end