|
|
- import asyncio
- from aiofile import AIOFile, Reader, Writer
- import logging
-
-
- class XMLWriter():
- def __init__(self, filename: str):
- self.filename = filename
-
-
- async def write(self, urls):
- async with AIOFile(self.filename, 'w') as aiodf:
- writer = Writer(aiodf)
- await writer('<?xml version="1.0" encoding="utf-8"?>\n')
- await writer(
- '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"'
- ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'
- ' xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">\n')
- await aiodf.fsync()
- for url in urls:
- await writer('<url><loc>{}</loc></url>\n'.format(url))
- await aiodf.fsync()
-
- await writer('</urlset>')
- await aiodf.fsync()
-
|