示例#1
0
文件: addgroup.py 项目: mzupan/intake
    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)
示例#2
0
    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()
示例#3
0
文件: views.py 项目: mzupan/intake
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))
示例#4
0
文件: delgroup.py 项目: mzupan/intake
    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()
        
        
示例#5
0
文件: views.py 项目: mzupan/intake
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))
示例#6
0
文件: lslog.py 项目: mzupan/intake
    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()
示例#7
0
文件: addlog.py 项目: mzupan/intake
    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()
示例#8
0
文件: views.py 项目: mzupan/intake
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))