Exemple #1
0
    def test_parse_valid_and_save(self):
        mp = ManifestParser(self.valid_xml_file)
        mp.parse()

        self.assertEqual(len(mp.media_file_objs), 2)

        mp.save()

        self.assertEqual(MediaFile.objects.count(), 2)

        manifest = Manifest.objects.get(id=1)
        self.assertEqual(manifest.filename, valid_manifest_file)
        self.assertEqual(manifest.media_files.count(), 2)
Exemple #2
0
class ManifestForm(forms.Form):
    """
    Manifest file upload form
    """
    file = forms.FileField(label='Manifest File')

    def __init__(self, *args, **kwargs):
        self._parser = None  # XML parser
        super(ManifestForm, self).__init__(*args, **kwargs)

    def clean_file(self):
        self._parser = ManifestParser(self.cleaned_data['file'])

        try:
            self._parser.parse()
        except ParseError:
            raise forms.ValidationError('Invalid manifest file uploaded')

    def save(self):
        return self._parser.save()
Exemple #3
0
    def setUp(self):
        mp = ManifestParser(open(test_upload_manifest, 'r'))
        mp.parse()
        self.manifest = mp.save()

        self.upload_url = '/upload/%d' % self.manifest.id