mirror of
https://git.deluge-torrent.org/deluge
synced 2025-04-20 11:35:49 +00:00
Remove GeoIP.dat from tree
Add configuration option to set the GeoIP db location, default is /usr/share/GeoIP/GeoIP.dat
This commit is contained in:
parent
a24c07a9bd
commit
86fca4b43b
6 changed files with 388 additions and 252 deletions
|
@ -131,22 +131,6 @@ class Core(component.Component):
|
|||
# Get the core config
|
||||
self.config = deluge.configmanager.ConfigManager("core.conf")
|
||||
|
||||
# Load the GeoIP DB for country look-ups if available
|
||||
geoip_db = ""
|
||||
if os.path.exists(self.config["geoip_db_location"]):
|
||||
geoip_db = self.config["geoip_db_location"]
|
||||
elif os.path.exists(pkg_resources.resource_filename("deluge", os.path.join("data", "GeoIP.dat"))):
|
||||
geoip_db = pkg_resources.resource_filename("deluge", os.path.join("data", "GeoIP.dat"))
|
||||
else:
|
||||
log.warning("Unable to find GeoIP database file!")
|
||||
|
||||
if geoip_db:
|
||||
try:
|
||||
self.session.load_country_db(geoip_db)
|
||||
except Exception, e:
|
||||
log.error("Unable to load geoip database!")
|
||||
log.exception(e)
|
||||
|
||||
# If there was an interface value from the command line, use it, but
|
||||
# store the one in the config so we can restore it on shutdown
|
||||
self.__old_interface = None
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
|
||||
import os.path
|
||||
import threading
|
||||
import pkg_resources
|
||||
from twisted.internet import reactor
|
||||
from twisted.internet.task import LoopingCall
|
||||
|
||||
|
@ -224,6 +225,8 @@ class PreferencesManager(component.Component):
|
|||
self._on_new_release_check)
|
||||
self.config.register_set_function("rate_limit_ip_overhead",
|
||||
self._on_rate_limit_ip_overhead)
|
||||
self.config.register_set_function("geoip_db_location",
|
||||
self._on_geoip_db_location)
|
||||
|
||||
self.config.register_change_callback(self._on_config_value_change)
|
||||
|
||||
|
@ -495,3 +498,21 @@ class PreferencesManager(component.Component):
|
|||
log.debug("%s: %s", key, value)
|
||||
self.settings.rate_limit_ip_overhead = value
|
||||
self.session.set_settings(self.settings)
|
||||
|
||||
def _on_geoip_db_location(self, key, value):
|
||||
log.debug("%s: %s", key, value)
|
||||
# Load the GeoIP DB for country look-ups if available
|
||||
geoip_db = ""
|
||||
if os.path.exists(value):
|
||||
geoip_db = value
|
||||
elif os.path.exists(pkg_resources.resource_filename("deluge", os.path.join("data", "GeoIP.dat"))):
|
||||
geoip_db = pkg_resources.resource_filename("deluge", os.path.join("data", "GeoIP.dat"))
|
||||
else:
|
||||
log.warning("Unable to find GeoIP database file!")
|
||||
|
||||
if geoip_db:
|
||||
try:
|
||||
self.session.load_country_db(geoip_db)
|
||||
except Exception, e:
|
||||
log.error("Unable to load geoip database!")
|
||||
log.exception(e)
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
There are two licenses, one for the C library software, and one for
|
||||
the database.
|
||||
|
||||
SOFTWARE LICENSE (C library)
|
||||
|
||||
The GeoIP C Library is licensed under the LGPL. For details see
|
||||
the COPYING file.
|
||||
|
||||
OPEN DATA LICENSE (GeoLite Country and GeoLite City databases)
|
||||
|
||||
Copyright (c) 2008 MaxMind, Inc. All Rights Reserved.
|
||||
|
||||
All advertising materials and documentation mentioning features or use of
|
||||
this database must display the following acknowledgment:
|
||||
"This product includes GeoLite data created by MaxMind, available from
|
||||
http://maxmind.com/"
|
||||
|
||||
Redistribution and use with or without modification, are permitted provided
|
||||
that the following conditions are met:
|
||||
1. Redistributions must retain the above copyright notice, this list of
|
||||
conditions and the following disclaimer in the documentation and/or other
|
||||
materials provided with the distribution.
|
||||
2. All advertising materials and documentation mentioning features or use of
|
||||
this database must display the following acknowledgement:
|
||||
"This product includes GeoLite data created by MaxMind, available from
|
||||
http://maxmind.com/"
|
||||
3. "MaxMind" may not be used to endorse or promote products derived from this
|
||||
database without specific prior written permission.
|
||||
|
||||
THIS DATABASE IS PROVIDED BY MAXMIND, INC ``AS IS'' AND ANY
|
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL MAXMIND BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
DATABASE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
|
@ -235,6 +235,7 @@ class Preferences(component.Component):
|
|||
"chk_lsd": ("active", self.core_config["lsd"]),
|
||||
"chk_new_releases": ("active", self.core_config["new_release_check"]),
|
||||
"chk_send_info": ("active", self.core_config["send_info"]),
|
||||
"entry_geoip": ("text", self.core_config["geoip_db_location"]),
|
||||
"combo_encin": ("active", self.core_config["enc_in_policy"]),
|
||||
"combo_encout": ("active", self.core_config["enc_out_policy"]),
|
||||
"combo_enclevel": ("active", self.core_config["enc_level"]),
|
||||
|
@ -376,6 +377,7 @@ class Preferences(component.Component):
|
|||
"chk_lsd",
|
||||
"chk_send_info",
|
||||
"chk_new_releases",
|
||||
"entry_geoip",
|
||||
"combo_encin",
|
||||
"combo_encout",
|
||||
"combo_enclevel",
|
||||
|
@ -667,6 +669,8 @@ class Preferences(component.Component):
|
|||
self.glade.get_widget("chk_show_new_releases").get_active()
|
||||
new_core_config["send_info"] = \
|
||||
self.glade.get_widget("chk_send_info").get_active()
|
||||
new_core_config["geoip_db_location"] = \
|
||||
self.glade.get_widget("entry_geoip").get_text()
|
||||
|
||||
## Daemon tab ##
|
||||
new_core_config["daemon_port"] = \
|
||||
|
|
Loading…
Add table
Reference in a new issue