Пример #1
0
def fields_add_pcapfile(obj, keyword = 'pcapfile', initial=None):
    field = TableField(keyword='pcapfile',
                       label='PCAP File',
                       field_cls=FileSelectField,
                       field_kwargs={'widget': FileInput})
    field.save()
    obj.fields.add(field)
Пример #2
0
def fields_add_time_selection(obj, initial_duration=None, durations=None):
    #starttime = TableField(keyword = 'starttime',
    #                            label = 'Start Time',
    #                            field_cls = DateTimeField,
    #                            field_kwargs = { 'widget' : ReportSplitDateTimeWidget },
    #                            required=False)
    #starttime.save()
    #obj.criteria.add(starttime)

    if durations is None:
        durations = DURATIONS

    endtime = TableField(keyword='endtime',
                         label='End Time',
                         field_cls=DateTimeField,
                         field_kwargs={'widget': ReportSplitDateTimeWidget},
                         required=False)
    endtime.save()
    obj.fields.add(endtime)

    duration = (
        TableField(
            keyword='duration',
            label='Duration',
            initial=initial_duration,
            field_cls=DurationField,
            #field_kwargs = { 'widget': DurationWidget },
            field_kwargs={'choices': durations},
            required=False))
    duration.save()
    obj.fields.add(duration)
Пример #3
0
def fields_add_filterexpr(obj, keyword='shark_filterexpr', initial=None):
    field = TableField(keyword=keyword,
                       label='Shark Filter Expression',
                       help_text='Traffic expression using Shark filter syntax',
                       initial=initial,
                       required=False)
    field.save()
    obj.fields.add(field)
Пример #4
0
def fields_add_filterexpr(obj, keyword='profiler_filterexpr', initial=None):
    field = TableField(keyword=keyword,
                       label='Profiler Filter Expression',
                       help_text=('Traffic expression using Profiler Advanced '
                                  'Traffic Expression syntax'),
                       initial=initial,
                       required=False)
    field.save()
    obj.fields.add(field)
Пример #5
0
def fields_add_filterexpr(obj, keyword='shark_filterexpr', initial=None):
    field = TableField(
        keyword=keyword,
        label='Shark Filter Expression',
        help_text='Traffic expression using Shark filter syntax',
        initial=initial,
        required=False)
    field.save()
    obj.fields.add(field)
Пример #6
0
def fields_add_device_selection(obj, keyword='device',
                                label='Device',
                                module=None, enabled=None):
    field = TableField(keyword=keyword, label=label,
                       field_cls=forms.ChoiceField,
                       pre_process_func=Function(device_selection_preprocess,
                                                 {'module': module,
                                                  'enabled': enabled}))
    field.save()
    obj.fields.add(field)
Пример #7
0
def fields_add_resolution(obj, initial=None,
                          resolutions=('1m', '15m', '1h', '6h'),
                          special_values=None):

    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)
Пример #8
0
def fields_add_resolution(obj, initial=None,
                          resolutions=('1m', '15m', '1h', '6h'),
                          special_values=None):

    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)
Пример #9
0
def fields_add_business_hour_fields(report,
                                    default_start='8:00am',
                                    default_end='5:00pm',
                                    default_timezone='US/Eastern',
                                    default_weekends=False):

    fields_add_time_selection(report, initial_duration="1 week")

    TIMES = ['%d:00am' % h for h in range(1, 13)]
    TIMES.extend(['%d:00pm' % h for h in range(1, 13)])

    business_hours_start = TableField(
        keyword='business_hours_start',
        label='Start Business',
        initial=default_start,
        field_cls=forms.ChoiceField,
        field_kwargs={'choices': zip(TIMES, TIMES)},
        required=True)
    business_hours_start.save()
    report.fields.add(business_hours_start)

    business_hours_end = TableField(
        keyword='business_hours_end',
        label='End Business',
        initial=default_end,
        field_cls=forms.ChoiceField,
        field_kwargs={'choices': zip(TIMES, TIMES)},
        required=True)
    business_hours_end.save()
    report.fields.add(business_hours_end)

    business_hours_tzname = TableField(keyword='business_hours_tzname',
                                       label='Business Timezone',
                                       initial=default_timezone,
                                       field_cls=forms.ChoiceField,
                                       field_kwargs={
                                           'choices':
                                           zip(pytz.common_timezones,
                                               pytz.common_timezones)
                                       },
                                       required=True)
    business_hours_tzname.save()
    report.fields.add(business_hours_tzname)

    business_hours_weekends = TableField(keyword='business_hours_weekends',
                                         field_cls=forms.BooleanField,
                                         label='Business includes weekends',
                                         initial=default_weekends,
                                         required=False)
    business_hours_weekends.save()
    report.fields.add(business_hours_weekends)
Пример #10
0
def fields_add_time_selection(obj, initial_duration=None, durations=None):

    if durations is None:
        durations = DURATIONS

    endtime = TableField(keyword='endtime',
                         label='End Time',
                         field_cls=DateTimeField,
                         field_kwargs={'widget': ReportSplitDateTimeWidget},
                         required=False)
    endtime.save()
    obj.fields.add(endtime)

    duration = TableField(keyword='duration',
                          label='Duration',
                          initial=initial_duration,
                          field_cls=DurationField,
                          field_kwargs={'choices': durations},
                          required=False)
    duration.save()
    obj.fields.add(duration)
Пример #11
0
def fields_add_business_hour_fields(obj,
                                    initial_business_hours_start='8:00am',
                                    initial_business_hours_end='5:00pm',
                                    initial_business_hours_tzname='US/Eastern',
                                    initial_business_hours_weekends=False,
                                    **kwargs):

    kwargs['initial_duration'] = kwargs.get('initial_duration', '1w')
    fields_add_time_selection(obj, **kwargs)

    TIMES = ['%d:00am' % h for h in range(1, 13)]
    TIMES.extend(['%d:00pm' % h for h in range(1, 13)])

    business_hours_start = TableField(keyword='business_hours_start',
                                      label='Start Business', initial=initial_business_hours_start,
                                      field_cls=forms.ChoiceField,
                                      field_kwargs={'choices': zip(TIMES, TIMES)},
                                      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_business_hours_end,
                                    field_cls=forms.ChoiceField,
                                    field_kwargs={'choices': zip(TIMES, TIMES)},
                                    required=True)
    business_hours_end.save()
    obj.fields.add(business_hours_end)

    business_hours_tzname = TableField(keyword='business_hours_tzname',
                                       label='Business Timezone', initial=initial_business_hours_tzname,
                                       field_cls=forms.ChoiceField,
                                       field_kwargs={'choices': zip(pytz.common_timezones,
                                                                    pytz.common_timezones)},
                                       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_business_hours_weekends,
                                         required=False)
    business_hours_weekends.save()
    obj.fields.add(business_hours_weekends)
Пример #12
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',):

    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},
                           required=False)
        field.save()
        obj.fields.add(field)