Add setting for GeoLite2 database update interval

This commit is contained in:
JonnyWong16 2019-12-25 12:51:59 -08:00
parent 7ee1c51810
commit 3b44a3afd2
4 changed files with 14 additions and 2 deletions

View file

@ -1260,6 +1260,16 @@
GeoLite2 Database last updated <strong><span id="geoip_db_updated">never</span></strong>. GeoLite2 Database last updated <strong><span id="geoip_db_updated">never</span></strong>.
</p> </p>
</div> </div>
<div class="form-group advanced-setting">
<label for="geoip_db_update_days">GeoLite2 Database Update Interval</label>
<div class="row">
<div class="col-md-2">
<input type="text" class="form-control" data-parsley-type="integer" id="geoip_db_update_days" name="geoip_db_update_days" value="${config['geoip_db_update_days']}" size="5" data-parsley-min="7" data-parsley-trigger="change" data-parsley-errors-container="#geoip_db_update_days_error" required>
</div>
<div id="geoip_db_update_days_error" class="alert alert-danger settings-alert" role="alert"></div>
</div>
<p class="help-block">The interval (in days) Tautulli will automatically update the GeoLite2 database. Minimum 7, default 30.</p>
</div>
<p><input type="button" class="btn btn-bright save-button" value="Save" data-success="Changes saved successfully"></p> <p><input type="button" class="btn btn-bright save-button" value="Save" data-success="Changes saved successfully"></p>

View file

@ -176,6 +176,7 @@ _CONFIG_DEFINITIONS = {
'FREEZE_DB': (int, 'General', 0), 'FREEZE_DB': (int, 'General', 0),
'GEOIP_DB': (str, 'General', ''), 'GEOIP_DB': (str, 'General', ''),
'GEOIP_DB_INSTALLED': (int, 'General', 0), 'GEOIP_DB_INSTALLED': (int, 'General', 0),
'GEOIP_DB_UPDATE_DAYS': (int, 'General', 30),
'GET_FILE_SIZES': (int, 'General', 0), 'GET_FILE_SIZES': (int, 'General', 0),
'GET_FILE_SIZES_HOLD': (dict, 'General', {'section_ids': [], 'rating_keys': []}), 'GET_FILE_SIZES_HOLD': (dict, 'General', {'section_ids': [], 'rating_keys': []}),
'GIT_BRANCH': (str, 'General', 'master'), 'GIT_BRANCH': (str, 'General', 'master'),

View file

@ -588,7 +588,7 @@ def update_geoip_db():
if plexpy.CONFIG.GEOIP_DB_INSTALLED > 1: if plexpy.CONFIG.GEOIP_DB_INSTALLED > 1:
logger.info(u"Tautulli Helpers :: Checking for GeoLite2 database updates.") logger.info(u"Tautulli Helpers :: Checking for GeoLite2 database updates.")
now = int(time.time()) now = int(time.time())
if now - plexpy.CONFIG.GEOIP_DB_INSTALLED >= 2592000: # 30 days if now - plexpy.CONFIG.GEOIP_DB_INSTALLED >= plexpy.CONFIG.GEOIP_DB_UPDATE_DAYS * 24 * 60 * 60:
return install_geoip_db(update=True) return install_geoip_db(update=True)
logger.info(u"Tautulli Helpers :: GeoLite2 database already updated within the last 30 days.") logger.info(u"Tautulli Helpers :: GeoLite2 database already updated within the last 30 days.")

View file

@ -2820,9 +2820,10 @@ class WebInterface(object):
"newsletter_inline_styles": checked(plexpy.CONFIG.NEWSLETTER_INLINE_STYLES), "newsletter_inline_styles": checked(plexpy.CONFIG.NEWSLETTER_INLINE_STYLES),
"newsletter_custom_dir": plexpy.CONFIG.NEWSLETTER_CUSTOM_DIR, "newsletter_custom_dir": plexpy.CONFIG.NEWSLETTER_CUSTOM_DIR,
"win_sys_tray": checked(plexpy.CONFIG.WIN_SYS_TRAY), "win_sys_tray": checked(plexpy.CONFIG.WIN_SYS_TRAY),
"maxmind_license_key": plexpy.CONFIG.MAXMIND_LICENSE_KEY,
"geoip_db": plexpy.CONFIG.GEOIP_DB, "geoip_db": plexpy.CONFIG.GEOIP_DB,
"geoip_db_installed": plexpy.CONFIG.GEOIP_DB_INSTALLED, "geoip_db_installed": plexpy.CONFIG.GEOIP_DB_INSTALLED,
"maxmind_license_key": plexpy.CONFIG.MAXMIND_LICENSE_KEY "geoip_db_update_days": plexpy.CONFIG.GEOIP_DB_UPDATE_DAYS
} }
return serve_template(templatename="settings.html", title="Settings", config=config, kwargs=kwargs) return serve_template(templatename="settings.html", title="Settings", config=config, kwargs=kwargs)