systems.models.System.objects.all

Here are the examples of the python api systems.models.System.objects.all taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

4 Examples 7

Example 1

Project: inventory Source File: models.py
Function: get_systems
    def get_systems(self):
        """Get all systems associated to racks in this site"""
        if not self.systems:
            from systems.models import System
            self.systems = System.objects.all()
        return self.systems.filter(system_rack__in=self.systemrack_set.all())

Example 2

Project: inventory Source File: updated_hostname_report.py
Function: main
def main():
    print 'id, old_hostname, new_hostname'
    for sys in models.System.objects.all():
        if sys.keyvalue_set.filter(key='system.hostname.alias.0'):
            old_hostname = sys.keyvalue_set.filter(key='system.hostname.alias.0')[0].value
        else:
            old_hostname = sys.hostname
        if old_hostname != sys.hostname:
            print '%s,%s,%s' % (sys.id, old_hostname, sys.hostname)

Example 3

Project: inventory Source File: build_nics.py
def get_nic_objs():
    """
    Use this function to return all data that *could* be included in a DNS
    build.
    :return: list of tuples. See :function:`get_nick_data`
    """
    systems = System.objects.all()
    formated_nics = []
    for system in systems:
        raw_nics = system.keyvalue_set.all()
        if not raw_nics:
            continue
        formated_nics.append(transform_nics(raw_nics))

    interfaces = []
    for system_nics in formated_nics:
        for primary_nic_number, primary_nic in system_nics.items():
            for sub_nic_number, sub_nic in primary_nic['sub_nics'].items():
                interface = build_nic(sub_nic)
                if not interface:
                    continue
                interfaces.append(interface)
    return interfaces

Example 4

Project: inventory Source File: views.py
@allow_anyone
def report_home(request):
    data = {}
    systems = None
    initial = {
            'system_type': ['SYSTEM'],
            'site': ['-1'],
            'system_status': ['-1'],


            }
    if request.method == 'POST':
        form = ReportForm(request.POST)
        if form.is_valid():
            search_q = Q()
            allocation = request.POST.get('allocation', '')
            server_models = request.POST.get('server_models', '')
            operating_system = request.POST.get('operating_system', '')
            system_status = request.POST.getlist('system_status')
            site = request.POST.get('site')
            systems = System.objects.all()
            if 'SYSTEM' in request.POST.getlist('system_type'):
                if site:
                    if '-1' not in request.POST.getlist('site'):
                        for site in request.POST.getlist('site'):
                            search_q |= Q(system_rack__site__id=site)
                        total_count = System.with_related.filter(search_q).count()
                        systems = systems.filter(search_q)

                if allocation != '':
                    systems = systems.filter(Q(allocation=allocation))

                if server_models != '':
                    systems = systems.filter(Q(server_model__model__icontains=server_models)|Q(server_model__vendor__icontains=server_models))

                if operating_system != '':
                    systems = systems.filter(Q(operating_system__name__icontains=operating_system)|Q(operating_system__version__icontains=operating_system))

                if '-1' not in system_status:
                    the_query = Q()
                    for ss in system_status:
                        the_query |= Q(system_status__id=ss)
                    systems = systems.filter(the_query)
            total_count = systems.count()
            if 'UNMANAGED' in request.POST.getlist('system_type'):
                pass
            data['content'] = str(total_count)
            if 'CSV' == request.POST['output']:
                response = HttpResponse(mimetype='text/csv')
                response['Content-Disposition'] = 'attachment; filename=inventory_report.csv'
                writer = csv.writer(response)
                columns = [
                        'Hostname',
                        'Asset Tag',
                        'Purchase Date',
                        'Server Model',
                        'Serial',
                        'Status',
                        'Purchase Price',
                        'Operating System',
                        'Site',
                        ]
                writer.writerow(columns)
                for system in systems: 
                    writer.writerow([
                    system.hostname,
                    system.asset_tag, 
                    system.purchase_date,
                    system.server_model,
                    system.serial,
                    system.system_status,
                    system.purchase_price,
                    system.operating_system if system.operating_system else '',
                    system.system_rack.site if system.system_rack else '',
                    ])
                return response
            if 'SCREEN' == request.POST['output']:
                template = 'reports/index.html'
        else:
            form = ReportForm(request.POST)
            data['form'] = form
            template = 'reports/index.html'
    else:
        form = ReportForm(initial=initial)
        data['form'] = form
        template = 'reports/index.html'

    return jinja_render_to_response(template, {
            'systems': systems,
            'form': form
           })