This should fix #7366 for now, but using the (IMHO) pragmatic approach
of extending the sed expression to recognize strings.
However, this approach is obviously not parsing the full AST, nor does
it wrap Python itself (as pointed out by @spwhitt in #7366) but tries to
match Python strings as best as possible without getting TOO unreadable.
We also use a little bit of Nix to help generating the SED expression,
because doing the whole quote matching block over and over again would
be quite repetitious and error-prone to change. The reason why I'm using
imap here is that we need to have unique labels to avoid jumping into
the wrong branch.
So the new expression is not only able to match continous regions of
triple-quoted strings, but also regions with only one quote character
(even with escaped inner quotes) and empty strings.
However, what it doesn't correctly recognize is something like this:
"string1" "string2" "multi
line
string"
Which is very unlikely that we'll find something like this in the wild.
Of course, we could handle it as well, but it would mean that we need to
substitute the current line into hold space until we're finished parsing
the strings, branch off to another label where we match multiline
strings of all sorts and swap hold/pattern space and finally print the
result. So to summarize: The SED expression would be 3 to 4 times bigger
than now and we gain very little from that.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* mediainfo{-gui} 0.7.72 -> 0.7.73
* libmediainfo 0.7.72 -> 0.7.73
* libzen 0.4.30 -> 0.4.31
From the mediainfo ChangeLog:
```
Version 0.7.73, 2015-04-09
+ BPG: basic support, thanks to Kurtnoise
+ CAF: basic support of Apple Core Audio Format, sponsored by FlavorSys
+ JPEG-2000: Display of profile (Rsiz)
+ JPEG-2000: detection of XYZ colorspace (based on D-Cinema profile)
+ FFV1 in MOV: more details (version...)
+ MOV/MPEG-4: handling of clcn (little endian nclc) Color parameter type
+ #P84, Matroska: Add TEXTST support to the MKV Parser, thanks to Kurtnoise
+ #P85, MPEG-TS: Add TEXTST support to the MPEG-PSI Parser, thanks to Kurtnoise
+ MediaInfoDLL interface: clean up, more debug features added
+ MediaInfoDLL interface: Giant threads lock removed
+ #F460, VC-3/DNxHD: detection of RGB 444 and other SMPTE ST 2019 (2014) new CIDs
+ VC-3/DNxHD: version number (HVN)
+ Clean aperture size is move from width/height to its own field
+ HEVC: tier
+ MXF: writing library and writing application fields are cleaned up
+ ProRes: support of 4444 profiles
+ CAP: detection of CAP files from Cheetah and Lambda
x B886, XML and HTML outputs were broken
x B902: EBU AspectRatio invalid in case of non classic numerator:denominator format
x #B758, VC-3/DNxHD: wrong color space and subsampling in case of unknown CID, now empty if format version is not known
x #B903, MXG: Incorrect timecode track used for AS-11 DPP MXF files
x #B904, MXF: Handling repetition of Header Metadata in MXF files
x MXF: AFD value was wrong (displaying the complete byte, but AFD is only 4 bits of this byte)
x DTS: some streams in Little endian were not detected
x MPEG-4: some files were having an incorrect frame count
x AVC: Some SCTE 128 caption streams were displayed twice
x BMP; accepting files with file size information set to -1
x RF64: samplesCount was not always right
x MOV: avoid wrong parsing in case of "colr" atom with "prof" color parameter type
x DCP/IMF: ID has now the AM/PKL CPL order in order in all cases (not only when there is more than one CPL)
x #B893, MXF: Crash with Panasonic P2 3.0 files
x DPX: time information was with native ":" character
x Images sequence: "Delay" field is filled from the number in the name of the first file
x FLV: some files were not having the right duration
x DPX: Cineon files were detected as DPX Version 1, version number was not corresponding to the real version
```