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