mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-11-20 01:19:26 +01:00
Various fixes.
This commit is contained in:
parent
eeccf8487b
commit
eadc1bc3d7
@ -5,14 +5,37 @@ import supybot
|
||||
from fix import *
|
||||
|
||||
import os
|
||||
import sys
|
||||
import pydoc
|
||||
import pprint
|
||||
import socket
|
||||
import textwrap
|
||||
|
||||
import ansi
|
||||
import conf
|
||||
import debug
|
||||
import utils
|
||||
import ircutils
|
||||
|
||||
debug.minimumDebugPriority = 'high'
|
||||
|
||||
useColor = False
|
||||
|
||||
def wrapWithBold(f):
|
||||
def ff(*args, **kwargs):
|
||||
if useColor:
|
||||
sys.stdout.write(ansi.BOLD)
|
||||
ret = f(*args, **kwargs)
|
||||
if useColor:
|
||||
print ansi.RESET
|
||||
return ret
|
||||
return ff
|
||||
|
||||
from questions import yn, anything, something, expect
|
||||
yn = wrapWithBold(yn)
|
||||
expect = wrapWithBold(expect)
|
||||
anything = wrapWithBold(anything)
|
||||
something = wrapWithBold(something)
|
||||
|
||||
def getPlugins():
|
||||
filenames = []
|
||||
@ -65,6 +88,7 @@ def configurePlugin(module, onStart, afterConnect, advanced):
|
||||
if hasattr(module, 'configure'):
|
||||
myPrint("""Beginning configuration for %s..."""%module.Class.__name__)
|
||||
module.configure(onStart, afterConnect, advanced)
|
||||
print # Blank line :)
|
||||
myPrint("""Done!""")
|
||||
else:
|
||||
onStart.append('load %s' % name)
|
||||
@ -83,8 +107,9 @@ def getDirectoryName(default):
|
||||
'[defaults to %s]' % os.path.join(os.curdir, default))
|
||||
if not dir:
|
||||
dir = default
|
||||
dir = os.path.abspath(dir)
|
||||
try:
|
||||
os.mkdir(dir)
|
||||
os.makedirs(dir)
|
||||
done = True
|
||||
except OSError, e:
|
||||
if e.args[0] != 17: # File exists.
|
||||
@ -120,6 +145,7 @@ if __name__ == '__main__':
|
||||
server = None
|
||||
onStart = []
|
||||
afterConnect = []
|
||||
debugVariables = {}
|
||||
configVariables = {}
|
||||
|
||||
myPrint("""This is a wizard to help you start running supybot. What it
|
||||
@ -127,6 +153,18 @@ if __name__ == '__main__':
|
||||
starting an IRC bot with the options you select here. So hold on tight
|
||||
and be ready to be interrogated :)""")
|
||||
|
||||
myPrint("""First of all, we can bold the questions you're asked so you can
|
||||
easily distinguish the mostly useless blather (like this) from the
|
||||
questions that you actually have to answer.""")
|
||||
if yn('Would you like to try this bolding?') == 'y':
|
||||
useColor = True
|
||||
if yn('Do you see this in bold?') == 'n':
|
||||
myPrint("""Sorry, it looks like your terminal isn't ANSI compliant.
|
||||
Try again some other day, on some other terminal :)""")
|
||||
useColor = False
|
||||
else:
|
||||
myPrint("""Great!""")
|
||||
|
||||
###
|
||||
# Preliminary questions.
|
||||
###
|
||||
@ -396,6 +434,40 @@ if __name__ == '__main__':
|
||||
if yn('Would you like to enable the pipe syntax for nesting?') == 'y':
|
||||
configVariables['enablePipeSyntax'] = True
|
||||
|
||||
###
|
||||
# debug variables.
|
||||
###
|
||||
|
||||
# debug.stderr
|
||||
myPrint("""By default, your bot will log not only to files in the logs
|
||||
directory you gave it, but also to stderr. We find this useful for
|
||||
debugging, and also just for the pretty output (it's colored!)""")
|
||||
if yn('Would you like to turn off this logging to stderr?') == 'y':
|
||||
debugVariables['stderr'] = False
|
||||
else:
|
||||
# debug.colorterm
|
||||
myPrint("""Some terminals may not be able to display the pretty colors
|
||||
logged to stderr. By default, though, we turn the colors off for
|
||||
Windows machines and leave it on for *nix machines.""")
|
||||
if yn('Would you like to turn this colorization off?') == 'y':
|
||||
debugVariables['colorterm'] = False
|
||||
|
||||
# debug.minimumDebugPriority
|
||||
myPrint("""Your bot can handle debug messages at four priorities, 'high,'
|
||||
'normal,' 'low,' and 'verbose,' in decreasing order of priority. By
|
||||
default, your bot will log all of these priorities. You can, however,
|
||||
specify that he only log messages above a certain priority level. Of
|
||||
course, all error messages will still be logged.""")
|
||||
priority = anything('What would you like the minimum priority to be? '
|
||||
'Just press enter to accept the default.')
|
||||
while priority and priority not in ['verbose', 'low', 'normal', 'high']:
|
||||
myPrint("""That's not a valid priority. Valid priorities include
|
||||
'verbose,' 'low,' 'normal,' and 'high,' not including the quotes or
|
||||
the commas.""")
|
||||
priority = anything('What would you like the minimum priority to be? '
|
||||
'Just press enter to accept the default.')
|
||||
debugVariables['minimumDebugPriority'] = priority
|
||||
|
||||
if advanced:
|
||||
myPrint("""Here's some stuff you only get to choose if you're an
|
||||
advanced user :)""")
|
||||
@ -491,15 +563,18 @@ if __name__ == '__main__':
|
||||
template = template.replace('"%%server%%"', repr(server))
|
||||
template = template.replace('"%%onStart%%"', format(onStart))
|
||||
template = template.replace('"%%afterConnect%%"', format(afterConnect))
|
||||
template = template.replace('"%%debugVariables%%"', format(debugVariables))
|
||||
template = template.replace('"%%configVariables%%"',
|
||||
format(configVariables))
|
||||
template = template.replace('/usr/bin/env python',
|
||||
os.path.normpath(sys.executable))
|
||||
|
||||
filename = '%s-botscript.py' % nick
|
||||
fd = file(filename, 'w')
|
||||
fd.write(template)
|
||||
fd.close()
|
||||
|
||||
if not sys.platform.startswith('win'):
|
||||
if os.name == 'posix':
|
||||
os.chmod(filename, 0755)
|
||||
|
||||
myPrint("""All done! Your new bot script is %s. If you're running a *nix,
|
||||
|
Loading…
Reference in New Issue
Block a user