40
40
self.description = description
42
42
class WebLivePackage(object):
43
def __init__(self, pkgname, version):
43
def __init__(self, pkgname, version, autoinstall):
44
44
self.pkgname = pkgname
45
45
self.version = version
46
self.autoinstall = autoinstall
47
48
class WebLiveServer(object):
48
def __init__(self, name, title, description, timelimit, userlimit, users):
49
def __init__(self, name, title, description, timelimit, userlimit, users, autoinstall):
51
52
self.description = description
52
53
self.timelimit = timelimit
53
54
self.userlimit = userlimit
54
55
self.current_users = users
56
self.autoinstall = autoinstall
56
58
def __repr__(self):
57
return "[WebLiveServer: %s (%s - %s), timelimit=%s, userlimit=%s, current_users=%s" % (
58
self.name, self.title, self.description, self.timelimit, self.userlimit, self.current_users)
59
return "[WebLiveServer: %s (%s - %s), timelimit=%s, userlimit=%s, current_users=%s, autoinstall=%s" % (
60
self.name, self.title, self.description, self.timelimit, self.userlimit, self.current_users, self.autoinstall)
60
62
class WebLiveEverythingServer(WebLiveServer):
61
def __init__(self, name, title, description, timelimit, userlimit, users, locales, packages):
63
def __init__(self, name, title, description, timelimit, userlimit, users, autoinstall, locales, packages):
62
64
self.locales = [WebLiveLocale(x[0], x[1]) for x in locales]
63
self.packages = [WebLivePackage(x[0], x[1]) for x in packages]
65
self.packages = [WebLivePackage(x[0], x[1], x[2]) for x in packages]
65
WebLiveServer.__init__(self, name, title, description, timelimit, userlimit, users)
67
WebLiveServer.__init__(self, name, title, description, timelimit, userlimit, users, autoinstall)
67
69
def __repr__(self):
68
return "[WebLiveServer: %s (%s - %s), timelimit=%s, userlimit=%s, current_users=%s, nr_locales=%s, nr_pkgs=%s" % (
69
self.name, self.title, self.description, self.timelimit, self.userlimit, self.current_users, len(self.locales), len(self.packages))
70
return "[WebLiveServer: %s (%s - %s), timelimit=%s, userlimit=%s, current_users=%s, autoinstall=%s, nr_locales=%s, nr_pkgs=%s" % (
71
self.name, self.title, self.description, self.timelimit, self.userlimit, self.current_users, self.autoinstall, len(self.locales), len(self.packages))
72
74
def __init__(self,url,as_object=False):
173
176
return [WebLiveLocale(x[0], x[1]) for x in reply['message']]
178
def list_package_blacklist(self):
180
query['action']='list_package_blacklist'
181
reply=self.do_query(query)
183
if type(reply['message']) != type([]):
184
raise WebLiveError("Invalid value, expected '%s' and got '%s'."
185
% (type({}),type(reply['message'])))
187
if not self.as_object:
188
return reply['message']
190
return [WebLivePackage(x, None, None) for x in reply['message']]
175
192
def list_packages(self,serverid):
177
194
query['action']='list_packages'