# -*- coding: utf-8 -*- from urllib.parse import urlparse import irc3 import requests from docopt import Dict as DocOptDict from irc3.plugins.command import command from irc3.utils import IrcString from . import DatabasePlugin @irc3.plugin class Useless(DatabasePlugin): requires = ['irc3.plugins.command', 'nxy.plugins.storage'] @command def isup(self, mask: IrcString, target: IrcString, args: DocOptDict): """Checks if a address is up. %%isup
""" address = args['
'] if not address.startswith('http://'): address = 'https://{}'.format(address) parsed = urlparse(address) try: requests.head(address) state = 'up' except requests.ConnectionError: state = 'down' return '{scheme}://{address} seems to be {state}'.format(scheme=parsed.scheme, address=parsed.netloc, state=state)