mosquito/aiofile

Russian Symbols in Aiofile writer

Closed this issue · 1 comments

from datetime import datetime
from aiofile import AIOFile, Writer


def add_timestamp(log_line):
    timestamp = datetime.strftime(datetime.now(), "[%d.%m.%y %H:%M]")
    return f"{timestamp} {log_line}"


async def chat_logging():
    async with AIOFile("log.txt", 'w') as afp:
        writer = Writer(afp)
        for _ in range(10):
            log_line = "Hello world\n"
            # log_line = "Hello май ворлд\n"
            print(add_timestamp(log_line))
            await writer(add_timestamp(log_line))
 
 
async def main():
    await asyncio.gather(chat_logging())

asyncio.run(main())

Если в записываемой строке есть русские буквы, то в log.txt сохраняется каша. Если все буквы английские, то строчки сохраняются нормально. Возможно, неправильно высчитывается смещение в файле.
OS Linux Debian 8 / Python 3.7.4 / aiofile==1.5.2

После того как вмержили #23 должно работать