from pathlib import Path
import git
HOME = Path('./labml_nn')
REPO = git.Repo('.')
def collect(path: Path):
    if path.is_file():
        try:
            commit = next(iter(REPO.iter_commits(paths=path)))
        except StopIteration:
            return []
        html = path.relative_to(HOME)
        if html.suffix not in {'.py'}:
            return []
        if html.stem == '__init__':
            html = html.parent / 'index.html'
        else:
            html = html.parent / f'{html.stem}.html'
        return [{'path': str(html), 'date': str(commit.committed_datetime.date())}]
    urls = []
    for f in path.iterdir():
        urls += collect(f)
    return urls
def main():
    urls = []
    for f in HOME.iterdir():
        urls += collect(f)
    urls = [f'''
    
      https://nn.labml.ai/{u['path']}
      {u['date']}T16:30:00+00:00
      1.00
    
    ''' for u in urls]
    urls = '\n'.join(urls)
    xml = f'''
    
    
      {urls}
    
    '''
    with open(str(HOME.parent / 'docs' / 'sitemap.xml'), 'w') as f:
        f.write(xml)
if __name__ == '__main__':
    main()