def save_as(self, path): ''' Writes the media file out with edited values to specified path. ''' if self.is_modified(): from hachoir_editor import createEditor editor = createEditor(self.parser) self._update_fields(editor) writer = editor else: writer = self.parser from hachoir_core.stream import FileOutputStream stream = FileOutputStream(path) writer.writeInto(stream)
def writeFile(self, filename, stream, offset, size): # Create directory (only on first call) if not self.mkdir: self.createDirectory() self.mkdir = True # Create output file filename, real_filename = path.join(self.directory_unicode, filename), \ path.join(self.directory_raw, filename) output = FileOutputStream(filename, real_filename=real_filename) # Write output try: output.copyBytesFrom(stream, offset, size // 8) except StreamError, err: error(u"copyBytesFrom() error: %s" % err)
def main(): if len(argv) != 2: print >>stderr, "usage: %s video.flv" % argv[0] exit(1) # Open input video inputname = unicode(argv[1], getTerminalCharset()) parser = createParser(inputname) if parser["audio[0]/codec"].value != AUDIO_CODEC_MP3: print >>stderr, "Unknown audio codec: %s" % parser["audio[0]/codec"].display # Extract audio print "Extractor audio from: %s" % inputname outputname = inputname + ".mp3" output = FileOutputStream(outputname) for chunk in parser.array("audio"): data = chunk["music_data"] output.copyBitsFrom(data.parent.stream, data.absolute_address, data.size, data.parent.endian) print "Write audio into: %s" % outputname
def writeIntoFile(fieldset, filename): output = FileOutputStream(filename) fieldset.writeInto(output)
def saveInto(self, filename): output = FileOutputStream(filename) self.editor.writeInto(output)