Hello community,
here is the log from the commit of package python-hachoir-parser for
openSUSE:Factory checked in at 2014-12-23 11:50:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-hachoir-parser (Old)
and /work/SRC/openSUSE:Factory/.python-hachoir-parser.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-hachoir-parser"
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-hachoir-parser/python-hachoir-parser.changes
2014-01-09 15:31:05.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.python-hachoir-parser.new/python-hachoir-parser.changes
2014-12-23 11:49:33.000000000 +0100
@@ -1,0 +2,6 @@
+Mon Dec 22 20:44:52 UTC 2014 - [email protected]
+
+- update to v1.3.4
+ * update matroska parser to support WebM videos
+
+-------------------------------------------------------------------
Old:
----
hachoir-parser-1.3.3.tar.gz
New:
----
hachoir-parser-1.3.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-hachoir-parser.spec ++++++
--- /var/tmp/diff_new_pack.4W2gx7/_old 2014-12-23 11:49:35.000000000 +0100
+++ /var/tmp/diff_new_pack.4W2gx7/_new 2014-12-23 11:49:35.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-hachoir-parser
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,13 @@
Name: python-hachoir-parser
-Version: 1.3.3
+Version: 1.3.4
Release: 0
Summary: Part of a library to manipulate a binary stream field-by-field
License: GPL-2.0
Group: Development/Libraries/Python
Url: https://bitbucket.org/haypo/hachoir/
-Source0:
http://pypi.python.org/packages/source/h/hachoir-parser/hachoir-parser-1.3.3.tar.gz
+Source0:
http://pypi.python.org/packages/source/h/hachoir-parser/hachoir-parser-1.3.4.tar.gz
BuildRequires: pcre-devel
BuildRequires: pkg-config
BuildRequires: python-devel
++++++ hachoir-parser-1.3.3.tar.gz -> hachoir-parser-1.3.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hachoir-parser-1.3.3/ChangeLog
new/hachoir-parser-1.3.4/ChangeLog
--- old/hachoir-parser-1.3.3/ChangeLog 2010-04-15 18:55:25.000000000 +0200
+++ new/hachoir-parser-1.3.4/ChangeLog 2010-07-26 03:04:06.000000000 +0200
@@ -1,3 +1,8 @@
+hachoir-parser 1.3.4 (2010-07-26)
+=================================
+
+ * update matroska parser to support WebM videos
+
hachoir-parser 1.3.3 (2010-04-15)
=================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hachoir-parser-1.3.3/PKG-INFO
new/hachoir-parser-1.3.4/PKG-INFO
--- old/hachoir-parser-1.3.3/PKG-INFO 2010-04-15 18:56:22.000000000 +0200
+++ new/hachoir-parser-1.3.4/PKG-INFO 2010-07-26 03:05:22.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: hachoir-parser
-Version: 1.3.3
+Version: 1.3.4
Summary: Package of Hachoir parsers used to open binary files
Home-page: http://bitbucket.org/haypo/hachoir/wiki/hachoir-parser
Author: Hachoir team (see AUTHORS file)
@@ -14,97 +14,102 @@
A perfect parser have no "raw" field: with a perfect parser you are
able to
know *each* bit meaning. Some good (but not perfect ;-)) parsers:
- * Matroska video
- * Microsoft RIFF (AVI video, WAV audio, CDA file)
- * PNG picture
- * TAR and ZIP archive
+ * Matroska video
+ * Microsoft RIFF (AVI video, WAV audio, CDA file)
+ * PNG picture
+ * TAR and ZIP archive
GnomeKeyring parser requires Python Crypto module:
http://www.amk.ca/python/code/crypto.html
Website: http://bitbucket.org/haypo/hachoir/wiki/hachoir-parser
+ hachoir-parser 1.3.4 (2010-07-26)
+ =================================
+
+ * update matroska parser to support WebM videos
+
hachoir-parser 1.3.3 (2010-04-15)
=================================
- * fix setup.py: don't use with statement to stay compatible with
python 2.4
+ * fix setup.py: don't use with statement to stay compatible with
python 2.4
hachoir-parser 1.3.2 (2010-03-01)
=================================
- * Include the README file in the tarball
- * setup.py reads the README file instead of using README.py to break
the
- build dependency on hachoir-core
+ * Include the README file in the tarball
+ * setup.py reads the README file instead of using README.py to break
the
+ build dependency on hachoir-core
hachoir-parser 1.3.1 (2010-01-28)
=================================
- * Create MANIFEST.in to include extra files: README.py, README.header,
- tests/run_testcase.py, etc.
- * Create an INSTALL file
+ * Create MANIFEST.in to include extra files: README.py, README.header,
+ tests/run_testcase.py, etc.
+ * Create an INSTALL file
hachoir-parser 1.3 (2010-01-20)
===============================
- * New parsers:
+ * New parsers:
- - BLP: Blizzard Image
- - PRC: Palm resource
+ - BLP: Blizzard Image
+ - PRC: Palm resource
- * HachoirParserList() is no more a singleton:
- use HachoirParserList.getInstance() to get a singleton
- * Add tags optional argument to createParser(), it can be used for
example to
- force a parser
- * Fix ParserList.print_(): first argument is now the title and not
'out'.
- If out is not specified, use sys.stdout.
- * MP3: support encapsulated objects (GEOB in ID3)
- * Create a dictionary: Windows codepage => charset name
(CODEPAGE_CHARSET)
- * ASN.1: support boolean and enum types; fix bit string parser
- * MKV: use textHandler()
- * AVI: create index parser, use file size header to detect padding at
the end
- * ISO9660: strip nul bytes in application name
- * JPEG: add ICC profile chunk name
- * PNG: fix transparency parser (tRNS)
- * BPLIST: support empty value for markers 4, 5 and 6
- * Microsoft Office summary: support more codepages (CP874, Windows
1250..1257)
- * tcpdump: support ICMPv6 and IPv6
- * Java: add bytecode parser, support JDK 1.6
- * Python: parse lnotab content, fill a string table for the references
- * MPEG Video: parse much more chunks
- * MOV: Parse file type header, create the right MIME type
+ * HachoirParserList() is no more a singleton:
+ use HachoirParserList.getInstance() to get a singleton
+ * Add tags optional argument to createParser(), it can be used for
example to
+ force a parser
+ * Fix ParserList.print_(): first argument is now the title and not
'out'.
+ If out is not specified, use sys.stdout.
+ * MP3: support encapsulated objects (GEOB in ID3)
+ * Create a dictionary: Windows codepage => charset name
(CODEPAGE_CHARSET)
+ * ASN.1: support boolean and enum types; fix bit string parser
+ * MKV: use textHandler()
+ * AVI: create index parser, use file size header to detect padding at
the end
+ * ISO9660: strip nul bytes in application name
+ * JPEG: add ICC profile chunk name
+ * PNG: fix transparency parser (tRNS)
+ * BPLIST: support empty value for markers 4, 5 and 6
+ * Microsoft Office summary: support more codepages (CP874, Windows
1250..1257)
+ * tcpdump: support ICMPv6 and IPv6
+ * Java: add bytecode parser, support JDK 1.6
+ * Python: parse lnotab content, fill a string table for the references
+ * MPEG Video: parse much more chunks
+ * MOV: Parse file type header, create the right MIME type
hachoir-parser 1.2.1 (2008-10-16)
=================================
- * Improve OLE2 and MS Office parsers:
- - support small blocks
- - fix the charset of the summary properties
- - summary property integers are unsigned
- - use TimedeltaWin64 for the TotalEditingTime field
- - create minimum Word document parser
- * Python parser: support magic numbers of Python 3000
- with the keyword only arguments
- * Create Apple/NeXT Binary Property List (BPLIST) parser
- * MPEG audio: reject file with no valid frame nor ID3 header
- * Skip subfiles in JPEG files
- * Create Apple/NeXT Binary Property List (BPLIST) parser by Robert Xiao
+ * Improve OLE2 and MS Office parsers:
+ - support small blocks
+ - fix the charset of the summary properties
+ - summary property integers are unsigned
+ - use TimedeltaWin64 for the TotalEditingTime field
+ - create minimum Word document parser
+ * Python parser: support magic numbers of Python 3000
+ with the keyword only arguments
+ * Create Apple/NeXT Binary Property List (BPLIST) parser
+ * MPEG audio: reject file with no valid frame nor ID3 header
+ * Skip subfiles in JPEG files
+ * Create Apple/NeXT Binary Property List (BPLIST) parser by Robert
Xiao
hachoir-parser 1.2 (2008-09-03)
===============================
- * Create FLAC parser, written by Esteban Loiseau
- * Create Action Script parser used in Flash parser,
- written by Sebastien Ponce
- * Create Gnome Keyring parser: able to parse the stored passwords using
- Python Crypto if the main password is written in the code :-)
- * GIF: support text extension field; parse image content
- (LZW compressed data)
- * Fix charset of IPTC string (guess it, it's not always ISO-8859-1)
- * TIFF: Sebastien Ponce improved the parser: parse image data, add many
- tags, etc.
- * MS Office: guess the charset for summary strings since it could be
- ISO-8859-1 or UTF-8
+ * Create FLAC parser, written by Esteban Loiseau
+ * Create Action Script parser used in Flash parser,
+ written by Sebastien Ponce
+ * Create Gnome Keyring parser: able to parse the stored passwords
using
+ Python Crypto if the main password is written in the code :-)
+ * GIF: support text extension field; parse image content
+ (LZW compressed data)
+ * Fix charset of IPTC string (guess it, it's not always ISO-8859-1)
+ * TIFF: Sebastien Ponce improved the parser: parse image data, add
many
+ tags, etc.
+ * MS Office: guess the charset for summary strings since it could be
+ ISO-8859-1 or UTF-8
hachoir-parser 1.1 (2008-04-01)
===============================
@@ -112,63 +117,63 @@
Main changes: add "EFI Platform Initialization Firmware
Volume" (PIFV) and "Microsoft Windows Help" (HLP) parsers. Details:
- * MPEG audio:
+ * MPEG audio:
- - add createContentSize() to support hachoir-subfile
- - support file starting with ID3v1
- - if file doesn't contain any frame, use ID3v1 or ID3v2 to create the
- description
-
- * EXIF:
-
- - use "count" field value
- - create RationalInt32 and RationalUInt32
- - fix for empty value
- - add GPS tags
-
- * JPEG:
-
- - support Ducky (APP12) chunk
- - support Comment chunk
- - improve validate(): make sure that first 3 chunk types are known
-
- * RPM: use bzip2 or gzip handler to decompress content
- * S3M: fix some parser bugs
- * OLE2: reject negative block index (or special block index)
- * ip2name(): catch KeybordInterrupt and don't resolve next addresses
- * ELF: support big endian
- * PE: createContentSize() works on PE program, improve resource section
- detection
- * AMF: stop mixed array parser on empty key
+ - add createContentSize() to support hachoir-subfile
+ - support file starting with ID3v1
+ - if file doesn't contain any frame, use ID3v1 or ID3v2 to create
the
+ description
+
+ * EXIF:
+
+ - use "count" field value
+ - create RationalInt32 and RationalUInt32
+ - fix for empty value
+ - add GPS tags
+
+ * JPEG:
+
+ - support Ducky (APP12) chunk
+ - support Comment chunk
+ - improve validate(): make sure that first 3 chunk types are known
+
+ * RPM: use bzip2 or gzip handler to decompress content
+ * S3M: fix some parser bugs
+ * OLE2: reject negative block index (or special block index)
+ * ip2name(): catch KeybordInterrupt and don't resolve next addresses
+ * ELF: support big endian
+ * PE: createContentSize() works on PE program, improve resource
section
+ detection
+ * AMF: stop mixed array parser on empty key
hachoir-parser 1.0 (2007-07-11)
===============================
Changes:
- * OLE2: Support file bigger than 6 MB (support many DIFAT blocks)
- * OLE2: Add createContentSize() to guess content size
- * LNK: Improve parser (now able to parse the whole file)
- * EXE PE: Add more subsystem names
- * PYC: Support Python 2.5c2
- * Fix many spelling mistakes
+ * OLE2: Support file bigger than 6 MB (support many DIFAT blocks)
+ * OLE2: Add createContentSize() to guess content size
+ * LNK: Improve parser (now able to parse the whole file)
+ * EXE PE: Add more subsystem names
+ * PYC: Support Python 2.5c2
+ * Fix many spelling mistakes
Minor changes:
- * PYC: Fix long integer parser (negative number), add (disabled) code
- to disassemble bytecode, use self.code_info to avoid replacing
self.info
- * OLE2: Add ".msi" file extension
- * OLE2: Fix to support documents generated on Mac
- * EXIF: set max IFD entry count to 1000 (instead of 200)
- * EXIF: don't limit BYTE/UNDEFINED IFD entry count
- * EXIF: add "User comment" tag
- * GIF: fix image and screen description
- * bzip2: catch decompressor error to be able to read trailing data
- * Fix file extensions of AIFF
- * Windows GUID use new TimestampUUID60 field type
- * RIFF: convert class constant names to upper case
- * Fix RIFF: don't replace self.info method
- * ISO9660: Write parser for terminator content
+ * PYC: Fix long integer parser (negative number), add (disabled) code
+ to disassemble bytecode, use self.code_info to avoid replacing
self.info
+ * OLE2: Add ".msi" file extension
+ * OLE2: Fix to support documents generated on Mac
+ * EXIF: set max IFD entry count to 1000 (instead of 200)
+ * EXIF: don't limit BYTE/UNDEFINED IFD entry count
+ * EXIF: add "User comment" tag
+ * GIF: fix image and screen description
+ * bzip2: catch decompressor error to be able to read trailing data
+ * Fix file extensions of AIFF
+ * Windows GUID use new TimestampUUID60 field type
+ * RIFF: convert class constant names to upper case
+ * Fix RIFF: don't replace self.info method
+ * ISO9660: Write parser for terminator content
Parser list
===========
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hachoir-parser-1.3.3/README
new/hachoir-parser-1.3.4/README
--- old/hachoir-parser-1.3.3/README 2010-04-15 18:56:12.000000000 +0200
+++ new/hachoir-parser-1.3.4/README 2010-07-26 03:05:12.000000000 +0200
@@ -15,6 +15,11 @@
Website: http://bitbucket.org/haypo/hachoir/wiki/hachoir-parser
+hachoir-parser 1.3.4 (2010-07-26)
+=================================
+
+ * update matroska parser to support WebM videos
+
hachoir-parser 1.3.3 (2010-04-15)
=================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hachoir-parser-1.3.3/hachoir_parser/audio/8svx.py
new/hachoir-parser-1.3.4/hachoir_parser/audio/8svx.py
--- old/hachoir-parser-1.3.3/hachoir_parser/audio/8svx.py 1970-01-01
01:00:00.000000000 +0100
+++ new/hachoir-parser-1.3.4/hachoir_parser/audio/8svx.py 2010-07-14
00:36:00.000000000 +0200
@@ -0,0 +1,126 @@
+"""
+Audio Interchange File Format (AIFF) parser.
+
+Author: Victor Stinner
+Creation: 27 december 2006
+"""
+
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
+ UInt16, UInt32, Float80, TimestampMac32,
+ RawBytes, NullBytes,
+ String, Enum, PascalString32)
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.text_handler import filesizeHandler
+from hachoir_core.tools import alignValue
+from hachoir_parser.audio.id3 import ID3v2
+
+CODEC_NAME = {
+ 'ACE2': u"ACE 2-to-1",
+ 'ACE8': u"ACE 8-to-3",
+ 'MAC3': u"MAC 3-to-1",
+ 'MAC6': u"MAC 6-to-1",
+ 'NONE': u"None",
+ 'sowt': u"Little-endian, no compression",
+}
+
+class Comment(FieldSet):
+ def createFields(self):
+ yield TimestampMac32(self, "timestamp")
+ yield PascalString32(self, "text")
+
+def parseText(self):
+ yield String(self, "text", self["size"].value)
+
+def parseID3(self):
+ yield ID3v2(self, "id3v2", size=self["size"].value*8)
+
+def parseComment(self):
+ yield UInt16(self, "nb_comment")
+ for index in xrange(self["nb_comment"].value):
+ yield Comment(self, "comment[]")
+
+def parseCommon(self):
+ yield UInt16(self, "nb_channel")
+ yield UInt32(self, "nb_sample")
+ yield UInt16(self, "sample_size")
+ yield Float80(self, "sample_rate")
+ yield Enum(String(self, "codec", 4, strip="\0", charset="ASCII"),
CODEC_NAME)
+
+def parseVersion(self):
+ yield TimestampMac32(self, "timestamp")
+
+def parseSound(self):
+ yield UInt32(self, "offset")
+ yield UInt32(self, "block_size")
+ size = (self.size - self.current_size) // 8
+ if size:
+ yield RawBytes(self, "data", size)
+
+class Chunk(FieldSet):
+ TAG_INFO = {
+ 'COMM': ('common', "Common chunk", parseCommon),
+ 'COMT': ('comment', "Comment", parseComment),
+ 'NAME': ('name', "Name", parseText),
+ 'AUTH': ('author', "Author", parseText),
+ 'FVER': ('version', "Version", parseVersion),
+ 'SSND': ('sound', "Sound data", parseSound),
+ 'ID3 ': ('id3', "ID3", parseID3),
+ }
+
+ def __init__(self, *args):
+ FieldSet.__init__(self, *args)
+ self._size = (8 + alignValue(self["size"].value, 2)) * 8
+ tag = self["type"].value
+ if tag in self.TAG_INFO:
+ self._name, self._description, self._parser = self.TAG_INFO[tag]
+ else:
+ self._parser = None
+
+ def createFields(self):
+ yield String(self, "type", 4, "Signature (FORM)", charset="ASCII")
+ yield filesizeHandler(UInt32(self, "size"))
+ size = self["size"].value
+ if size:
+ if self._parser:
+ for field in self._parser(self):
+ yield field
+ if size % 2:
+ yield NullBytes(self, "padding", 1)
+ else:
+ yield RawBytes(self, "data", size)
+
+class HeightSVX(Parser):
+ PARSER_TAGS = {
+ "id": "8svx",
+ "category": "audio",
+ "file_ext": ("8svx",),
+ "mime": (u"audio/x-aiff",),
+ "min_size": 12*8,
+ "description": "8SVX (audio) format"
+ }
+ endian = BIG_ENDIAN
+
+ def validate(self):
+ if self.stream.readBytes(0, 4) != "FORM":
+ return "Invalid signature"
+ if self.stream.readBytes(8*8, 4) != "8SVX":
+ return "Invalid type"
+ return True
+
+ def createFields(self):
+ yield String(self, "signature", 4, "Signature (FORM)", charset="ASCII")
+ yield filesizeHandler(UInt32(self, "filesize"))
+ yield String(self, "type", 4, "Form type (AIFF or AIFC)",
charset="ASCII")
+ while not self.eof:
+ yield Chunk(self, "chunk[]")
+
+ def createDescription(self):
+ if self["type"].value == "AIFC":
+ return "Audio Interchange File Format Compressed (AIFC)"
+ else:
+ return "Audio Interchange File Format (AIFF)"
+
+ def createContentSize(self):
+ return self["filesize"].value * 8
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hachoir-parser-1.3.3/hachoir_parser/container/mkv.py
new/hachoir-parser-1.3.4/hachoir_parser/container/mkv.py
--- old/hachoir-parser-1.3.3/hachoir_parser/container/mkv.py 2009-09-07
23:44:28.000000000 +0200
+++ new/hachoir-parser-1.3.4/hachoir_parser/container/mkv.py 2010-07-26
02:58:36.000000000 +0200
@@ -545,14 +545,21 @@
PARSER_TAGS = {
"id": "matroska",
"category": "container",
- "file_ext": ("mka", "mkv"),
- "mime": (u"video/x-matroska", u"audio/x-matroska"),
+ "file_ext": ("mka", "mkv", "webm"),
+ "mime": (
+ u"video/x-matroska",
+ u"audio/x-matroska",
+ u"video/webm",
+ u"audio/webm"),
"min_size": 5*8,
"magic": (("\x1A\x45\xDF\xA3", 0),),
"description": "Matroska multimedia container"
}
endian = BIG_ENDIAN
+ def _getDoctype(self):
+ return self[0]['DocType/string'].value
+
def validate(self):
if self.stream.readBits(0, 32, self.endian) != self.EBML_SIGNATURE:
return False
@@ -561,14 +568,14 @@
except ParserError:
return False
if None < self._size < first._size:
- return False
- return self.stream.searchBytes('\x42\x82\x88matroska', 5*8,
first._size) is not None
+ return "First chunk size is invalid"
+ if self._getDoctype() not in ('matroska', 'webm'):
+ return "Stream isn't a matroska document."
+ return True
def createFields(self):
hdr = EBML(self, ebml)
yield hdr
- if hdr['DocType/string'].value != 'matroska':
- raise ParserError("Stream isn't a matroska document.")
while not self.eof:
yield EBML(self, { 0x18538067: ('Segment[]', segment) })
@@ -577,3 +584,15 @@
field = self["Segment[0]/size"]
return field.absolute_address + field.value * 8 + field.size
+ def createDescription(self):
+ if self._getDoctype() == 'webm':
+ return 'WebM video'
+ else:
+ return 'Matroska video'
+
+ def createMimeType(self):
+ if self._getDoctype() == 'webm':
+ return u"video/webm"
+ else:
+ return u"video/x-matroska"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hachoir-parser-1.3.3/hachoir_parser/file_system/ntfs.py
new/hachoir-parser-1.3.4/hachoir_parser/file_system/ntfs.py
--- old/hachoir-parser-1.3.3/hachoir_parser/file_system/ntfs.py 2009-09-07
23:44:28.000000000 +0200
+++ new/hachoir-parser-1.3.4/hachoir_parser/file_system/ntfs.py 2010-04-28
13:42:21.000000000 +0200
@@ -32,17 +32,17 @@
def createFields(self):
yield UInt16(self, "bytes_per_sector", "Size of a sector in bytes")
- yield UInt8(self, "sectors_per_cluster", "Size of a cluster in sectors")
- yield NullBytes(self, "reserved_sectors", 2)
- yield NullBytes(self, "fats", 1)
- yield NullBytes(self, "root_entries", 2)
- yield NullBytes(self, "sectors", 2)
- yield Enum(UInt8(self, "media_type"), self.MEDIA_TYPE)
- yield NullBytes(self, "sectors_per_fat", 2)
- yield UInt16(self, "sectors_per_track")
- yield UInt16(self, "heads")
- yield UInt32(self, "hidden_sectors")
- yield NullBytes(self, "large_sectors", 4)
+ yield UInt8(self, "sectors_per_cluster", "Size of a cluster in
sectors")
+ yield NullBytes(self, "reserved_sectors", 2)
+ yield NullBytes(self, "fats", 1)
+ yield NullBytes(self, "root_entries", 2)
+ yield NullBytes(self, "sectors", 2)
+ yield Enum(UInt8(self, "media_type"), self.MEDIA_TYPE)
+ yield NullBytes(self, "sectors_per_fat", 2)
+ yield UInt16(self, "sectors_per_track")
+ yield UInt16(self, "heads")
+ yield UInt32(self, "hidden_sectors")
+ yield NullBytes(self, "large_sectors", 4)
def validate(self):
if self["bytes_per_sector"].value not in (256, 512, 1024, 2048, 4096):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hachoir-parser-1.3.3/hachoir_parser/version.py
new/hachoir-parser-1.3.4/hachoir_parser/version.py
--- old/hachoir-parser-1.3.3/hachoir_parser/version.py 2010-04-15
18:53:39.000000000 +0200
+++ new/hachoir-parser-1.3.4/hachoir_parser/version.py 2010-04-15
18:58:44.000000000 +0200
@@ -1,4 +1,4 @@
-__version__ = "1.3.3"
+__version__ = "1.3.4"
PACKAGE = "hachoir-parser"
WEBSITE = "http://bitbucket.org/haypo/hachoir/wiki/hachoir-parser"
LICENSE = 'GNU GPL v2'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hachoir-parser-1.3.3/hachoir_parser.egg-info/PKG-INFO
new/hachoir-parser-1.3.4/hachoir_parser.egg-info/PKG-INFO
--- old/hachoir-parser-1.3.3/hachoir_parser.egg-info/PKG-INFO 2010-04-15
18:56:20.000000000 +0200
+++ new/hachoir-parser-1.3.4/hachoir_parser.egg-info/PKG-INFO 2010-07-26
03:05:20.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: hachoir-parser
-Version: 1.3.3
+Version: 1.3.4
Summary: Package of Hachoir parsers used to open binary files
Home-page: http://bitbucket.org/haypo/hachoir/wiki/hachoir-parser
Author: Hachoir team (see AUTHORS file)
@@ -14,97 +14,102 @@
A perfect parser have no "raw" field: with a perfect parser you are
able to
know *each* bit meaning. Some good (but not perfect ;-)) parsers:
- * Matroska video
- * Microsoft RIFF (AVI video, WAV audio, CDA file)
- * PNG picture
- * TAR and ZIP archive
+ * Matroska video
+ * Microsoft RIFF (AVI video, WAV audio, CDA file)
+ * PNG picture
+ * TAR and ZIP archive
GnomeKeyring parser requires Python Crypto module:
http://www.amk.ca/python/code/crypto.html
Website: http://bitbucket.org/haypo/hachoir/wiki/hachoir-parser
+ hachoir-parser 1.3.4 (2010-07-26)
+ =================================
+
+ * update matroska parser to support WebM videos
+
hachoir-parser 1.3.3 (2010-04-15)
=================================
- * fix setup.py: don't use with statement to stay compatible with
python 2.4
+ * fix setup.py: don't use with statement to stay compatible with
python 2.4
hachoir-parser 1.3.2 (2010-03-01)
=================================
- * Include the README file in the tarball
- * setup.py reads the README file instead of using README.py to break
the
- build dependency on hachoir-core
+ * Include the README file in the tarball
+ * setup.py reads the README file instead of using README.py to break
the
+ build dependency on hachoir-core
hachoir-parser 1.3.1 (2010-01-28)
=================================
- * Create MANIFEST.in to include extra files: README.py, README.header,
- tests/run_testcase.py, etc.
- * Create an INSTALL file
+ * Create MANIFEST.in to include extra files: README.py, README.header,
+ tests/run_testcase.py, etc.
+ * Create an INSTALL file
hachoir-parser 1.3 (2010-01-20)
===============================
- * New parsers:
+ * New parsers:
- - BLP: Blizzard Image
- - PRC: Palm resource
+ - BLP: Blizzard Image
+ - PRC: Palm resource
- * HachoirParserList() is no more a singleton:
- use HachoirParserList.getInstance() to get a singleton
- * Add tags optional argument to createParser(), it can be used for
example to
- force a parser
- * Fix ParserList.print_(): first argument is now the title and not
'out'.
- If out is not specified, use sys.stdout.
- * MP3: support encapsulated objects (GEOB in ID3)
- * Create a dictionary: Windows codepage => charset name
(CODEPAGE_CHARSET)
- * ASN.1: support boolean and enum types; fix bit string parser
- * MKV: use textHandler()
- * AVI: create index parser, use file size header to detect padding at
the end
- * ISO9660: strip nul bytes in application name
- * JPEG: add ICC profile chunk name
- * PNG: fix transparency parser (tRNS)
- * BPLIST: support empty value for markers 4, 5 and 6
- * Microsoft Office summary: support more codepages (CP874, Windows
1250..1257)
- * tcpdump: support ICMPv6 and IPv6
- * Java: add bytecode parser, support JDK 1.6
- * Python: parse lnotab content, fill a string table for the references
- * MPEG Video: parse much more chunks
- * MOV: Parse file type header, create the right MIME type
+ * HachoirParserList() is no more a singleton:
+ use HachoirParserList.getInstance() to get a singleton
+ * Add tags optional argument to createParser(), it can be used for
example to
+ force a parser
+ * Fix ParserList.print_(): first argument is now the title and not
'out'.
+ If out is not specified, use sys.stdout.
+ * MP3: support encapsulated objects (GEOB in ID3)
+ * Create a dictionary: Windows codepage => charset name
(CODEPAGE_CHARSET)
+ * ASN.1: support boolean and enum types; fix bit string parser
+ * MKV: use textHandler()
+ * AVI: create index parser, use file size header to detect padding at
the end
+ * ISO9660: strip nul bytes in application name
+ * JPEG: add ICC profile chunk name
+ * PNG: fix transparency parser (tRNS)
+ * BPLIST: support empty value for markers 4, 5 and 6
+ * Microsoft Office summary: support more codepages (CP874, Windows
1250..1257)
+ * tcpdump: support ICMPv6 and IPv6
+ * Java: add bytecode parser, support JDK 1.6
+ * Python: parse lnotab content, fill a string table for the references
+ * MPEG Video: parse much more chunks
+ * MOV: Parse file type header, create the right MIME type
hachoir-parser 1.2.1 (2008-10-16)
=================================
- * Improve OLE2 and MS Office parsers:
- - support small blocks
- - fix the charset of the summary properties
- - summary property integers are unsigned
- - use TimedeltaWin64 for the TotalEditingTime field
- - create minimum Word document parser
- * Python parser: support magic numbers of Python 3000
- with the keyword only arguments
- * Create Apple/NeXT Binary Property List (BPLIST) parser
- * MPEG audio: reject file with no valid frame nor ID3 header
- * Skip subfiles in JPEG files
- * Create Apple/NeXT Binary Property List (BPLIST) parser by Robert Xiao
+ * Improve OLE2 and MS Office parsers:
+ - support small blocks
+ - fix the charset of the summary properties
+ - summary property integers are unsigned
+ - use TimedeltaWin64 for the TotalEditingTime field
+ - create minimum Word document parser
+ * Python parser: support magic numbers of Python 3000
+ with the keyword only arguments
+ * Create Apple/NeXT Binary Property List (BPLIST) parser
+ * MPEG audio: reject file with no valid frame nor ID3 header
+ * Skip subfiles in JPEG files
+ * Create Apple/NeXT Binary Property List (BPLIST) parser by Robert
Xiao
hachoir-parser 1.2 (2008-09-03)
===============================
- * Create FLAC parser, written by Esteban Loiseau
- * Create Action Script parser used in Flash parser,
- written by Sebastien Ponce
- * Create Gnome Keyring parser: able to parse the stored passwords using
- Python Crypto if the main password is written in the code :-)
- * GIF: support text extension field; parse image content
- (LZW compressed data)
- * Fix charset of IPTC string (guess it, it's not always ISO-8859-1)
- * TIFF: Sebastien Ponce improved the parser: parse image data, add many
- tags, etc.
- * MS Office: guess the charset for summary strings since it could be
- ISO-8859-1 or UTF-8
+ * Create FLAC parser, written by Esteban Loiseau
+ * Create Action Script parser used in Flash parser,
+ written by Sebastien Ponce
+ * Create Gnome Keyring parser: able to parse the stored passwords
using
+ Python Crypto if the main password is written in the code :-)
+ * GIF: support text extension field; parse image content
+ (LZW compressed data)
+ * Fix charset of IPTC string (guess it, it's not always ISO-8859-1)
+ * TIFF: Sebastien Ponce improved the parser: parse image data, add
many
+ tags, etc.
+ * MS Office: guess the charset for summary strings since it could be
+ ISO-8859-1 or UTF-8
hachoir-parser 1.1 (2008-04-01)
===============================
@@ -112,63 +117,63 @@
Main changes: add "EFI Platform Initialization Firmware
Volume" (PIFV) and "Microsoft Windows Help" (HLP) parsers. Details:
- * MPEG audio:
+ * MPEG audio:
- - add createContentSize() to support hachoir-subfile
- - support file starting with ID3v1
- - if file doesn't contain any frame, use ID3v1 or ID3v2 to create the
- description
-
- * EXIF:
-
- - use "count" field value
- - create RationalInt32 and RationalUInt32
- - fix for empty value
- - add GPS tags
-
- * JPEG:
-
- - support Ducky (APP12) chunk
- - support Comment chunk
- - improve validate(): make sure that first 3 chunk types are known
-
- * RPM: use bzip2 or gzip handler to decompress content
- * S3M: fix some parser bugs
- * OLE2: reject negative block index (or special block index)
- * ip2name(): catch KeybordInterrupt and don't resolve next addresses
- * ELF: support big endian
- * PE: createContentSize() works on PE program, improve resource section
- detection
- * AMF: stop mixed array parser on empty key
+ - add createContentSize() to support hachoir-subfile
+ - support file starting with ID3v1
+ - if file doesn't contain any frame, use ID3v1 or ID3v2 to create
the
+ description
+
+ * EXIF:
+
+ - use "count" field value
+ - create RationalInt32 and RationalUInt32
+ - fix for empty value
+ - add GPS tags
+
+ * JPEG:
+
+ - support Ducky (APP12) chunk
+ - support Comment chunk
+ - improve validate(): make sure that first 3 chunk types are known
+
+ * RPM: use bzip2 or gzip handler to decompress content
+ * S3M: fix some parser bugs
+ * OLE2: reject negative block index (or special block index)
+ * ip2name(): catch KeybordInterrupt and don't resolve next addresses
+ * ELF: support big endian
+ * PE: createContentSize() works on PE program, improve resource
section
+ detection
+ * AMF: stop mixed array parser on empty key
hachoir-parser 1.0 (2007-07-11)
===============================
Changes:
- * OLE2: Support file bigger than 6 MB (support many DIFAT blocks)
- * OLE2: Add createContentSize() to guess content size
- * LNK: Improve parser (now able to parse the whole file)
- * EXE PE: Add more subsystem names
- * PYC: Support Python 2.5c2
- * Fix many spelling mistakes
+ * OLE2: Support file bigger than 6 MB (support many DIFAT blocks)
+ * OLE2: Add createContentSize() to guess content size
+ * LNK: Improve parser (now able to parse the whole file)
+ * EXE PE: Add more subsystem names
+ * PYC: Support Python 2.5c2
+ * Fix many spelling mistakes
Minor changes:
- * PYC: Fix long integer parser (negative number), add (disabled) code
- to disassemble bytecode, use self.code_info to avoid replacing
self.info
- * OLE2: Add ".msi" file extension
- * OLE2: Fix to support documents generated on Mac
- * EXIF: set max IFD entry count to 1000 (instead of 200)
- * EXIF: don't limit BYTE/UNDEFINED IFD entry count
- * EXIF: add "User comment" tag
- * GIF: fix image and screen description
- * bzip2: catch decompressor error to be able to read trailing data
- * Fix file extensions of AIFF
- * Windows GUID use new TimestampUUID60 field type
- * RIFF: convert class constant names to upper case
- * Fix RIFF: don't replace self.info method
- * ISO9660: Write parser for terminator content
+ * PYC: Fix long integer parser (negative number), add (disabled) code
+ to disassemble bytecode, use self.code_info to avoid replacing
self.info
+ * OLE2: Add ".msi" file extension
+ * OLE2: Fix to support documents generated on Mac
+ * EXIF: set max IFD entry count to 1000 (instead of 200)
+ * EXIF: don't limit BYTE/UNDEFINED IFD entry count
+ * EXIF: add "User comment" tag
+ * GIF: fix image and screen description
+ * bzip2: catch decompressor error to be able to read trailing data
+ * Fix file extensions of AIFF
+ * Windows GUID use new TimestampUUID60 field type
+ * RIFF: convert class constant names to upper case
+ * Fix RIFF: don't replace self.info method
+ * ISO9660: Write parser for terminator content
Parser list
===========
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hachoir-parser-1.3.3/hachoir_parser.egg-info/SOURCES.txt
new/hachoir-parser-1.3.4/hachoir_parser.egg-info/SOURCES.txt
--- old/hachoir-parser-1.3.3/hachoir_parser.egg-info/SOURCES.txt
2010-04-15 18:56:20.000000000 +0200
+++ new/hachoir-parser-1.3.4/hachoir_parser.egg-info/SOURCES.txt
2010-07-26 03:05:20.000000000 +0200
@@ -31,6 +31,7 @@
hachoir_parser/archive/sevenzip.py
hachoir_parser/archive/tar.py
hachoir_parser/archive/zip.py
+hachoir_parser/audio/8svx.py
hachoir_parser/audio/__init__.py
hachoir_parser/audio/aiff.py
hachoir_parser/audio/au.py
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]