blob: 42b3e6178cabae748058ca31ba36987acae8e1a6 (
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
|
# -*- coding: utf-8 -*-
from common.misc import arg_abbr
# XEP-0072: Server Version
class Version:
"""
process and format a version query
"""
def __init__(self):
# init all necessary variables
self.software_version = None
self.target, self.opt_arg = None, None
self.possible_vars = ["version", "os", "name"]
def format_result(self):
name = self.software_version['name']
version = self.software_version['version']
os = self.software_version['os']
# check for possible abbreviations to the optional argument
self.opt_arg = arg_abbr(self.opt_arg, self.possible_vars)
# if opt_arg is given member of possible_opt_args list return that element
if self.opt_arg in self.possible_vars:
text = "%s: %s" % (self.opt_arg, self.software_version[self.opt_arg])
# otherwise return full version string
else:
text = "%s is running %s version %s on %s" % (self.target, name, version, os)
return text
def format(self, query, target, opt_arg):
self.software_version = query['software_version']
self.target = target
self.opt_arg = opt_arg
reply = self.format_result()
return reply
|