diff --git a/setup.py b/setup.py index 12c64a9..633e5b2 100644 --- a/setup.py +++ b/setup.py @@ -36,6 +36,7 @@ install_requires=''' enum34 >=1.0.3 feedparser >=4.1 + requests >=2.23.0 ''', entry_points={ 'console_scripts': [ 'flashbake = flashbake.console:main', diff --git a/src/flashbake/__init__.py b/src/flashbake/__init__.py index 36a9490..f25c9c0 100644 --- a/src/flashbake/__init__.py +++ b/src/flashbake/__init__.py @@ -120,10 +120,10 @@ def init(self): if isinstance(plugin, flashbake.plugins.AbstractMessagePlugin): logging.debug("Message Plugin: %s" % plugin_name) # TODO add notion of dependency for ordering - if 'flashbake.plugins.location:Location' == plugin_name: - self.msg_plugins.insert(0, plugin) - else: - self.msg_plugins.append(plugin) + # if 'flashbake.plugins.location:Location' == plugin_name: + # self.msg_plugins.insert(0, plugin) + # else: + self.msg_plugins.append(plugin) if isinstance(plugin, flashbake.plugins.AbstractFilePlugin): logging.debug("File Plugin: %s" % plugin_name) self.file_plugins.append(plugin) diff --git a/src/flashbake/plugins/location.py b/src/flashbake/plugins/location.py index c97578e..a7e5960 100644 --- a/src/flashbake/plugins/location.py +++ b/src/flashbake/plugins/location.py @@ -26,6 +26,7 @@ import re import urllib import urllib2 +from requests import get @@ -141,26 +142,10 @@ def __get_text(self, node_list): return text_value def __get_ip(self): - no_reply = 'http://www.noreply.org' - opener = urllib2.build_opener(urllib2.HTTPCookieProcessor()) + ip_me = get('https://api.ipify.org').text try: - # open the weather API page - ping_reply = opener.open(urllib2.Request(no_reply)).read() - hello_line = None - for line in ping_reply.split('\n'): - if line.find('Hello') > 0: - hello_line = line.strip() - break - if hello_line is None: - logging.error('Failed to parse Hello with public IP address.') - return None - logging.debug(hello_line) - m = re.search('([0-9]+\.){3}([0-9]+){1}', hello_line) - if m is None: - logging.error('Failed to parse Hello with public IP address.') - return None - ip_addr = m.group(0) + ip_addr = ip_me return ip_addr except HTTPError, e: logging.error('Failed with HTTP status code %d' % e.code)