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)
Esempio n. 3
0
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)
Esempio n. 4
0
    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)
Esempio n. 5
0
 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)
Esempio n. 6
0
 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)
Esempio n. 7
0
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)
Esempio n. 9
0
    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)
Esempio n. 10
0
 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)
Esempio n. 11
0
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)
Esempio n. 12
0
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)
Esempio n. 14
0
 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)
Esempio n. 15
0
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)
Esempio n. 16
0
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)
Esempio n. 17
0
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)
Esempio n. 18
0
    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)
Esempio n. 20
0
    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)
Esempio n. 21
0
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)
Esempio n. 23
0
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)
Esempio n. 24
0
    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)