Fix for Start Screen (#1050)

Fixes #1045
This commit is contained in:
Redjumpman 2017-10-24 15:27:13 -05:00 committed by palmtree5
parent 6f0b3fb669
commit 10647f14b2

View File

@ -1,8 +1,8 @@
import datetime import datetime
import logging import logging
import pkg_resources
import traceback import traceback
from pkg_resources import get_distribution from pkg_resources import DistributionNotFound
from importlib.util import find_spec as find_package
import discord import discord
@ -71,25 +71,28 @@ def init_events(bot, cli_flags):
prefixes = await bot.db.prefix() prefixes = await bot.db.prefix()
lang = await bot.db.locale() lang = await bot.db.locale()
red_pkg = pkg_resources.get_distribution('Red_DiscordBot')
dpy_version = pkg_resources.get_distribution('discord.py').version
INFO = [str(bot.user), "Prefixes: {}".format(', '.join(prefixes)), INFO = [str(bot.user), "Prefixes: {}".format(', '.join(prefixes)),
'Language: {}'.format(lang), 'Language: {}'.format(lang),
"Red Bot Version: {}".format(get_distribution('Red_DiscordBot').version), "Red Bot Version: {}".format(red_pkg.version),
"Discord.py Version: {}".format(get_distribution('discord.py').version), "Discord.py Version: {}".format(dpy_version),
"Shards: {}".format(bot.shard_count)] "Shards: {}".format(bot.shard_count)]
if guilds: if guilds:
INFO.extend(("Servers: {}".format(guilds), "Users: {}".format(users))) INFO.extend(("Servers: {}".format(guilds), "Users: {}".format(users)))
else: else:
print("Ready. I'm not in any server yet!") print("Ready. I'm not in any server yet!")
INFO.append('{} cogs with {} commands'.format(len(bot.cogs), len(bot.commands))) INFO.append('{} cogs with {} commands'.format(len(bot.cogs), len(bot.commands)))
INFO2 = [] INFO2 = []
sentry = await bot.db.enable_sentry() sentry = await bot.db.enable_sentry()
test_docs = all(find_package(x) for x in ['sphinx', 'sphinxcontrib', 'sphinx_rtd_theme', voice_reqs = [x.name for x in red_pkg._dep_map['voice']]
'pytest_asyncio', 'pytest']) docs_reqs = [x.name for x in red_pkg._dep_map['docs']]
voice = find_package('PyNaCl') test_reqs = [x.name for x in red_pkg._dep_map['test']]
if sentry: if sentry:
INFO2.append("√ Report Errors") INFO2.append("√ Report Errors")
@ -101,16 +104,20 @@ def init_events(bot, cli_flags):
else: else:
INFO2.append("√ MongoDB") INFO2.append("√ MongoDB")
if voice: try:
INFO2.append("√ Voice") pkg_resources.require(voice_reqs)
else: except DistributionNotFound:
INFO2.append("X Voice") INFO2.append("X Voice")
if test_docs:
INFO2.append("√ Tests and Docs")
else: else:
INFO2.append("X Tests and Docs") INFO2.append("√ Voice")
try:
pkg_resources.require(docs_reqs)
pkg_resources.require(test_reqs)
except DistributionNotFound:
INFO2.append("X Tests and Docs")
else:
INFO2.append("√ Tests and Docs")
print(Fore.RED + INTRO) print(Fore.RED + INTRO)
print(Style.RESET_ALL) print(Style.RESET_ALL)