source edition refactoring
This commit is contained in:
		
							parent
							
								
									2f475bf2a8
								
							
						
					
					
						commit
						419c4c5a9f
					
				| 
						 | 
					@ -269,13 +269,7 @@ class ValidateSourceView(FormView):
 | 
				
			||||||
        return append_uri_params(url, fields)
 | 
					        return append_uri_params(url, fields)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class AddSourceView(CreateView):
 | 
					class EditSourceMixin:
 | 
				
			||||||
    '''
 | 
					 | 
				
			||||||
        Adds a new source, optionally takes some initial data querystring values to
 | 
					 | 
				
			||||||
        prepopulate some of the more unclear values.
 | 
					 | 
				
			||||||
    '''
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    template_name = 'sync/source-add.html'
 | 
					 | 
				
			||||||
    model = Source
 | 
					    model = Source
 | 
				
			||||||
    fields = ('source_type', 'key', 'name', 'directory', 'media_format',
 | 
					    fields = ('source_type', 'key', 'name', 'directory', 'media_format',
 | 
				
			||||||
              'index_schedule', 'download_media', 'download_cap', 'delete_old_media',
 | 
					              'index_schedule', 'download_media', 'download_cap', 'delete_old_media',
 | 
				
			||||||
| 
						 | 
					@ -287,6 +281,29 @@ class AddSourceView(CreateView):
 | 
				
			||||||
                                  'this page for valid media name variables'),
 | 
					                                  'this page for valid media name variables'),
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def form_valid(self, form):
 | 
				
			||||||
 | 
					        # Perform extra validation to make sure the media_format is valid
 | 
				
			||||||
 | 
					        obj = form.save(commit=False)
 | 
				
			||||||
 | 
					        source_type = form.cleaned_data['media_format']
 | 
				
			||||||
 | 
					        example_media_file = obj.get_example_media_format()
 | 
				
			||||||
 | 
					        if example_media_file == '':
 | 
				
			||||||
 | 
					            form.add_error(
 | 
				
			||||||
 | 
					                'media_format',
 | 
				
			||||||
 | 
					                ValidationError(self.errors['invalid_media_format'])
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					        if form.errors:
 | 
				
			||||||
 | 
					            return super().form_invalid(form)
 | 
				
			||||||
 | 
					        return super().form_valid(form)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class AddSourceView(EditSourceMixin, CreateView):
 | 
				
			||||||
 | 
					    '''
 | 
				
			||||||
 | 
					        Adds a new source, optionally takes some initial data querystring values to
 | 
				
			||||||
 | 
					        prepopulate some of the more unclear values.
 | 
				
			||||||
 | 
					    '''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    template_name = 'sync/source-add.html'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __init__(self, *args, **kwargs):
 | 
					    def __init__(self, *args, **kwargs):
 | 
				
			||||||
        self.prepopulated_data = {}
 | 
					        self.prepopulated_data = {}
 | 
				
			||||||
        super().__init__(*args, **kwargs)
 | 
					        super().__init__(*args, **kwargs)
 | 
				
			||||||
| 
						 | 
					@ -312,20 +329,6 @@ class AddSourceView(CreateView):
 | 
				
			||||||
            initial[k] = v
 | 
					            initial[k] = v
 | 
				
			||||||
        return initial
 | 
					        return initial
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def form_valid(self, form):
 | 
					 | 
				
			||||||
        # Perform extra validation to make sure the media_format is valid
 | 
					 | 
				
			||||||
        obj = form.save(commit=False)
 | 
					 | 
				
			||||||
        source_type = form.cleaned_data['media_format']
 | 
					 | 
				
			||||||
        example_media_file = obj.get_example_media_format()
 | 
					 | 
				
			||||||
        if example_media_file == '':
 | 
					 | 
				
			||||||
            form.add_error(
 | 
					 | 
				
			||||||
                'media_format',
 | 
					 | 
				
			||||||
                ValidationError(self.errors['invalid_media_format'])
 | 
					 | 
				
			||||||
            )
 | 
					 | 
				
			||||||
        if form.errors:
 | 
					 | 
				
			||||||
            return super().form_invalid(form)
 | 
					 | 
				
			||||||
        return super().form_valid(form)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def get_success_url(self):
 | 
					    def get_success_url(self):
 | 
				
			||||||
        url = reverse_lazy('sync:source', kwargs={'pk': self.object.pk})
 | 
					        url = reverse_lazy('sync:source', kwargs={'pk': self.object.pk})
 | 
				
			||||||
        return append_uri_params(url, {'message': 'source-created'})
 | 
					        return append_uri_params(url, {'message': 'source-created'})
 | 
				
			||||||
| 
						 | 
					@ -364,33 +367,9 @@ class SourceView(DetailView):
 | 
				
			||||||
        return data
 | 
					        return data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class UpdateSourceView(UpdateView):
 | 
					class UpdateSourceView(EditSourceMixin, UpdateView):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    template_name = 'sync/source-update.html'
 | 
					    template_name = 'sync/source-update.html'
 | 
				
			||||||
    model = Source
 | 
					 | 
				
			||||||
    fields = ('source_type', 'key', 'name', 'directory', 'media_format',
 | 
					 | 
				
			||||||
              'index_schedule', 'download_media', 'download_cap', 'delete_old_media',
 | 
					 | 
				
			||||||
              'days_to_keep', 'source_resolution', 'source_vcodec', 'source_acodec',
 | 
					 | 
				
			||||||
              'prefer_60fps', 'prefer_hdr', 'fallback', 'copy_thumbnails', 'write_nfo', 'write_json')
 | 
					 | 
				
			||||||
    errors = {
 | 
					 | 
				
			||||||
        'invalid_media_format': _('Invalid media format, the media format contains '
 | 
					 | 
				
			||||||
                                  'errors or is empty. Check the table at the end of '
 | 
					 | 
				
			||||||
                                  'this page for valid media name variables'),
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def form_valid(self, form):
 | 
					 | 
				
			||||||
        # Perform extra validation to make sure the media_format is valid
 | 
					 | 
				
			||||||
        obj = form.save(commit=False)
 | 
					 | 
				
			||||||
        source_type = form.cleaned_data['media_format']
 | 
					 | 
				
			||||||
        example_media_file = obj.get_example_media_format()
 | 
					 | 
				
			||||||
        if example_media_file == '':
 | 
					 | 
				
			||||||
            form.add_error(
 | 
					 | 
				
			||||||
                'media_format',
 | 
					 | 
				
			||||||
                ValidationError(self.errors['invalid_media_format'])
 | 
					 | 
				
			||||||
            )
 | 
					 | 
				
			||||||
        if form.errors:
 | 
					 | 
				
			||||||
            return super().form_invalid(form)
 | 
					 | 
				
			||||||
        return super().form_valid(form)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_success_url(self):
 | 
					    def get_success_url(self):
 | 
				
			||||||
        url = reverse_lazy('sync:source', kwargs={'pk': self.object.pk})
 | 
					        url = reverse_lazy('sync:source', kwargs={'pk': self.object.pk})
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue