def fields_add_time_selection(obj, show_duration=True, initial_duration=None, durations=None, show_start=False, initial_start_time='now-1h', initial_start_date='now-1h', show_end=True, initial_end_time='now-0', initial_end_date='now-0', special_values=None): if show_start: field = TableField(keyword='starttime', label='Start Time', field_cls=DateTimeField, field_kwargs={ 'widget': ReportSplitDateTimeWidget, 'widget_attrs': { 'initial_time': initial_start_time, 'initial_date': initial_start_date } }, required=False) field.save() obj.fields.add(field) if show_end: field = TableField(keyword='endtime', label='End Time', field_cls=DateTimeField, field_kwargs={ 'widget': ReportSplitDateTimeWidget, 'widget_attrs': { 'initial_time': initial_end_time, 'initial_date': initial_end_date } }, required=False) field.save() obj.fields.add(field) if show_duration: if durations is None: durations = DURATIONS field = TableField(keyword='duration', label='Duration', initial=initial_duration, field_cls=DurationField, field_kwargs={ 'choices': durations, 'special_values': special_values }, required=False) field.save() obj.fields.add(field)
def fields_add_command(obj): field = TableField(keyword='command', label='Command', field_cls=forms.CharField) field.save() obj.fields.add(field)
def fields_add_device_tag(obj, keyword='tag', label='Tag'): field = TableField(keyword=keyword, label=label, field_cls=forms.ChoiceField, pre_process_func=Function(tag_selection_preprocess, {})) field.save() obj.fields.add(field)
def fields_add_filemgr_selection(obj, keyword='filemgrfile', label='FileMgrFile'): field = TableField(keyword=keyword, label=label, field_cls=IntegerIDChoiceField, pre_process_func=Function(file_selection_preprocess)) field.save() obj.fields.add(field)
def fields_add_sample(self, keyword='resample_interval', initial='60s'): field = TableField(keyword=keyword, label='Resample Seconds', help_text='Number of seconds to sample data over.', initial=initial, required=False) field.save() self.fields.add(field)
def fields_add_filterexpr(table, keyword='netshark_filterexpr', initial=None): field = TableField(keyword=keyword, label='NetShark Filter Expression', help_text='Traffic expression using ' 'NetShark filter syntax', initial=initial, required=False) field.save() table.fields.add(field)
def fields_add_filterexpr(obj, keyword='wireshark_filterexpr', initial=None): field = (TableField( keyword=keyword, label='WireShark Filter Expression', help_text=('Traffic expression using WireShark Display ' 'Filter syntax'), initial=initial, required=False)) field.save() obj.fields.add(field)
def fields_add_device_selection(obj, keyword='device', label='Device', module=None, enabled=None): field = TableField(keyword=keyword, label=label, field_cls=IntegerIDChoiceField, pre_process_func=Function(device_selection_preprocess, {'module': module, 'enabled': enabled})) field.save() obj.fields.add(field)
def fields_add_filterexpr(self, keyword='netprofiler_filterexpr', initial=None): field = TableField(keyword=keyword, label='NetProfiler Filter Expression', help_text=('Traffic expression using NetProfiler ' 'Advanced Traffic Expression syntax'), initial=initial, required=False) field.save() self.fields.add(field)
def fields_add_filterexpr(table, keyword='appresponse_steelfilter', initial=None): field = TableField(keyword=keyword, label='SteelFilter Expression', help_text='Traffic expression using ' 'SteelFilter syntax, e.g. ' 'ip.addr == "10.0.0.1" or ' 'avg_traffic.total_ bytes_ps <= 10000', initial=initial, required=False) field.save() table.fields.add(field)
def post_process_table(self, field_options): super(BandwidthTable, self).post_process_table(field_options) durations = [('1min', '1 minute'), ('5min', '5 minutes'), ('hour', '1 hour'), ('day', '1 day'), ('week', '1 week'), ('month', '1 month')] field = TableField(keyword='duration', label='Bandwidth Stats Duration', field_cls=forms.ChoiceField, field_kwargs={'choices': durations}, initial='5min') field.save() self.fields.add(field)
def fields_add_granularity(obj, initial=None, source=None): if source == 'packets': granularities = ('0.001', '0.01', '0.1', '1', '10', '60', '600', '3600', '86400') else: granularities = ('60', '600', '3600', '86400') field = TableField(keyword='granularity', label='Granularity', field_cls=DurationField, field_kwargs={'choices': granularities}, initial=initial) field.save() obj.fields.add(field)
def post_process_table(self, field_options): super(SCCThroughputTable, self).post_process_table(field_options) # Add device ID field field = TableField(keyword='device', label='Device Serial ID', required=True) field.save() self.fields.add(field) # Add port field field = TableField(keyword='port', label='Port', required=False) field.save() self.fields.add(field) # Add traffic_type field traffic_types = ('peak', 'p95') field = TableField( keyword='traffic_type', label='Traffic Type', field_cls=forms.ChoiceField, field_kwargs={'choices': zip(traffic_types, traffic_types)}) field.save() self.fields.add(field)
def __init__(self, *args, **kwargs): fields = {} res = TableField.objects.filter(keyword='batch_file') if not res: file_upload = TableField(keyword='batch_file', label='Batch File', field_cls=FileSelectField, field_kwargs=dict(widget=FileInput), required=True) file_upload.save() else: file_upload = res[0] fields['batch_file'] = file_upload super(DeviceBatchForm, self).__init__(fields, *args, **kwargs)
def fields_add_resolution(obj, initial=None, resolutions=None, special_values=None): if resolutions is None: resolutions = ('1m', '15m', '1h', '6h') field = TableField(keyword='resolution', label='Data Resolution', field_cls=DurationField, field_kwargs={ 'choices': resolutions, 'special_values': special_values }, initial=initial) field.save() obj.fields.add(field)