From 6ff12032b38bef433d9058c7a2ea5c8a80799d43 Mon Sep 17 00:00:00 2001 From: Bobloy Date: Fri, 11 May 2018 15:34:31 -0400 Subject: [PATCH] pep8 --- howdoi/how.py | 19 ++++++++++--------- howdoi/howdoi.py | 42 ++++++++++++++++++++--------------------- howdoi/howdoi_source.py | 17 +++++++++-------- howdoi/info.json | 34 +++++++++++++++++++++++++-------- 4 files changed, 65 insertions(+), 47 deletions(-) diff --git a/howdoi/how.py b/howdoi/how.py index 41ec520..a20058c 100644 --- a/howdoi/how.py +++ b/howdoi/how.py @@ -13,26 +13,27 @@ import glob import os import random import re -import requests -import requests_cache import sys -from . import __version__ +import requests +import requests_cache from pygments import highlight -from pygments.lexers import guess_lexer, get_lexer_by_name from pygments.formatters.terminal import TerminalFormatter +from pygments.lexers import guess_lexer, get_lexer_by_name from pygments.util import ClassNotFound - from pyquery import PyQuery as pq from requests.exceptions import ConnectionError from requests.exceptions import SSLError +from . import __version__ + # Handle imports for Python 2 and 3 if sys.version < '3': import codecs from urllib import quote as url_quote from urllib import getproxies + # Handling Unicode: http://stackoverflow.com/a/6633040/305414 def u(x): return codecs.unicode_escape_decode(x)[0] @@ -40,10 +41,10 @@ else: from urllib.request import getproxies from urllib.parse import quote as url_quote + def u(x): return x - if os.getenv('HOWDOI_DISABLE_SSL'): # Set http instead of https SCHEME = 'http://' VERIFY_SSL_CERTIFICATE = False @@ -59,7 +60,7 @@ USER_AGENTS = ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:11.0) Gecko/2010 ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) ' 'Chrome/19.0.1084.46 Safari/536.5'), ('Mozilla/5.0 (Windows; Windows NT 6.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46' - 'Safari/536.5'), ) + 'Safari/536.5'),) SEARCH_URLS = { 'bing': SCHEME + 'www.bing.com/search?q=site:{0}%20{1}', 'google': SCHEME + 'www.google.com/search?q=site:{0}%20{1}' @@ -104,7 +105,7 @@ def _extract_links_from_bing(html): def _extract_links_from_google(html): return [a.attrib['href'] for a in html('.l')] or \ - [a.attrib['href'] for a in html('.r')('a')] + [a.attrib['href'] for a in html('.r')('a')] def _extract_links(html, search_engine): @@ -220,7 +221,7 @@ def _get_instructions(args): initial_position = args['pos'] spliter_length = 80 answer_spliter = '\n' + '=' * spliter_length + '\n\n' - + for answer_number in range(args['num_answers']): current_position = answer_number + initial_position args['pos'] = current_position diff --git a/howdoi/howdoi.py b/howdoi/howdoi.py index eee3f35..bd6244b 100644 --- a/howdoi/howdoi.py +++ b/howdoi/howdoi.py @@ -1,11 +1,9 @@ import discord - from discord.ext import commands +from redbot.core import Config +from redbot.core.utils.chat_formatting import box -from .utils.chat_formatting import pagify -from .utils.chat_formatting import box - -from .howdoi_source import howdoi as hdi, Answer +from .howdoi_source import howdoi as hdi class Howdoi: @@ -24,7 +22,7 @@ class Howdoi: "num_answers": 1, "clear_cache": False, "version": False - } + } self.config.register_global(**default_global) @@ -34,52 +32,52 @@ class Howdoi: Settings are reset on reload""" if ctx.invoked_subcommand is None: await ctx.send_help() - + @howdoiset.command(pass_context=True, name="answers") - async def howdoiset_answers(self, ctx, num_answers: int=1): + async def howdoiset_answers(self, ctx, num_answers: int = 1): """Adjust number of answers provided. Defaults to 1""" - + await self.config.num_answers.set(num_answers) await ctx.send("Number of answers provided will now be {}".format(num_answers)) - + @howdoiset.command(pass_context=True, name="link") async def howdoiset_link(self, ctx): """Toggles providing in-line answers or a link Default On""" - + await self.config.link.set(not (await self.config.link())) - + if await self.config.link(): await ctx.send("Answers will now be provided as a link") else: await ctx.send("Answers will now be provided as the response") - + @howdoiset.command(pass_context=True, name="full") async def howdoiset_full(self, ctx): """Toggles providing full answers or just first code found Default Off Only works if links are turned off""" - + await self.config.all.set(not (await self.config.all())) - + if await self.config.all(): await ctx.send("Answers will now be provided in full context") else: await ctx.send("Answers will now be provided as a code snippet") - + @commands.command(pass_context=True) async def howdoi(self, ctx, *question): """Ask a coding question""" self.query = " ".join(question) - + await self.config.query.set(self.query) - - out = hdi.howdoi(await self.config.all()) # .encode('utf-8', 'ignore') - + + out = hdi(await self.config.all()) # .encode('utf-8', 'ignore') + if await self.config.links(): await ctx.send(out) else: - await ctx.send(box(out,"python")) + await ctx.send(box(out, "python")) # for page in pagify(out, shorten_by=24): - # await ctx.send(box(page)) + # await ctx.send(box(page)) diff --git a/howdoi/howdoi_source.py b/howdoi/howdoi_source.py index 86591f0..cf1139b 100644 --- a/howdoi/howdoi_source.py +++ b/howdoi/howdoi_source.py @@ -13,26 +13,27 @@ import glob import os import random import re -import requests -import requests_cache import sys -from . import __version__ +import requests +import requests_cache from pygments import highlight -from pygments.lexers import guess_lexer, get_lexer_by_name from pygments.formatters.terminal import TerminalFormatter +from pygments.lexers import guess_lexer, get_lexer_by_name from pygments.util import ClassNotFound - from pyquery import PyQuery as pq from requests.exceptions import ConnectionError from requests.exceptions import SSLError +from . import __version__ + # Handle imports for Python 2 and 3 if sys.version < '3': import codecs from urllib import quote as url_quote from urllib import getproxies + # Handling Unicode: http://stackoverflow.com/a/6633040/305414 def u(x): return codecs.unicode_escape_decode(x)[0] @@ -40,10 +41,10 @@ else: from urllib.request import getproxies from urllib.parse import quote as url_quote + def u(x): return x - if os.getenv('HOWDOI_DISABLE_SSL'): # Set http instead of https SCHEME = 'http://' VERIFY_SSL_CERTIFICATE = False @@ -59,7 +60,7 @@ USER_AGENTS = ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:11.0) Gecko/2010 ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) ' 'Chrome/19.0.1084.46 Safari/536.5'), ('Mozilla/5.0 (Windows; Windows NT 6.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46' - 'Safari/536.5'), ) + 'Safari/536.5'),) SEARCH_URLS = { 'bing': SCHEME + 'www.bing.com/search?q=site:{0}%20{1}', 'google': SCHEME + 'www.google.com/search?q=site:{0}%20{1}' @@ -109,7 +110,7 @@ def _extract_links_from_bing(html): def _extract_links_from_google(html): return [a.attrib['href'] for a in html('.l')] or \ - [a.attrib['href'] for a in html('.r')('a')] + [a.attrib['href'] for a in html('.r')('a')] def _extract_links(html, search_engine): diff --git a/howdoi/info.json b/howdoi/info.json index c8ff9b8..b3d1a9c 100644 --- a/howdoi/info.json +++ b/howdoi/info.json @@ -1,10 +1,28 @@ { - "author" : ["Bobloy"], - "bot_version" : [3,0,0], - "description" : "Answer coding questions using stackexchange", - "hidden" : false, - "install_msg" : "Thank you for installing Howdoi.", - "requirements" : ["Pygments==2.1.1", "argparse==1.4.0", "cssselect==0.9.1", "pyquery==1.4.0", "requests==2.9.1", "requests-cache==0.4.11"], - "short" : "Answer coding questions", - "tags" : ["coding", "tools", "utils", "bobloy"] + "author": [ + "Bobloy" + ], + "bot_version": [ + 3, + 0, + 0 + ], + "description": "Answer coding questions using stackexchange", + "hidden": false, + "install_msg": "Thank you for installing Howdoi.", + "requirements": [ + "Pygments==2.1.1", + "argparse==1.4.0", + "cssselect==0.9.1", + "pyquery==1.4.0", + "requests==2.9.1", + "requests-cache==0.4.11" + ], + "short": "Answer coding questions", + "tags": [ + "coding", + "tools", + "utils", + "bobloy" + ] } \ No newline at end of file