TypesettingTools/Myaamori-Aegisub-Scripts

Output file has an additional blank line

Ninelpienel opened this issue · 4 comments

Hey, when I use subdigest my output file has an additional blank line at the end. Various other programs that work with ass cannot handle this. Would be great if you could fix this.

Input:

image

Output:

image

Subdigest doesn't do anything special in this regard, so this may be a result of the upstream ass library. Haven't tried to reproduce it yet, however.

with open(args.output, 'w', encoding="utf-8-sig") as f:
f.write(str(sub_obj))

Yeah, that should be it. Called from dubdigest via

def __str__(self):
sio = io.StringIO()
with warnings.catch_warnings():
warnings.simplefilter("ignore", UserWarning)
self.sub_file.dump_file(sio)
return sio.getvalue()

Subdigest would also do better in using the dump_file method with the file it wants to write to directly instead of always writing to a StringIO first and then writing that. Catching the warning may be necessary for writing to stdout, though iirc we fixed overreporting with that warning a while ago. Could also be that it only occurs on Windows, though.