Author: dmeyer
Date: Sun Sep 16 06:04:15 2007
New Revision: 2818

Log:
split date into userdate (str) and timestamp (int)

Modified:
   trunk/metadata/src/audio/core.py
   trunk/metadata/src/audio/flac.py
   trunk/metadata/src/audio/mp3.py
   trunk/metadata/src/audio/ogg.py
   trunk/metadata/src/core.py
   trunk/metadata/src/image/IPTC.py
   trunk/metadata/src/image/jpg.py
   trunk/metadata/src/video/asf.py
   trunk/metadata/src/video/mkv.py
   trunk/metadata/src/video/mp4.py
   trunk/metadata/src/video/ogm.py
   trunk/metadata/src/video/riff.py

Modified: trunk/metadata/src/audio/core.py
==============================================================================
--- trunk/metadata/src/audio/core.py    (original)
+++ trunk/metadata/src/audio/core.py    Sun Sep 16 06:04:15 2007
@@ -32,7 +32,7 @@
 from kaa.metadata.core import ParseError, Media, MEDIA_AUDIO
 
 AUDIOCORE = ['channels', 'samplerate', 'length', 'encoder', 'codec', 'format',
-             'samplebits', 'bitrate', 'fourcc', 'trackno', 'id' ]
+             'samplebits', 'bitrate', 'fourcc', 'trackno', 'id', 'userdate' ]
 
 MUSICCORE = ['trackof', 'album', 'genre', 'discs', 'thumbnail' ]
 

Modified: trunk/metadata/src/audio/flac.py
==============================================================================
--- trunk/metadata/src/audio/flac.py    (original)
+++ trunk/metadata/src/audio/flac.py    Sun Sep 16 06:04:15 2007
@@ -98,7 +98,8 @@
                 if header.has_key('COMMENT'):
                     self.comment = header['COMMENT']
                 if header.has_key('DATE'):
-                    self.date = header['DATE']
+                    # FIXME: try to convert to timestamp
+                    self.userdate = header['DATE']
                 if header.has_key('ENCODER'):
                     self.encoder = header['ENCODER']
                 if header.has_key('TRACKNUMBER'):

Modified: trunk/metadata/src/audio/mp3.py
==============================================================================
--- trunk/metadata/src/audio/mp3.py     (original)
+++ trunk/metadata/src/audio/mp3.py     Sun Sep 16 06:04:15 2007
@@ -57,7 +57,7 @@
                    "TCOM": "composer",
                    "TCOP": "copyright",
                    "TDOR": "release",
-                   "TYER": "date",
+                   "TYER": "userdate",
                    "TEXT": "text",
                    "TIT2": "title",
                    "TLAN": "language",
@@ -169,7 +169,7 @@
                if pic.imageData:
                   self.thumbnail = pic.imageData
             if id3.tag.getYear():
-               self.date = id3.tag.getYear()
+               self.userdate = id3.tag.getYear()
             tab = {}
             for f in id3.tag.frames:
                if f.__class__ is eyeD3_frames.TextFrame:

Modified: trunk/metadata/src/audio/ogg.py
==============================================================================
--- trunk/metadata/src/audio/ogg.py     (original)
+++ trunk/metadata/src/audio/ogg.py     Sun Sep 16 06:04:15 2007
@@ -100,7 +100,8 @@
             if header.has_key('COMMENT'):
                 self.comment = header['COMMENT']
             if header.has_key('DATE'):
-                self.date = header['DATE']
+                # FIXME: try to convert to timestamp
+                self.userdate = header['DATE']
             if header.has_key('ENCODER'):
                 self.encoder = header['ENCODER']
             if header.has_key('TRACKNUMBER'):

Modified: trunk/metadata/src/core.py
==============================================================================
--- trunk/metadata/src/core.py  (original)
+++ trunk/metadata/src/core.py  Sun Sep 16 06:04:15 2007
@@ -55,7 +55,7 @@
 MEDIA_GAME      = 'MEDIA_GAME'
 
 
-MEDIACORE = ['title', 'caption', 'comment', 'size', 'type', 'subtype', 'date',
+MEDIACORE = ['title', 'caption', 'comment', 'size', 'type', 'subtype', 
'timestamp',
              'keywords', 'country', 'language', 'url', 'media', 'artist', 
'mime']
 
 EXTENSION_DEVICE    = 'device'

Modified: trunk/metadata/src/image/IPTC.py
==============================================================================
--- trunk/metadata/src/image/IPTC.py    (original)
+++ trunk/metadata/src/image/IPTC.py    Sun Sep 16 06:04:15 2007
@@ -39,7 +39,6 @@
 mapping = {
     'by-line title': 'title',
     'headline': 'title',
-    'date created': 'date',
     'keywords': 'keywords',
     'writer-editor': 'author',
     'credit': 'author',

Modified: trunk/metadata/src/image/jpg.py
==============================================================================
--- trunk/metadata/src/image/jpg.py     (original)
+++ trunk/metadata/src/image/jpg.py     Sun Sep 16 06:04:15 2007
@@ -130,12 +130,12 @@
                                 self.rotation = 270
                             elif orientation.find('180') > 0:
                                 self.rotation = 180
-                        date = exif.get('Image DateTimeOriginal')
-                        if not date:
-                            date = exif.get('Image DateTime')
-                        if date:
-                            t = time.strptime(str(date), '%Y:%m:%d %H:%M:%S')
-                            self.date = int(time.mktime(t))
+                        t = exif.get('Image DateTimeOriginal')
+                        if not t:
+                            t = exif.get('Image DateTime')
+                        if t:
+                            t = time.strptime(str(t), '%Y:%m:%d %H:%M:%S')
+                            self.timestamp = int(time.mktime(t))
                 elif type == 'http://ns.adobe.com/xap/1.0/':
                     # FIXME: parse XMP data (xml)
                     doc = data[data.find('\0')+1:]

Modified: trunk/metadata/src/video/asf.py
==============================================================================
--- trunk/metadata/src/video/asf.py     (original)
+++ trunk/metadata/src/video/asf.py     Sun Sep 16 06:04:15 2007
@@ -249,6 +249,7 @@
             (fileid, size, date, packetcount, duration, \
              senddur, preroll, flags, minpack, maxpack, maxbr) = \
              val
+            # FIXME: parse date to timestamp
             self.length = duration/10000000.0
 
         elif guid == GUIDS['ASF_Stream_Properties_Object']:

Modified: trunk/metadata/src/video/mkv.py
==============================================================================
--- trunk/metadata/src/video/mkv.py     (original)
+++ trunk/metadata/src/video/mkv.py     Sun Sep 16 06:04:15 2007
@@ -341,9 +341,9 @@
                 elif ielem_id == MATROSKA_TITLE_ID:
                     self.title = ielem.get_utf8()
                 elif ielem_id == MATROSKA_DATE_UTC_ID:
-                    self.date =  unpack('!q', ielem.get_data())[0] / 10.0**9
+                    timestamp =  unpack('!q', ielem.get_data())[0] / 10.0**9
                     # Date is offset 2001-01-01 00:00:00 (timestamp 
978307200.0)
-                    self.date = int(self.date + 978307200)
+                    self.timestamp = int(self.timestamp + 978307200)
 
             self.length = duration * scalecode / 1000000000.0
 

Modified: trunk/metadata/src/video/mp4.py
==============================================================================
--- trunk/metadata/src/video/mp4.py     (original)
+++ trunk/metadata/src/video/mp4.py     Sun Sep 16 06:04:15 2007
@@ -169,12 +169,12 @@
                     trackinfo['id'] = tkhd[3]
 
                     try:
-                        # XXX Date number of Seconds is since January 1st 1904!
+                        # XXX Timestamp of Seconds is since January 1st 1904!
                         # XXX 2082844800 is the difference between Unix and
                         # XXX Apple time. FIXME to work on Apple, too
-                        self.date = int(tkhd[1]) - 2082844800
+                        self.timestamp = int(tkhd[1]) - 2082844800
                     except Exception, e:
-                        log.exception('There was trouble extracting the date')
+                        log.exception('There was trouble extracting timestamp')
 
                 elif datatype == 'mdia':
                     pos      += 8

Modified: trunk/metadata/src/video/ogm.py
==============================================================================
--- trunk/metadata/src/video/ogm.py     (original)
+++ trunk/metadata/src/video/ogm.py     Sun Sep 16 06:04:15 2007
@@ -59,13 +59,15 @@
                   'ALBUM': 'album',
                   'ARTIST': 'artist',
                   'COMMENT': 'comment',
-                  'DATE': 'date',
                   'ENCODER': 'encoder',
                   'TRACKNUMBER': 'trackno',
                   'LANGUAGE': 'language',
                   'GENRE': 'genre',
                 }
 
+# FIXME: check VORBISCOMMENT date and convert to timestamp
+# Deactived tag: 'DATE': 'date',
+
 MAXITERATIONS = 30
 
 class Ogm(core.AVContainer):

Modified: trunk/metadata/src/video/riff.py
==============================================================================
--- trunk/metadata/src/video/riff.py    (original)
+++ trunk/metadata/src/video/riff.py    Sun Sep 16 06:04:15 2007
@@ -55,7 +55,6 @@
     'IART': 'artist',
     'IPRD': 'product',
     'ISFT': 'software',
-    'ICRD': 'date',
     'ICMT': 'comment',
     'ILNG': 'language',
     'IKEY': 'keywords',
@@ -462,23 +461,23 @@
                 value = value.replace('\0', '').lstrip().rstrip()
                 if value:
                     retval[key] = value
-                    if key == 'IDIT':
-                        # Date the video was created
+                    if key in ('IDIT', 'ICRD'):
+                        # Timestamp the video was created
                         try:
                             # The doc says it should be a format like
                             # "Wed Jan 02 02:03:55 1990"
-                            date = time.strptime(value, "%a %b %d %H:%M:%S %Y")
+                            t = time.strptime(value, "%a %b %d %H:%M:%S %Y")
                         except ValueError:
                             try:
                                 # The Casio S500 uses "2005/12/24/ 14:11"
-                                date = time.strptime(value, "%Y/%m/%d/ %H:%M")
+                                t = time.strptime(value, "%Y/%m/%d/ %H:%M")
                             except ValueError, e:
                                 # FIXME: something different
                                 log.debug('no support for time format %s', 
value)
-                                date = 0
-                        if date:
-                            # save date as int
-                            self.date = int(time.mktime(date))
+                                t = 0
+                        if t:
+                            # save timestamp as int
+                            self.timestamp = int(time.mktime(t))
                 i+=sz
         return retval
 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to