Conflicts:
	modules/wolfgame.py
	settings/wolfgame.py
This commit is contained in:
skizzerz 2014-07-25 08:30:53 -05:00
commit 202c03d0d9
2 changed files with 43 additions and 17 deletions

View File

@ -217,7 +217,10 @@ def make_stasis(nick, penalty):
try:
cloak = var.USERS[nick]['cloak']
if cloak is not None:
var.STASISED[cloak] += penalty
if penalty == 0:
del var.STASISED[cloak]
else:
var.STASISED[cloak] += penalty
except KeyError:
pass
@ -1249,7 +1252,7 @@ def chk_win(cli, end_game = True):
if end_game:
cli.msg(chan, message)
var.LOGGER.logMessage(message)
var.LOGGER.logBare(winner.upper())
var.LOGGER.logBare(winner.upper(), "WIN")
stop_game(cli, winner)
return True
@ -4764,25 +4767,46 @@ def player_stats_pm(cli, nick, rest):
player_stats(cli, nick, nick, rest)
@cmd("fpull", admin_only=True)
@cmd('fpull', admin_only=True)
def fpull(cli, nick, chan, rest):
output = None
try:
output = subprocess.check_output(('git', 'pull'), stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
pm(cli, nick, '{0}: {1}'.format(type(e), e))
#raise
args = ['git', 'pull']
if output:
for line in output.splitlines():
if rest:
args += rest.split(' ')
child = subprocess.Popen(args,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
(out, err) = child.communicate()
ret = child.returncode
for line in (out + err).splitlines():
if chan == nick:
cli.msg(nick, line.decode('utf-8'))
else:
pm(cli, nick, line.decode('utf-8'))
else:
pm(cli, nick, '(no output)')
@pmcmd("fpull", admin_only=True)
if ret != 0:
if ret < 0:
cause = 'signal'
else:
cause = 'status'
if chan == nick:
cli.msg(nick, 'Process {} exited with {} {}'.format(args,
cause,
abs(ret)))
else:
pm(cli, nick, 'Process {} exited with {} {}'.format(args,
cause,
abs(ret)))
@pmcmd('fpull', admin_only=True)
def fpull_pm(cli, nick, rest):
fpull(cli, nick, nick, rest)
@pmcmd("fsend", admin_only=True)
def fsend(cli, nick, rest):
print('{0} - {1} fsend - {2}'.format(time.strftime('%Y-%m-%dT%H:%M:%S%z'), nick, rest))

View File

@ -451,11 +451,13 @@ def get_player_totals(acc):
c.execute("SELECT player FROM rolestats WHERE player=? COLLATE NOCASE", (acc,))
player = c.fetchone()
if player:
for role in [k.lower() for k in ROLE_GUIDE.keys()]:
c.execute("SELECT totalgames FROM rolestats WHERE player=? COLLATE NOCASE AND role=? COLLATE NOCASE", (acc, role))
c.execute("SELECT role, totalgames FROM rolestats WHERE player=? COLLATE NOCASE ORDER BY totalgames DESC", (acc,))
while True:
row = c.fetchone()
if row:
role_totals.append("\u0002{0}\u0002: {1}".format(role, *row))
role_totals.append("\u0002{0}\u0002: {1}".format(row[0], row[1]))
else:
break
c.execute("SELECT SUM(totalgames) from rolestats WHERE player=? COLLATE NOCASE AND role!='cursed villager' AND role!='gunner'", (acc,))
row = c.fetchone()
return "\u0002{0}\u0002's totals | \u0002{1}\u0002 games | {2}".format(player[0], row[0], ", ".join(role_totals))