Christoph Reiter

Results 1091 comments of Christoph Reiter

_Original comment by_ **Christoph Reiter (Bitbucket: [lazka](http://bitbucket.org/lazka), GitHub: [lazka](http://github.com/lazka))**: --- > If I clearly understand your previous post, you suggested firs make a copy and only then insert the new...

_Original comment by_ **Daniel Plachotich (Bitbucket: [danpla](http://bitbucket.org/danpla), GitHub: [danpla](http://github.com/danpla))**: --- If I clearly understand your previous post, you suggested firs make a copy and only then insert the new tags....

_Original comment by_ **Christoph Reiter (Bitbucket: [lazka](http://bitbucket.org/lazka), GitHub: [lazka](http://github.com/lazka))**: --- > Copying file is not the solution for several reasons. I'm confused; your proposed algorithm copies the file. What am...

_Original comment by_ **Daniel Plachotich (Bitbucket: [danpla](http://bitbucket.org/danpla), GitHub: [danpla](http://github.com/danpla))**: --- Copying file is not the solution for several reasons. - This will require x2 more IO calls. This is especially...

_Original comment by_ **Christoph Reiter (Bitbucket: [lazka](http://bitbucket.org/lazka), GitHub: [lazka](http://github.com/lazka))**: --- On unix it's usually done like this: copy, change, fsync, rename. I don't think mutagen needs any change for this...

Thanks. I've implemented something similar in quodlibet: https://github.com/quodlibet/quodlibet/blob/master/quodlibet/quodlibet/util/atomic.py

Proposed API: ``` def replace(self, filename=None): """Replaces the file with a copy including all tag changes. In case it fails or gets interrupted the file will be unchanged. If it...

Thanks for your input. > > Replaces the file with a copy > > all file system changes will be flushed to disk. > > these are implementation details and...

> well, what can i say, my view is different. Yeah, but I appreciate your input. I will ask some of the larger mutagen users and see what semantics they...

_Original comment by_ **Christoph Reiter (Bitbucket: [lazka](http://bitbucket.org/lazka), GitHub: [lazka](http://github.com/lazka))**: --- (Note that you should use mutagen and not mutagenx which was a Python3 fork which is no longer in development)