Beispiel #1
0
 def test_metadata_extraction(self):
     from os import path
     import datetime
     from fractions import Fraction
     try:
         from tardis.tardis_portal.filters.exif import EXIFFilter
     except:
         raise SkipTest()
     f = EXIFFilter("EXIF", "http://exif.schema")
     filename = path.join(path.abspath(path.dirname(__file__)), 'test.jpg')
     metadata = {'Exif.Thumbnail.ResolutionUnit': 2,
                 'Exif.Photo.ColorSpace': 65535,
                 'Exif.Image.Orientation': 1,
                 'Exif.Photo.PixelYDimension': 768L,
                 'Exif.Image.XResolution': Fraction(72, 1),
                 'Exif.Photo.PixelXDimension': 978L,
                 'Exif.Image.ExifTag': 164L,
                 'Exif.Thumbnail.Compression': 6,
                 'Exif.Image.DateTime': datetime.datetime(2005, 7, 8,
                                                          19, 17, 44),
                 'Exif.Image.YResolution': Fraction(72, 1),
                 'Exif.Image.ResolutionUnit': 2,
                 'Exif.Thumbnail.YResolution': Fraction(72, 1),
                 'Exif.Thumbnail.XResolution': Fraction(72, 1),
                 'Exif.Image.Software': 'Adobe Photoshop Elements 2.0'}
     self.assertEqual(f.getExif(filename), metadata)
Beispiel #2
0
 def test_metadata_extraction(self):
     from os import path
     import datetime
     from fractions import Fraction
     try:
         from tardis.tardis_portal.filters.exif import EXIFFilter
     except:
         raise SkipTest()
     f = EXIFFilter("EXIF", "http://exif.schema")
     filename = path.join(path.abspath(path.dirname(__file__)), 'test.jpg')
     metadata = {
         'Exif.Thumbnail.ResolutionUnit': 2,
         'Exif.Photo.ColorSpace': 65535,
         'Exif.Image.Orientation': 1,
         'Exif.Photo.PixelYDimension': 768L,
         'Exif.Image.XResolution': Fraction(72, 1),
         'Exif.Photo.PixelXDimension': 978L,
         'Exif.Image.ExifTag': 164L,
         'Exif.Thumbnail.Compression': 6,
         'Exif.Image.DateTime': datetime.datetime(2005, 7, 8, 19, 17, 44),
         'Exif.Image.YResolution': Fraction(72, 1),
         'Exif.Image.ResolutionUnit': 2,
         'Exif.Thumbnail.YResolution': Fraction(72, 1),
         'Exif.Thumbnail.XResolution': Fraction(72, 1),
         'Exif.Image.Software': 'Adobe Photoshop Elements 2.0'
     }
     self.assertEqual(f.getExif(filename), metadata)
Beispiel #3
0
    def test_create_schema(self):
        try:
            from tardis.tardis_portal.filters.exif import EXIFFilter
        except:
            raise SkipTest()

        f = EXIFFilter("EXIF", "http://exif.schema")
        self.assertEqual(str(f.getSchema()),
                         "Datafile schema: http://exif.schema")
Beispiel #4
0
    def test_create_schema(self):
        try:
            from tardis.tardis_portal.filters.exif import EXIFFilter
        except:
            raise SkipTest()

        f = EXIFFilter("EXIF", "http://exif.schema")
        self.assertEqual(str(f.getSchema()),
                         "Datafile schema: http://exif.schema")
Beispiel #5
0
    def test_update_schema(self):
        from os import path
        try:
            from tardis.tardis_portal.filters.exif import EXIFFilter
        except:
            raise SkipTest()

        f = EXIFFilter("EXIF", "http://exif.schema")
        filename = path.join(path.abspath(path.dirname(__file__)), 'test.jpg')
        self.assertEqual(
            len(f.getParamaters(f.getSchema(), f.getExif(filename))), 14)
Beispiel #6
0
    def test_update_schema(self):
        from os import path
        try:
            from tardis.tardis_portal.filters.exif import EXIFFilter
        except:
            raise SkipTest()

        f = EXIFFilter("EXIF", "http://exif.schema")
        filename = path.join(path.abspath(path.dirname(__file__)), 'test.jpg')
        self.assertEqual(len(f.getParamaters(f.getSchema(),
                                             f.getExif(filename))),
                         14)
Beispiel #7
0
    def test_save_metadata(self):
        from os import path
        try:
            from tardis.tardis_portal.filters.exif import EXIFFilter
        except:
            raise SkipTest()

        from tardis.tardis_portal import models

        filename = path.join(path.abspath(path.dirname(__file__)), 'test.jpg')

        exp = models.Experiment(title='test exp1',
                                institution_name='monash',
                                approved=True,
                                created_by=self.user,
                                public=False)
        exp.save()

        dataset = models.Dataset(description="dataset description...",
                                 experiment=exp)
        dataset.save()
        df_file = models.Dataset_File(dataset=dataset,
                                      filename='file1.txt',
                                      url=filename,
                                      protocol='')
        df_file.save()

        f = EXIFFilter("EXIF", "http://exif.schema")

        metadata = f.getExif(filename)
        parameters = f.getParamaters(f.getSchema(), metadata)
        ps = f.saveExifMetadata(df_file, f.getSchema(), metadata)
        self.assertEqual(len(ps.datafileparameter_set.all()), 14)
Beispiel #8
0
    def test_save_metadata(self):
        from os import path
        try:
            from tardis.tardis_portal.filters.exif import EXIFFilter
        except:
            raise SkipTest()

        from tardis.tardis_portal import models

        filename = path.join(path.abspath(path.dirname(__file__)), 'test.jpg')

        exp = models.Experiment(title='test exp1',
                                institution_name='monash',
                                approved=True,
                                created_by=self.user,
                                public=False)
        exp.save()

        dataset = models.Dataset(description="dataset description...",
                                 experiment=exp)
        dataset.save()
        df_file = models.Dataset_File(dataset=dataset,
                                      filename='file1.txt',
                                      url=filename,
                                      protocol='')
        df_file.save()

        f = EXIFFilter("EXIF", "http://exif.schema")

        metadata = f.getExif(filename)
        parameters = f.getParamaters(f.getSchema(), metadata)
        ps = f.saveExifMetadata(df_file, f.getSchema(), metadata)
        self.assertEqual(len(ps.datafileparameter_set.all()), 14)
Beispiel #9
0
    def test_parameter_filters(self):
        from os import path
        import datetime
        try:
            from tardis.tardis_portal.filters.exif import EXIFFilter
        except:
            raise SkipTest()

        metadata = {'EXIF ColorSpace': 'Uncalibrated',
                    'EXIF ExifImageLength': 768, 
                    'EXIF ExifImageWidth': 978, 
                    'Image DateTime': '2005:07:08 19:17:44',
                    'Image ExifOffset': 164, 
                    'Image XResolution': 72,
                    'Image YResolution': 72,
                    'Image Orientation': 'Horizontal (normal)',
                    'Image ResolutionUnit': 'Pixels/Inch',
                    'Image Software': 'Adobe Photoshop Elements 2.0',
                    'Thumbnail Compression': 'JPEG (old-style)',
                    'Thumbnail XResolution': 72,
                    'Thumbnail YResolution': 72,
                    'Thumbnail ResolutionUnit': 'Pixels/Inch'}

        f = EXIFFilter("EXIF", "http://exif.schema",
                       tagsToFind=["EXIF ColorSpace",
                                   'Image Orientation'])
        s = f.getSchema()
        self.assertEqual(len(f.getParamaters(s, metadata)), 2)

        f = EXIFFilter("EXIF", "http://exif.schema",
                       tagsToExclude=["EXIF ColorSpace",
                                      'Image Orientation'])
        s = f.getSchema()
        self.assertEqual(len(f.getParamaters(s, metadata)), 12)
Beispiel #10
0
 def test_metadata_extraction(self):
     from os import path
     import datetime
     try:
         from tardis.tardis_portal.filters.exif import EXIFFilter
     except:
         raise SkipTest()
     f = EXIFFilter("EXIF", "http://exif.schema")
     filename = path.join(path.abspath(path.dirname(__file__)), 'test.jpg')
     metadata = {'EXIF ColorSpace': 'Uncalibrated',
                 'EXIF ExifImageLength': 768, 
                 'EXIF ExifImageWidth': 978, 
                 'Image DateTime': '2005:07:08 19:17:44',
                 'Image ExifOffset': 164, 
                 'Image XResolution': 72,
                 'Image YResolution': 72,
                 'Image Orientation': 'Horizontal (normal)',
                 'Image ResolutionUnit': 'Pixels/Inch',
                 'Image Software': 'Adobe Photoshop Elements 2.0',
                 'Thumbnail Compression': 'JPEG (old-style)',
                 'Thumbnail XResolution': 72,
                 'Thumbnail YResolution': 72,
                 'Thumbnail ResolutionUnit': 'Pixels/Inch'}
     self.assertEqual(f.getExif(filename), metadata)
Beispiel #11
0
    def test_parameter_filters(self):
        from os import path
        import datetime
        from fractions import Fraction
        try:
            from tardis.tardis_portal.filters.exif import EXIFFilter
        except:
            raise SkipTest()

        metadata = {
            'Exif.Thumbnail.ResolutionUnit': 2,
            'Exif.Photo.ColorSpace': 65535,
            'Exif.Image.Orientation': 1,
            'Exif.Photo.PixelYDimension': 768L,
            'Exif.Image.XResolution': Fraction(72, 1),
            'Exif.Photo.PixelXDimension': 978L,
            'Exif.Image.ExifTag': 164L,
            'Exif.Thumbnail.Compression': 6,
            'Exif.Image.DateTime': datetime.datetime(2005, 7, 8, 19, 17, 44),
            'Exif.Image.YResolution': Fraction(72, 1),
            'Exif.Image.ResolutionUnit': 2,
            'Exif.Thumbnail.YResolution': Fraction(72, 1),
            'Exif.Thumbnail.XResolution': Fraction(72, 1),
            'Exif.Image.Software': 'Adobe Photoshop Elements 2.0'
        }

        f = EXIFFilter(
            "EXIF",
            "http://exif.schema",
            tagsToFind=["Exif.Photo.ColorSpace", 'Exif.Image.Orientation'])
        s = f.getSchema()
        self.assertEqual(len(f.getParamaters(s, metadata)), 2)

        f = EXIFFilter(
            "EXIF",
            "http://exif.schema",
            tagsToExclude=["Exif.Photo.ColorSpace", 'Exif.Image.Orientation'])
        s = f.getSchema()
        self.assertEqual(len(f.getParamaters(s, metadata)), 12)
Beispiel #12
0
    def test_parameter_filters(self):
        from os import path
        import datetime
        from fractions import Fraction
        try:
            from tardis.tardis_portal.filters.exif import EXIFFilter
        except:
            raise SkipTest()

        metadata = {'Exif.Thumbnail.ResolutionUnit': 2,
                    'Exif.Photo.ColorSpace': 65535,
                    'Exif.Image.Orientation': 1,
                    'Exif.Photo.PixelYDimension': 768L,
                    'Exif.Image.XResolution': Fraction(72, 1),
                    'Exif.Photo.PixelXDimension': 978L,
                    'Exif.Image.ExifTag': 164L,
                    'Exif.Thumbnail.Compression': 6,
                    'Exif.Image.DateTime': datetime.datetime(2005, 7, 8,
                                                             19, 17, 44),
                    'Exif.Image.YResolution': Fraction(72, 1),
                    'Exif.Image.ResolutionUnit': 2,
                    'Exif.Thumbnail.YResolution': Fraction(72, 1),
                    'Exif.Thumbnail.XResolution': Fraction(72, 1),
                    'Exif.Image.Software': 'Adobe Photoshop Elements 2.0'}

        f = EXIFFilter("EXIF", "http://exif.schema",
                       tagsToFind=["Exif.Photo.ColorSpace",
                                   'Exif.Image.Orientation'])
        s = f.getSchema()
        self.assertEqual(len(f.getParamaters(s, metadata)), 2)

        f = EXIFFilter("EXIF", "http://exif.schema",
                       tagsToExclude=["Exif.Photo.ColorSpace",
                                      'Exif.Image.Orientation'])
        s = f.getSchema()
        self.assertEqual(len(f.getParamaters(s, metadata)), 12)