def handle(self, **kwargs): while True: name = self._get_string('Group Name') if ServerGroup.objects(name=name).count() > 0: print "That group name is already in use" continue else: break g = ServerGroup(name=name) g.slug = slugify(g.name) g.save() print 'Server group "%s" successfully added' % (name)
def handle(self, **kwargs): groups = ServerGroup.objects().order_by('name') i = 1 for g in groups: print '%i) %s' % (i, g.name) i += 1 print 'q) Quit' num = self._get_string('Enter number to edit') g = groups[int(num)-1] print print "Editing %s now..." % g print servers = [] i = 1 for s in Server.objects().order_by('name'): if s.id in g.servers: print '%i) %s' % (i, s.host) i += 1l;s servers.append(s) num = self._get_string('Enter number to to delete from the group') g.servers.remove(servers[int(num)-1].id) g.save()
def send_logs(s): # # send the logs back to the server that needs to be sent over # logs = [] # # getting all logs for the server # if s.logs is not None: logs.extend(s.logs) # # does the server have a group? # for group in ServerGroup.objects(servers=s.id): if group.logs is not None: logs.extend(group.logs) # # remove the dups # logs = list(set(logs)) return HttpResponse(simplejson.dumps(logs))
def handle(self, **kwargs): groups = ServerGroup.objects() i = 1 for g in groups: print '%i) %s' % (i, g.name) i += 1 num = self._get_string('Enter number to delete', required=False) groups[int(num)-1].delete()
def show_index(request, group=False): if group: # # getting the groups # groups = ServerGroup.objects() return render_to_response('server/index_group.html', {'groups': groups}, context_instance=RequestContext(request)) else: # # getting all the servers # servers = Server.objects() return render_to_response('server/index.html', {'servers': servers}, context_instance=RequestContext(request))
def handle(self, **kwargs): if kwargs['server']: objs = Server.objects() if kwargs['group']: i = 1 for s in Server.objects(): print '%i) %s' % (i, s.host) i += 1 num = self._get_string('Enter number to add to') obj = servers[int(num)-1] if kwargs['group']: groups = ServerGroup.objects() i = 1 for g in groups: print '%i) %s' % (i, g.name) i += 1 num = self._get_string('Enter number to add to') obj = groups[int(num)-1] while True: # # list the logs for the server/group now # if len(obj.logs) == 0: break i = 1 for l in obj.logs: print '%i) %s' % (i, l) i += 1 num = int(self._get_string('Enter number to delete')) if num > 0: obj.logs.pop(num-1) obj.save()
def handle(self, **kwargs): if kwargs['group']: groups = ServerGroup.objects() i = 1 for g in groups: print '%i) %s' % (i, g.name) i += 1 num = self._get_string('Enter number to add to') obj = groups[int(num)-1] elif kwargs['server']: servers = Server.objects() i = 1 for s in servers: print '%i) %s' % (i, s.host) i += 1 print 'q) Quit' num = self._get_string('Enter number to add to') obj = servers[int(num)-1] while True: log = self._get_string('Enter full path to log (hit enter to exit)', required=False) if log == "": break else: # # append the log to it # if obj.logs is None: obj.logs = [log] else: obj.logs.append(log) obj.save()
def show_group(request, group=None): g = ServerGroup.objects(slug=group).first() if request.GET.has_key('log'): out = [] line = "" if request.method == "POST": # # grabbing the last 50 logs from our search string # logs = Log.objects(server__in=g.servers, log=request.GET['log'], line__icontains=request.POST['search']).limit(50) else: # # grabbing the last 50 logs # logs = Log.objects(server__in=g.servers, log=request.GET['log']).limit(50) if logs.count() > 0: old = logs[0] for l in logs: if old.server == l.server: line += l.line else: if old is not None: out.append({'server': old.server, 'line': line}) old = l line = l.line # # append the last line # if line != "": out.append({'server': old.server, 'line': line}) return render_to_response('server/log_group.html', {'group': g, 'logs': out}, context_instance=RequestContext(request)) return render_to_response('server/group.html', {'group': g}, context_instance=RequestContext(request))