mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-10 23:42:37 -07:00
Add option to uninstall the GeoLite2 database
This commit is contained in:
parent
f5ba168172
commit
8b787e4ae0
4 changed files with 47 additions and 4 deletions
8
API.md
8
API.md
|
@ -1722,6 +1722,10 @@ Returns:
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### install_geoip_db
|
||||||
|
Downloads and installs the GeoLite2 database
|
||||||
|
|
||||||
|
|
||||||
### notify
|
### notify
|
||||||
Send a notification using PlexPy.
|
Send a notification using PlexPy.
|
||||||
|
|
||||||
|
@ -1844,6 +1848,10 @@ Returns:
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### uninstall_geoip_db
|
||||||
|
Uninstalls the GeoLite2 database
|
||||||
|
|
||||||
|
|
||||||
### update
|
### update
|
||||||
Check for PlexPy updates on Github.
|
Check for PlexPy updates on Github.
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ DOCUMENTATION :: END
|
||||||
<tr>
|
<tr>
|
||||||
<td>GeoLite2 Database:</td>
|
<td>GeoLite2 Database:</td>
|
||||||
% if plexpy.CONFIG.GEOIP_DB:
|
% if plexpy.CONFIG.GEOIP_DB:
|
||||||
<td>${plexpy.CONFIG.GEOIP_DB} | <a class="no-highlight" href="#" id="reinstall_geoip_db">Reinstall / Update</a></td>
|
<td>${plexpy.CONFIG.GEOIP_DB} | <a class="no-highlight" href="#" id="reinstall_geoip_db">Reinstall / Update</a> | <a class="no-highlight" href="#" id="uninstall_geoip_db">Uninstall</a></td>
|
||||||
% else:
|
% else:
|
||||||
<td><a class="no-highlight" href="#" id="install_geoip_db">Click here to install the GeoLite2 database.</a></td>
|
<td><a class="no-highlight" href="#" id="install_geoip_db">Click here to install the GeoLite2 database.</a></td>
|
||||||
% endif
|
% endif
|
||||||
|
@ -107,5 +107,12 @@ DOCUMENTATION :: END
|
||||||
var url = 'install_geoip_db';
|
var url = 'install_geoip_db';
|
||||||
confirmAjaxCall(url, msg, 'Installing GeoLite2 database.', getConfigurationTable);
|
confirmAjaxCall(url, msg, 'Installing GeoLite2 database.', getConfigurationTable);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#uninstall_geoip_db").click(function () {
|
||||||
|
var msg = 'Are you sure you want to uninstall the GeoLite2 database?<br /><br />' +
|
||||||
|
'You will not be able to lookup IP address geolocation info.';
|
||||||
|
var url = 'uninstall_geoip_db';
|
||||||
|
confirmAjaxCall(url, msg, 'Uninstalling GeoLite2 database.', getConfigurationTable);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
|
@ -577,6 +577,19 @@ def install_geoip_db():
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def uninstall_geoip_db():
|
||||||
|
logger.debug(u"PlexPy Helpers :: Uninstalling the GeoLite2 database...")
|
||||||
|
try:
|
||||||
|
os.remove(plexpy.CONFIG.GEOIP_DB)
|
||||||
|
plexpy.CONFIG.__setattr__('GEOIP_DB', '')
|
||||||
|
plexpy.CONFIG.write()
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(u"PlexPy Helpers :: Failed to uninstall the GeoLite2 database: %s" % e)
|
||||||
|
return False
|
||||||
|
|
||||||
|
logger.debug(u"PlexPy Helpers :: GeoLite2 database uninstalled successfully.")
|
||||||
|
return True
|
||||||
|
|
||||||
def geoip_lookup(ip_address):
|
def geoip_lookup(ip_address):
|
||||||
if not plexpy.CONFIG.GEOIP_DB:
|
if not plexpy.CONFIG.GEOIP_DB:
|
||||||
return 'GeoLite2 database not installed. Please install from the ' \
|
return 'GeoLite2 database not installed. Please install from the ' \
|
||||||
|
|
|
@ -2802,15 +2802,30 @@ class WebInterface(object):
|
||||||
@cherrypy.expose
|
@cherrypy.expose
|
||||||
@cherrypy.tools.json_out()
|
@cherrypy.tools.json_out()
|
||||||
@requireAuth(member_of("admin"))
|
@requireAuth(member_of("admin"))
|
||||||
|
@addtoapi()
|
||||||
def install_geoip_db(self):
|
def install_geoip_db(self):
|
||||||
""" Downloads and installs the GeoIP database """
|
""" Downloads and installs the GeoLite2 database """
|
||||||
|
|
||||||
result = helpers.install_geoip_db()
|
result = helpers.install_geoip_db()
|
||||||
|
|
||||||
if result:
|
if result:
|
||||||
return {'result': 'success', 'message': 'GeoIP database installed successful.'}
|
return {'result': 'success', 'message': 'GeoLite2 database installed successful.'}
|
||||||
else:
|
else:
|
||||||
return {'result': 'error', 'message': 'GeoIP database install failed.'}
|
return {'result': 'error', 'message': 'GeoLite2 database install failed.'}
|
||||||
|
|
||||||
|
@cherrypy.expose
|
||||||
|
@cherrypy.tools.json_out()
|
||||||
|
@requireAuth(member_of("admin"))
|
||||||
|
@addtoapi()
|
||||||
|
def uninstall_geoip_db(self):
|
||||||
|
""" Uninstalls the GeoLite2 database """
|
||||||
|
|
||||||
|
result = helpers.uninstall_geoip_db()
|
||||||
|
|
||||||
|
if result:
|
||||||
|
return {'result': 'success', 'message': 'GeoLite2 database uninstalled successfully.'}
|
||||||
|
else:
|
||||||
|
return {'result': 'error', 'message': 'GeoLite2 database uninstall failed.'}
|
||||||
|
|
||||||
@cherrypy.expose
|
@cherrypy.expose
|
||||||
@requireAuth(member_of("admin"))
|
@requireAuth(member_of("admin"))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue