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_stock_symbol(self, help_text, keyword='stock_symbol', initial=None): field = TableField(keyword=keyword, label='Stock Symbol', help_text=(help_text), initial=initial, required=True) field.save() self.fields.add(field)
def fields_add_filterexpr(self, 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() 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(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_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(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_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(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_end_date(self, initial_end_date='now-0'): # Add a date field # the front javascript code will determine the default date # according to initial_end_date, so if initial_end_date is # 'now-0', today will be the default end date field = TableField(keyword='end_date', label='End Date', field_cls=DateTimeField, field_kwargs={'widget': ReportSplitDateWidget, 'widget_attrs': {'initial_date': initial_end_date}}, required=False) 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 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)
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)
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_pcapfile(obj, keyword='pcapfilename', label='PCAP File', initial=None, astextfield=False): """Add a PCAP file selection field. :param bool astextfield: If True, use a text field instead of a file selection field. The text value is interpreted as a file on the server. """ kwargs = {} if not astextfield: kwargs['field_cls'] = FileSelectField kwargs['field_kwargs'] = {'widget': FileInput} field = TableField(keyword=keyword, label=label, **kwargs) 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 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_business_hour_fields(obj, initial_biz_hours_start='8:00am', initial_biz_hours_end='5:00pm', initial_biz_hours_tzname='US/Eastern', initial_biz_hours_weekends=False, **kwargs): kwargs['initial_duration'] = kwargs.get('initial_duration', '1w') fields_add_time_selection(obj, show_start=True, **kwargs) time_choices = {'choices': zip(TIMES, TIMES)} business_hours_start = TableField(keyword='business_hours_start', label='Start Business', initial=initial_biz_hours_start, field_cls=forms.ChoiceField, field_kwargs=time_choices, required=True) business_hours_start.save() obj.fields.add(business_hours_start) business_hours_end = TableField(keyword='business_hours_end', label='End Business', initial=initial_biz_hours_end, field_cls=forms.ChoiceField, field_kwargs=time_choices, required=True) business_hours_end.save() obj.fields.add(business_hours_end) tz_choices = {'choices': zip(pytz.common_timezones, pytz.common_timezones)} business_hours_tzname = TableField(keyword='business_hours_tzname', label='Business Timezone', initial=initial_biz_hours_tzname, field_cls=forms.ChoiceField, field_kwargs=tz_choices, required=True) business_hours_tzname.save() obj.fields.add(business_hours_tzname) business_hours_weekends = TableField(keyword='business_hours_weekends', field_cls=forms.BooleanField, label='Business includes weekends', initial=initial_biz_hours_weekends, required=False) business_hours_weekends.save() obj.fields.add(business_hours_weekends)
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', round_initial=0, # seconds to round initial time 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, 'round_initial': round_initial } }, 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, 'round_initial': round_initial } }, 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 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)