def get_module_view(module_object, perspective, activity_interval=None): """ Returns a dict structure with all ports on the module. Arguments: perspective -- decides what kind of ports are included. activity_interval -- number of days to check for port activity. """ module = utils.get_module_view(module_object, perspective, activity_interval) if activity_interval is not None: module['activity_interval'] = activity_interval module['activity_interval_start'] = ( dt.datetime.now() - dt.timedelta(days=activity_interval)) # Check if we got data for the entire search interval try: module['activity_data_start'] = ( module_object.netbox.cam_set.order_by( 'start_time')[0].start_time) module['activity_data_interval'] = ( dt.datetime.now() - module['activity_data_start']).days module['activity_complete_data'] = ( module['activity_data_start'] < module['activity_interval_start']) except IndexError: module['activity_data_start'] = None module['activity_data_interval'] = 0 module['activity_complete_data'] = False return module
def get_module_view(module_object, perspective, activity_interval=None): """ Returns a dict structure with all ports on the module. Arguments: perspective -- decides what kind of ports are included. activity_interval -- number of days to check for port activity. """ module = utils.get_module_view( module_object, perspective, activity_interval) if activity_interval is not None: module['activity_interval'] = activity_interval module['activity_interval_start'] = ( dt.datetime.now() - dt.timedelta(days=activity_interval)) # Check if we got data for the entire search interval try: module['activity_data_start'] = ( module_object.netbox.cam_set.order_by( 'start_time')[0].start_time) module['activity_data_interval'] = ( dt.datetime.now() - module['activity_data_start']).days module['activity_complete_data'] = ( module['activity_data_start'] < module['activity_interval_start']) except IndexError: module['activity_data_start'] = None module['activity_data_interval'] = 0 module['activity_complete_data'] = False return module
def test_get_module_view(netbox, perspective): module = netbox.module_set.all()[0] result = get_module_view(module, perspective='swportstatus', netbox=netbox) assert result['object'] == module assert 'ports' in result
def get_port_view(request, netbox_sysname, perspective): """Returns a html fragment with all modules and ports on the netbox. Arguments: netbox_sysname -- ... perspective -- decides what kind of ports are included. """ netbox = get_object_or_404(Netbox, sysname=netbox_sysname) # Get port activity search interval from form activity_interval = 30 activity_interval_form = None if perspective == 'swportactive': if 'interval' in request.GET: activity_interval_form = ActivityIntervalForm(request.GET) if activity_interval_form.is_valid(): activity_interval = activity_interval_form.cleaned_data[ 'interval'] else: activity_interval_form = ActivityIntervalForm( initial={'interval': activity_interval}) port_view = { 'perspective': perspective, 'modules': [], 'activity_interval': activity_interval, 'activity_interval_start': dt.datetime.now() - dt.timedelta(days=activity_interval), } # Check if we got data for the entire search interval try: port_view['activity_data_start'] = netbox.cam_set.order_by( 'start_time')[0].start_time port_view['activity_data_interval'] = ( dt.datetime.now() - port_view['activity_data_start']).days port_view['activity_complete_data'] = ( port_view['activity_data_start'] < port_view['activity_interval_start']) except IndexError: port_view['activity_data_start'] = None port_view['activity_data_interval'] = 0 port_view['activity_complete_data'] = False # Add the modules for module in netbox.module_set.select_related(): port_view['modules'].append( utils.get_module_view(module, perspective, activity_interval)) # Add interfaces with no module port_view['modules'].append( utils.get_module_view(None, perspective, activity_interval, netbox)) # Min length of ifname for it to be shortened ifname_too_long = 12 return render_to_response('ipdevinfo/modules.html', { 'netbox': netbox, 'port_view': port_view, 'ifname_too_long': ifname_too_long, 'activity_interval_form': activity_interval_form }, context_instance=RequestContext(request))
def get_port_view(request, netbox_sysname, perspective): """Returns a html fragment with all modules and ports on the netbox. Arguments: netbox_sysname -- ... perspective -- decides what kind of ports are included. """ netbox = get_object_or_404(Netbox, sysname=netbox_sysname) # Get port activity search interval from form activity_interval = 30 activity_interval_form = None if perspective == 'swportactive': if 'interval' in request.GET: activity_interval_form = ActivityIntervalForm(request.GET) if activity_interval_form.is_valid(): activity_interval = activity_interval_form.cleaned_data[ 'interval'] else: activity_interval_form = ActivityIntervalForm( initial={'interval': activity_interval}) port_view = { 'perspective': perspective, 'modules': [], 'activity_interval': activity_interval, 'activity_interval_start': dt.datetime.now() - dt.timedelta(days=activity_interval), } # Check if we got data for the entire search interval try: port_view['activity_data_start'] = netbox.cam_set.order_by( 'start_time')[0].start_time port_view['activity_data_interval'] = ( dt.datetime.now() - port_view['activity_data_start']).days port_view['activity_complete_data'] = ( port_view['activity_data_start'] < port_view['activity_interval_start']) except IndexError: port_view['activity_data_start'] = None port_view['activity_data_interval'] = 0 port_view['activity_complete_data'] = False # Add the modules for module in netbox.module_set.select_related(): port_view['modules'].append(utils.get_module_view( module, perspective, activity_interval)) # Add interfaces with no module port_view['modules'].append(utils.get_module_view( None, perspective, activity_interval, netbox)) # Min length of ifname for it to be shortened ifname_too_long = 12 return render_to_response( 'ipdevinfo/modules.html', { 'netbox': netbox, 'port_view': port_view, 'ifname_too_long': ifname_too_long, 'activity_interval_form': activity_interval_form }, context_instance=RequestContext(request))