"""Displays public IP address
"""

import core.module
import core.widget
import core.decorators

import util.location


class Module(core.module.Module):
    @core.decorators.every(minutes=60)
    def __init__(self, config, theme):
        super().__init__(config, theme, core.widget.Widget(self.public_ip))

        self.__ip = ""

    def public_ip(self, widget):
        return self.__ip

    def update(self):
        try:
            self.__ip = util.location.public_ip()
        except Exception:
            self.__ip = "n/a"


# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4