Exemple #1
0
    def test_convert_to_string_undefined(self):
        # Valid values
        tag = ExifTag('Exif.Photo.ExifVersion')
        self.assertEqual(tag.type, 'Undefined')
        self.assertEqual(tag._convert_to_string('0100'), '48 49 48 48')
        self.assertEqual(tag._convert_to_string(u'0100'), '48 49 48 48')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3)
Exemple #2
0
    def test_convert_to_string_byte(self):
        # Valid values
        tag = ExifTag("Exif.GPSInfo.GPSVersionID")
        self.assertEqual(tag.type, "Byte")
        self.assertEqual(tag._convert_to_string("Some text"), "Some text")
        self.assertEqual(tag._convert_to_string(u"Some text"), "Some text")

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
Exemple #3
0
    def test_convert_to_string_srational(self):
        # Valid values
        tag = ExifTag('Exif.Image.BaselineExposure')
        self.assertEqual(tag.type, 'SRational')
        self.assertEqual(tag._convert_to_string(make_fraction(5, 3)), '5/3')
        self.assertEqual(tag._convert_to_string(make_fraction(-5, 3)), '-5/3')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid')
Exemple #4
0
    def test_convert_to_string_undefined(self):
        # Valid values
        tag = ExifTag("Exif.Photo.ExifVersion")
        self.assertEqual(tag.type, "Undefined")
        self.assertEqual(tag._convert_to_string("0100"), "48 49 48 48")
        self.assertEqual(tag._convert_to_string(u"0100"), "48 49 48 48")

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3)
Exemple #5
0
    def test_convert_to_string_srational(self):
        # Valid values
        tag = ExifTag("Exif.Image.BaselineExposure")
        self.assertEqual(tag.type, "SRational")
        self.assertEqual(tag._convert_to_string(make_fraction(5, 3)), "5/3")
        self.assertEqual(tag._convert_to_string(make_fraction(-5, 3)), "-5/3")

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, "invalid")
Exemple #6
0
    def test_convert_to_string_sbyte(self):
        # Valid values
        tag = ExifTag('Exif.Pentax.Temperature')
        self.assertEqual(tag.type, 'SByte')
        self.assertEqual(tag._convert_to_string('13'), '13')
        self.assertEqual(tag._convert_to_string(u'13'), '13')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
Exemple #7
0
    def test_convert_to_string_sbyte(self):
        # Valid values
        tag = ExifTag("Exif.Pentax.Temperature")
        self.assertEqual(tag.type, "SByte")
        self.assertEqual(tag._convert_to_string("13"), "13")
        self.assertEqual(tag._convert_to_string(u"13"), "13")

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
Exemple #8
0
    def test_convert_to_string_byte(self):
        # Valid values
        tag = ExifTag('Exif.GPSInfo.GPSVersionID')
        self.assertEqual(tag.type, 'Byte')
        self.assertEqual(tag._convert_to_string('Some text'), 'Some text')
        self.assertEqual(tag._convert_to_string(u'Some text'), 'Some text')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
Exemple #9
0
    def test_convert_to_string_undefined(self):
        # Valid values
        tag = ExifTag('Exif.Photo.ExifVersion')
        self.assertEqual(tag.type, 'Undefined')
        self.assertEqual(tag._convert_to_string('0100'), '48 49 48 48')
        self.assertEqual(tag._convert_to_string(u'0100'), '48 49 48 48')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3)
Exemple #10
0
    def test_convert_to_string_sbyte(self):
        # Valid values
        tag = ExifTag('Exif.Pentax.Temperature')
        self.assertEqual(tag.type, 'SByte')
        self.assertEqual(tag._convert_to_string('13'), '13')
        self.assertEqual(tag._convert_to_string(u'13'), '13')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
Exemple #11
0
    def test_convert_to_string_byte(self):
        # Valid values
        tag = ExifTag('Exif.GPSInfo.GPSVersionID')
        self.assertEqual(tag.type, 'Byte')
        self.assertEqual(tag._convert_to_string('Some text'), 'Some text')
        self.assertEqual(tag._convert_to_string(u'Some text'), 'Some text')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
Exemple #12
0
    def test_convert_to_string_srational(self):
        # Valid values
        tag = ExifTag('Exif.Image.BaselineExposure')
        self.assertEqual(tag.type, 'SRational')
        self.assertEqual(tag._convert_to_string(make_fraction(5, 3)), '5/3')
        self.assertEqual(tag._convert_to_string(make_fraction(-5, 3)), '-5/3')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string,
                              'invalid')
Exemple #13
0
 def test_convert_to_string_comment(self):
     # Valid values
     tag = ExifTag('Exif.Photo.UserComment')
     self.assertEqual(tag.type, 'Comment')
     self.assertEqual(tag._convert_to_string('A comment'), b'A comment')
     charsets = ('Ascii', 'Jis', 'Unicode', 'Undefined')
     for charset in charsets:
         tag.raw_value = 'charset="%s" foo' % charset
         self.assertEqual(tag._convert_to_string('A comment'), b'A comment')
         self.assertEqual(tag._convert_to_string('déjà vu'),
                          b'd\xc3\xa9j\xc3\xa0 vu')
Exemple #14
0
    def test_convert_to_string_long(self):
        # Valid values
        tag = ExifTag("Exif.Image.ImageWidth")
        self.assertEqual(tag.type, "Long")
        self.assertEqual(tag._convert_to_string(123), "123")
        self.assertEqual(tag._convert_to_string(678024), "678024")

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, -57)
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, "invalid")
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
Exemple #15
0
    def test_convert_to_string_slong(self):
        # Valid values
        tag = ExifTag('Exif.OlympusCs.ManometerReading')
        self.assertEqual(tag.type, 'SLong')
        self.assertEqual(tag._convert_to_string(123), '123')
        self.assertEqual(tag._convert_to_string(678024), '678024')
        self.assertEqual(tag._convert_to_string(-437), '-437')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid')
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
Exemple #16
0
    def test_convert_to_string_long(self):
        # Valid values
        tag = ExifTag('Exif.Image.ImageWidth')
        self.assertEqual(tag.type, 'Long')
        self.assertEqual(tag._convert_to_string(123), '123')
        self.assertEqual(tag._convert_to_string(678024), '678024')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, -57)
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid')
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
Exemple #17
0
    def test_convert_to_string_slong(self):
        # Valid values
        tag = ExifTag("Exif.OlympusCs.ManometerReading")
        self.assertEqual(tag.type, "SLong")
        self.assertEqual(tag._convert_to_string(123), "123")
        self.assertEqual(tag._convert_to_string(678024), "678024")
        self.assertEqual(tag._convert_to_string(-437), "-437")

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, "invalid")
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
Exemple #18
0
    def test_convert_to_string_slong(self):
        # Valid values
        tag = ExifTag('Exif.OlympusCs.ManometerReading')
        self.assertEqual(tag.type, 'SLong')
        self.assertEqual(tag._convert_to_string(123), '123')
        self.assertEqual(tag._convert_to_string(678024), '678024')
        self.assertEqual(tag._convert_to_string(-437), '-437')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string,
                              'invalid')
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
Exemple #19
0
    def test_convert_to_string_long(self):
        # Valid values
        tag = ExifTag('Exif.Image.ImageWidth')
        self.assertEqual(tag.type, 'Long')
        self.assertEqual(tag._convert_to_string(123), '123')
        self.assertEqual(tag._convert_to_string(678024), '678024')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, -57)
        self.failUnlessRaises(ExifValueError, tag._convert_to_string,
                              'invalid')
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
Exemple #20
0
    def test_convert_to_string_ascii(self):
        # Valid values: datetimes
        tag = ExifTag('Exif.Image.DateTime')
        self.assertEqual(tag.type, 'Ascii')
        self.assertEqual(
            tag._convert_to_string(datetime.datetime(2009, 3, 1, 12, 54, 28)),
            '2009:03:01 12:54:28')
        self.assertEqual(tag._convert_to_string(datetime.date(2009, 3, 1)),
                         '2009:03:01 00:00:00')
        self.assertEqual(
            tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59,
                                                     59)),
            '1899:12:31 23:59:59')
        self.assertEqual(tag._convert_to_string(datetime.date(1899, 12, 31)),
                         '1899:12:31 00:00:00')

        # Valid values: dates
        tag = ExifTag('Exif.GPSInfo.GPSDateStamp')
        self.assertEqual(tag.type, 'Ascii')
        self.assertEqual(tag._convert_to_string(datetime.date(2009, 3, 1)),
                         '2009:03:01')
        self.assertEqual(tag._convert_to_string(datetime.date(1899, 12, 31)),
                         '1899:12:31')

        # Valid values: strings
        tag = ExifTag('Exif.Image.Copyright')
        self.assertEqual(tag.type, 'Ascii')
        self.assertEqual(tag._convert_to_string('Some text'), 'Some text')
        self.assertEqual(
            tag._convert_to_string('Some text with exotic chàräctérʐ.'),
            'Some text with exotic chàräctérʐ.')
Exemple #21
0
    def test_convert_to_string_comment(self):
        # Valid values
        tag = ExifTag("Exif.Photo.UserComment")
        self.assertEqual(tag.type, "Comment")
        self.assertEqual(tag._convert_to_string("A comment"), "A comment")
        self.assertEqual(tag._convert_to_string(u"A comment"), "A comment")
        charsets = ("Ascii", "Jis", "Unicode", "Undefined")
        for charset in charsets:
            tag.raw_value = 'charset="%s" foo' % charset
            self.assertEqual(tag._convert_to_string("A comment"), 'charset="%s" A comment' % charset)
            self.assertEqual(tag._convert_to_string("déjà vu"), "déjà vu")

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
Exemple #22
0
    def test_convert_to_string_comment(self):
        # Valid values
        tag = ExifTag('Exif.Photo.UserComment')
        self.assertEqual(tag.type, 'Comment')
        self.assertEqual(tag._convert_to_string('A comment'), 'A comment')
        self.assertEqual(tag._convert_to_string(u'A comment'), 'A comment')
        charsets = ('Ascii', 'Jis', 'Unicode', 'Undefined')
        for charset in charsets:
            tag.raw_value = 'charset="%s" foo' % charset
            self.assertEqual(tag._convert_to_string('A comment'),
                             'charset="%s" A comment' % charset)
            self.assertEqual(tag._convert_to_string('déjà vu'), 'déjà vu')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
Exemple #23
0
    def test_convert_to_string_comment(self):
        # Valid values
        tag = ExifTag('Exif.Photo.UserComment')
        self.assertEqual(tag.type, 'Comment')
        self.assertEqual(tag._convert_to_string('A comment'), 'A comment')
        self.assertEqual(tag._convert_to_string(u'A comment'), 'A comment')
        charsets = ('Ascii', 'Jis', 'Unicode', 'Undefined')
        for charset in charsets:
            tag.raw_value = 'charset="%s" foo' % charset
            self.assertEqual(tag._convert_to_string('A comment'),
                             'charset="%s" A comment' % charset)
            self.assertEqual(tag._convert_to_string('déjà vu'), 'déjà vu')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
Exemple #24
0
    def test_convert_to_string_ascii(self):
        # Valid values: datetimes
        tag = ExifTag("Exif.Image.DateTime")
        self.assertEqual(tag.type, "Ascii")
        self.assertEqual(tag._convert_to_string(datetime.datetime(2009, 03, 01, 12, 54, 28)), "2009:03:01 12:54:28")
        self.assertEqual(tag._convert_to_string(datetime.date(2009, 03, 01)), "2009:03:01 00:00:00")

        # Valid values: dates
        tag = ExifTag("Exif.GPSInfo.GPSDateStamp")
        self.assertEqual(tag.type, "Ascii")
        self.assertEqual(tag._convert_to_string(datetime.date(2009, 03, 01)), "2009:03:01")

        # Valid values: strings
        tag = ExifTag("Exif.Image.Copyright")
        self.assertEqual(tag.type, "Ascii")
        self.assertEqual(tag._convert_to_string(u"Some text"), "Some text")
        self.assertEqual(
            tag._convert_to_string(u"Some text with exotic chàräctérʐ."), "Some text with exotic chàräctérʐ."
        )
        self.assertEqual(
            tag._convert_to_string("Some text with exotic chàräctérʐ."), "Some text with exotic chàräctérʐ."
        )

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)
Exemple #25
0
    def test_convert_to_string_rational(self):
        # Valid values
        tag = ExifTag("Exif.Image.XResolution")
        self.assertEqual(tag.type, "Rational")
        self.assertEqual(tag._convert_to_string(make_fraction(5, 3)), "5/3")

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, "invalid")
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, make_fraction(-5, 3))
Exemple #26
0
    def test_convert_to_string_short(self):
        # Valid values
        tag = ExifTag('Exif.Image.BitsPerSample')
        self.assertEqual(tag.type, 'Short')
        self.assertEqual(tag._convert_to_string(123), '123')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, -57)
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid')
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
Exemple #27
0
    def test_convert_to_string_sshort(self):
        # Valid values
        tag = ExifTag('Exif.Image.TimeZoneOffset')
        self.assertEqual(tag.type, 'SShort')
        self.assertEqual(tag._convert_to_string(12), '12')
        self.assertEqual(tag._convert_to_string(-3), '-3')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid')
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
Exemple #28
0
    def test_convert_to_string_rational(self):
        # Valid values
        tag = ExifTag('Exif.Image.XResolution')
        self.assertEqual(tag.type, 'Rational')
        self.assertEqual(tag._convert_to_string(make_fraction(5, 3)), '5/3')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid')
        self.failUnlessRaises(ExifValueError,
                              tag._convert_to_string, make_fraction(-5, 3))
Exemple #29
0
    def test_convert_to_string_sshort(self):
        # Valid values
        tag = ExifTag("Exif.Image.TimeZoneOffset")
        self.assertEqual(tag.type, "SShort")
        self.assertEqual(tag._convert_to_string(12), "12")
        self.assertEqual(tag._convert_to_string(-3), "-3")

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, "invalid")
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
Exemple #30
0
    def test_convert_to_string_short(self):
        # Valid values
        tag = ExifTag("Exif.Image.BitsPerSample")
        self.assertEqual(tag.type, "Short")
        self.assertEqual(tag._convert_to_string(123), "123")

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, -57)
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, "invalid")
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
Exemple #31
0
    def test_convert_to_string_sshort(self):
        # Valid values
        tag = ExifTag('Exif.Image.TimeZoneOffset')
        self.assertEqual(tag.type, 'SShort')
        self.assertEqual(tag._convert_to_string(12), '12')
        self.assertEqual(tag._convert_to_string(-3), '-3')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string,
                              'invalid')
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
Exemple #32
0
    def test_convert_to_string_short(self):
        # Valid values
        tag = ExifTag('Exif.Image.BitsPerSample')
        self.assertEqual(tag.type, 'Short')
        self.assertEqual(tag._convert_to_string(123), '123')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, -57)
        self.failUnlessRaises(ExifValueError, tag._convert_to_string,
                              'invalid')
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
Exemple #33
0
    def test_convert_to_string_rational(self):
        # Valid values
        tag = ExifTag('Exif.Image.XResolution')
        self.assertEqual(tag.type, 'Rational')
        self.assertEqual(tag._convert_to_string(make_fraction(5, 3)), '5/3')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string,
                              'invalid')
        self.failUnlessRaises(ExifValueError, tag._convert_to_string,
                              make_fraction(-5, 3))
Exemple #34
0
    def test_convert_to_string_ascii(self):
        # Valid values: datetimes
        tag = ExifTag('Exif.Image.DateTime')
        self.assertEqual(tag.type, 'Ascii')
        self.assertEqual(tag._convert_to_string(datetime.datetime(2009, 03, 01, 12, 54, 28)),
                         '2009:03:01 12:54:28')
        self.assertEqual(tag._convert_to_string(datetime.date(2009, 03, 01)),
                         '2009:03:01 00:00:00')
        self.assertEqual(tag._convert_to_string(datetime.datetime(1899, 12, 31, 23, 59, 59)),
                         '1899:12:31 23:59:59')
        self.assertEqual(tag._convert_to_string(datetime.date(1899, 12, 31)),
                         '1899:12:31 00:00:00')

        # Valid values: dates
        tag = ExifTag('Exif.GPSInfo.GPSDateStamp')
        self.assertEqual(tag.type, 'Ascii')
        self.assertEqual(tag._convert_to_string(datetime.date(2009, 03, 01)),
                         '2009:03:01')
        self.assertEqual(tag._convert_to_string(datetime.date(1899, 12, 31)),
                         '1899:12:31')

        # Valid values: strings
        tag = ExifTag('Exif.Image.Copyright')
        self.assertEqual(tag.type, 'Ascii')
        self.assertEqual(tag._convert_to_string(u'Some text'), 'Some text')
        self.assertEqual(tag._convert_to_string(u'Some text with exotic chàräctérʐ.'),
                         'Some text with exotic chàräctérʐ.')
        self.assertEqual(tag._convert_to_string('Some text with exotic chàräctérʐ.'),
                         'Some text with exotic chàräctérʐ.')

        # Invalid values
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, None)