Welcome to mirror list, hosted at ThFree Co, Russian Federation.

code.py « session_stats « expansions - github.com/alkorgun/blacksmith-2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: d1d9a26eb9c50c26bd41a6f8786bdc0cc807b9e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# coding: utf-8

#  BlackSmith mark.2
# exp_name = "session_stats" # /code.py v.x6
#  Id: 10~4c
#  Code © (2010-2012) by WitcherGeralt [alkorgun@gmail.com]

class expansion_temp(expansion):

	def __init__(self, name):
		expansion.__init__(self, name)

	def command_exc_info(self, stype, source, body, disp):
		if body:
			if isNumber(body):
				Number = (int(body) - 1)
				if Number in xrange(len(VarCache["errors"])):
					try:
						exc = VarCache["errors"][Number]
						if oSlist[0]:
							exc = exc.decode("cp1251")
						exc = str(exc)
						if stype == Types[1]:
							Answer(AnsBase[11], stype, source, disp)
						Message(source[0], exc, disp)
					except:
						answer = self.AnsBase[20]
				else:
					answer = self.AnsBase[21] % (body)
			else:
				answer = AnsBase[30]
		else:
			answer = self.AnsBase[22] % len(VarCache["errors"])
		if locals().has_key(Types[6]):
			Answer(answer, stype, source, disp)

	def command_botup(self, stype, source, body, disp):
		NowTime = time.time()
		answer = self.AnsBase[15] % (Time2Text(NowTime - Info["up"]))
		if Info["alls"]:
			answer += self.AnsBase[16] % (Time2Text(NowTime - Info["sess"]), str(len(Info["alls"])), ", ".join(sorted(Info["alls"])))
		elif not oSlist[0]:
			answer += self.AnsBase[17]
		Answer(answer, stype, source, disp)

	def command_session(self, stype, source, body, disp):
		NowTime = time.time()
		answer = self.AnsBase[0] % (BsPid)
		answer += self.AnsBase[1] % (Time2Text(NowTime - Info["up"]))
		if len(Info["alls"]):
			answer += self.AnsBase[2] % (Time2Text(NowTime - Info["sess"]))
		answer += self.AnsBase[7] % len(Chats.keys())
		answer += self.AnsBase[3] % (Info["msg"]._str())
		answer += self.AnsBase[4] % (Info["cmd"]._str())
		answer += self.AnsBase[5] % (Info["prs"]._str(), Info["iq"]._str())
		answer += self.AnsBase[6] % (Info["omsg"]._str(), Info["outiq"]._str())
		Number = itypes.Number()
		for conf in Chats.itervalues():
			Number.plus(len(conf.get_nicks()))
		answer += self.AnsBase[8] % (int(Number))
		answer += self.AnsBase[10] % (len(VarCache["errors"]), Info["errors"]._str())
		answer += self.AnsBase[11] % (Info["cfw"]._str())
		answer += self.AnsBase[12] % (iThr.Counter._str(), len(iThr.enumerate()))
		answer += self.AnsBase[13] % os.times()[0]
		Number = calculate()
		if Number:
			answer += self.AnsBase[14] % str(round(float(Number) / 1024, 3))
		Answer(answer, stype, source, disp)

	def command_stats(self, stype, source, body, disp):
		if body:
			cmd = body.lower()
			if Cmds.has_key(cmd):
				answer = self.AnsBase[18] % (cmd, Cmds[cmd].numb._str(), len(Cmds[cmd].desc))
			else:
				answer = AnsBase[6]
		else:
			ls = []
			for cmd in Cmds.values():
				used = cmd.numb._int()
				if used:
					ls.append((used, len(cmd.desc), cmd.name))
			answer = self.AnsBase[19] + str.join(chr(10), ["%s. %s - %d (%d)" % (numb, name, used, desc) for numb, (used, desc, name) in enumerate(sorted(ls, reverse = True), 1)])
		Answer(answer, stype, source, disp)

	commands = (
		(command_exc_info, "excinfo", 8,),
		(command_botup, "botup", 1,),
		(command_session, "stat", 1,),
		(command_stats, "comstat", 1,)
					)