Source code for cards.cards_forms

# -*- coding: utf-8 -*-
from django import forms

from core.validator_gsi import validate_order
from cards.models import (QRF, RFScore, Remap, YearFilter, Collate, PreProc,
                          MergeCSV, RFTrain, RandomForest, CalcStats, FILTER_OUT, PERIOD)
from gsi.models import (Area, YearGroup, TileType, Satellite, InputDataDirectory, ListTestFiles,)


[docs]class QRFForm(forms.ModelForm): """**Form for editing QRF Card.**""" def __init__(self, *args, **kwargs): super(QRFForm, self).__init__(*args, **kwargs) name = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, label=u'Name', ) interval = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, required=False, label=u'Interval', ) number_of_trees = forms.IntegerField( widget=forms.NumberInput(attrs={'class': 'form-control'}), initial=0, validators=[validate_order], required=False, label=u'Number of trees', ) number_of_threads = forms.IntegerField( widget=forms.NumberInput(attrs={'class': 'form-control'}), initial=1, validators=[validate_order], required=False, label=u'Number of threads', ) directory = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control config-file'}), max_length=300, required=False, label=u'Directory', ) class Meta: model = QRF fields = [ 'name', 'interval', 'number_of_trees', 'number_of_threads', 'directory', ]
[docs]class RFScoreForm(forms.ModelForm): """**form for editing RFScore Card.**""" def __init__(self, *args, **kwargs): super(RFScoreForm, self).__init__(*args, **kwargs) run_parallel = forms.BooleanField( initial=False, required=False, label=u'Run parallel', ) name = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, label=u'Name', ) area = forms.ModelChoiceField( widget=forms.Select(attrs={"class": 'form-control disabled'}), queryset=Area.objects.all(), empty_label='Select', label=u'Area', ) year_group = forms.ModelChoiceField( widget=forms.Select(attrs={"class": 'form-control disabled'}), queryset=YearGroup.objects.all(), empty_label='Select', label=u'Year group', ) bias_corrn = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'Bias corrn', ) number_of_threads = forms.IntegerField( widget=forms.NumberInput(attrs={'class': 'form-control'}), initial=1, validators=[validate_order], required=False, label=u'Number of threads', ) QRFopts = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=300, required=False, label=u'QRFopts', ) ref_target = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, required=False, label=u'Ref target', ) clean_name = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, required=False, label=u'Clean name', ) class Meta: model = RFScore fields = [ 'name', 'area', 'year_group', 'bias_corrn', 'number_of_threads', 'QRFopts', 'ref_target', 'clean_name', 'run_parallel', ]
[docs]class RemapForm(forms.ModelForm): """**Form for editing Remap Card.**""" def __init__(self, *args, **kwargs): super(RemapForm, self).__init__(*args, **kwargs) run_parallel = forms.BooleanField( initial=False, required=False, label=u'Run parallel', ) name = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, label=u'Name', ) year_group = forms.ModelChoiceField( widget=forms.Select(attrs={"class": 'form-control disabled'}), queryset=YearGroup.objects.all(), empty_label='Select', required=False, label=u'Year group', ) model_name = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, label=u'Model Name', ) file_spec = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, label=u'File spec', ) roi = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, label=u'Roi', ) output_root = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, label=u'Output root', ) output_suffix = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'Output suffix', ) scale = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'Scale', ) output = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'Output', ) color_table = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'Color table', ) refstats_file = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'Refstats file', ) refstats_scale = forms.IntegerField( widget=forms.NumberInput(attrs={'class': 'form-control'}), initial=0, validators=[validate_order], required=False, label=u'Refstats scale', ) conditional_mean = forms.BooleanField( initial=False, required=False, label=u'ConditionalMean', ) conditional_min = forms.BooleanField( initial=False, required=False, label=u'ConditionalMin', ) conditional_median = forms.BooleanField( initial=False, required=False, label=u'ConditionalMedian', ) conditional_max = forms.BooleanField( initial=False, required=False, label=u'ConditionalMax', ) lower_quartile = forms.BooleanField( initial=False, required=False, label=u'LowerQuartile', ) upper_quartile = forms.BooleanField( initial=False, required=False, label=u'UpperQuartile', ) class Meta: model = Remap fields = [ 'name', 'file_spec', 'roi', 'year_group', 'model_name', 'output_root', 'output_suffix', 'scale', 'output', 'color_table', 'refstats_file', 'refstats_scale', 'run_parallel', 'conditional_mean', 'conditional_min', 'conditional_median', 'conditional_max', 'lower_quartile', 'upper_quartile', ]
[docs]class YearFilterForm(forms.ModelForm): """**Form for editing YearFilter Card.**""" def __init__(self, *args, **kwargs): super(YearFilterForm, self).__init__(*args, **kwargs) run_parallel = forms.BooleanField( initial=False, required=False, label=u'Run parallel', ) name = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, label=u'Name', ) area = forms.ModelChoiceField( widget=forms.Select(attrs={"class": 'form-control disabled'}), queryset=Area.objects.all(), empty_label='Select', label=u'Area', ) filetype = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, label=u'Filetype', ) filter = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, required=False, label=u'Filter', ) filter_output = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, required=False, label=u'Filter output', ) extend_start = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, required=False, label=u'Extend start', ) input_fourier = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, required=False, label=u'Input fourier', ) output_directory = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, required=False, label=u'Output directory', ) input_directory = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, required=False, label=u'Input directory', ) class Meta: model = YearFilter fields = [ 'name', 'area', 'filetype', 'filter', 'filter_output', 'extend_start', 'input_fourier', 'output_directory', 'input_directory', 'run_parallel', ]
[docs]class CollateForm(forms.ModelForm): """**Form for editing Collate Card.**""" def __init__(self, *args, **kwargs): super(CollateForm, self).__init__(*args, **kwargs) run_parallel = forms.BooleanField( initial=False, required=False, label=u'Run parallel', ) name = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, label=u'Name', ) area = forms.ModelChoiceField( widget=forms.Select(attrs={"class": 'form-control disabled'}), queryset=Area.objects.all(), empty_label='Select', label=u'Area', ) mode = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=50, required=False, label=u'Mode', ) output_tile_subdir = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'Output tile subdir', ) input_scale_factor = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'Input scale factor', ) input_data_directory = forms.ModelChoiceField( widget=forms.Select(attrs={"class": 'form-control disabled', "onchange": 'this.form.submit()'}), queryset=InputDataDirectory.objects.all(), empty_label='Select', required=False, label=u'Input Data Directory', ) input_files = forms.ModelMultipleChoiceField( widget=forms.SelectMultiple( attrs={'size': '10', 'class': 'form-control disabled'} ), queryset=ListTestFiles.objects.all(), required=False, label=u'Input Files', ) class Meta: model = Collate fields = [ 'name', 'area', 'mode', 'output_tile_subdir', 'input_scale_factor', 'run_parallel', 'input_data_directory', 'input_files', ]
[docs]class PreProcForm(forms.ModelForm): """**Form for editing PreProc Card.**""" def __init__(self, *args, **kwargs): super(PreProcForm, self).__init__(*args, **kwargs) run_parallel = forms.BooleanField( initial=False, required=False, label=u'Run parallel', ) name = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, label=u'Name', ) area = forms.ModelChoiceField( widget=forms.Select(attrs={"class": 'form-control disabled'}), queryset=Area.objects.all(), required=False, empty_label='Select', label=u'Area', ) mode = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=50, required=False, label=u'Mode', ) year_group = forms.ModelChoiceField( widget=forms.Select(attrs={"class": 'form-control disabled'}), queryset=YearGroup.objects.all(), required=False, empty_label='Select', label=u'Year group', ) path_spec_location = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'PreprocSpec location', ) class Meta: model = PreProc fields = [ 'name', 'area', 'mode', 'year_group', 'run_parallel', 'path_spec_location', ]
[docs]class MergeCSVForm(forms.ModelForm): """**Form for editing MergeCSV Card.**""" def __init__(self, *args, **kwargs): super(MergeCSVForm, self).__init__(*args, **kwargs) name = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, label=u'Name', ) csv1 = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'Csv1', ) csv2 = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'Csv2', ) class Meta: model = MergeCSV fields = [ 'name', 'csv1', 'csv2', ]
[docs]class RFTrainForm(forms.ModelForm): """**Form for editing RFTrain Card.**""" def __init__(self, *args, **kwargs): super(RFTrainForm, self).__init__(*args, **kwargs) run_parallel = forms.BooleanField( initial=False, required=False, label=u'Run parallel', ) name = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, label=u'Name', ) tile_type = forms.ModelChoiceField( widget=forms.Select(attrs={"class": 'form-control disabled'}), queryset=TileType.objects.all(), empty_label='Select', label=u'Tile type', ) value = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=300, # required=False, label=u'Value', ) config_file = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control config-file'}), max_length=200, required=False, label=u'Config file', ) output_tile_subdir = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'Output tile subdir', ) input_scale_factor = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'Input scale factor', ) number_of_trees = forms.IntegerField( widget=forms.NumberInput(attrs={'class': 'form-control'}), initial=50, validators=[validate_order], required=False, label=u'Number of trees', ) training = forms.IntegerField( widget=forms.NumberInput(attrs={'class': 'form-control'}), # initial=0, # validators=[validate_order], required=False, label=u'Training', ) number_of_variable = forms.IntegerField( widget=forms.NumberInput(attrs={'class': 'form-control'}), # initial=0, # validators=[validate_order], required=False, label=u'Number of Variable', ) number_of_thread = forms.IntegerField( widget=forms.NumberInput(attrs={'class': 'form-control'}), initial=1, validators=[validate_order], required=False, label=u'Number of Thread', ) class Meta: model = RFTrain fields = [ 'name', 'tile_type', 'number_of_trees', 'value', 'config_file', 'output_tile_subdir', 'input_scale_factor', 'run_parallel', 'training', 'number_of_variable', 'number_of_thread', ]
[docs]class RandomForestForm(forms.ModelForm): """**Form for editing RandomForest Card.**""" def __init__(self, *args, **kwargs): super(RandomForestForm, self).__init__(*args, **kwargs) name = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, label=u'Name', ) aoi_name = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, label=u'AoI Name', ) satellite = forms.ModelChoiceField( widget=forms.Select(attrs={"class": 'form-control disabled'}), queryset=Satellite.objects.all(), empty_label='Select', label=u'Satellite', ) param_set = forms.CharField( widget=forms.Textarea(attrs={'rows': '5', 'class': 'form-control'}), label=u'Parameter Set' ) run_set = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, label=u'Run Set', ) model = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, label=u'Model', ) mvrf = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, label=u'MVRF', ) class Meta: model = RandomForest fields = [ 'name', 'aoi_name', 'satellite', 'param_set', 'run_set', 'model', 'mvrf', ]
[docs]class CalcStatsForm(forms.ModelForm): """**Form for editing CalcStats Card.**""" def __init__(self, *args, **kwargs): super(CalcStatsForm, self).__init__(*args, **kwargs) filter_out = forms.ModelChoiceField( widget=forms.Select(attrs={'class': 'form-control disabled'}), queryset=FILTER_OUT, empty_label='Select', required=False, label=u'Filter Out', ) run_parallel = forms.BooleanField( initial=False, required=False, label=u'Run parallel', ) name = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=100, label=u'Name', ) output_tile_subdir = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'Output Tile Subdir', ) area = forms.ModelChoiceField( widget=forms.Select(attrs={"class": 'form-control disabled'}), queryset=Area.objects.all(), required=False, empty_label='Select', label=u'Area', ) year_group = forms.ModelChoiceField( widget=forms.Select(attrs={"class": 'form-control disabled'}), queryset=YearGroup.objects.all(), empty_label='Select', required=False, label=u'Year group', ) period = forms.CharField( widget=forms.Select( attrs={ "class": 'form-control disabled', "onchange": 'visibleDoy()' }, choices=PERIOD ), required=False, label=u'Period', ) filter = forms.FloatField( widget=forms.NumberInput(attrs={'class': 'form-control', 'step': '1'}), initial=0, validators=[validate_order], error_messages={'required': 'Order must be a positive number'}, required=False, label=u'Filter', ) filter_out = forms.CharField( widget=forms.Select( attrs={'class': 'form-control disabled'}, choices=FILTER_OUT ), required=False, label=u'Filter Out', ) input_fourier = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'Input Fourier', ) out_dir = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'Out Dir', ) doy_variable = forms.CharField( widget=forms.TextInput( attrs={'class': 'form-control doy disabled'} ), max_length=200, required=False, label=u'Input a variable', ) path_spec_location = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), max_length=200, required=False, label=u'PreprocSpec location', ) class Meta: model = CalcStats fields = [ 'name', 'run_parallel', 'output_tile_subdir', 'year_group', 'area', 'period', 'filter', 'filter_out', 'input_fourier', 'out_dir', 'doy_variable', 'path_spec_location', ]