|
|
@@ -1,12 +1,17 @@
|
|
|
from pathlib import Path
|
|
|
|
|
|
+from codeowners import CodeOwners
|
|
|
+
|
|
|
from qmk.json_schema import json_load
|
|
|
|
|
|
+codeowners_file = Path('CODEOWNERS')
|
|
|
+codeowners = CodeOwners(codeowners_file.read_text())
|
|
|
+
|
|
|
|
|
|
def maintainers(file):
|
|
|
"""Yields maintainers for a file.
|
|
|
"""
|
|
|
- maintainers = 'qmk'
|
|
|
+ maintainers = [owner[1] for owner in codeowners.of(str(file))]
|
|
|
file_dir = file if file.is_dir() else file.parent
|
|
|
|
|
|
cur_path = Path('.')
|
|
|
@@ -16,7 +21,8 @@ def maintainers(file):
|
|
|
info_file = cur_path / 'info.json'
|
|
|
if info_file.exists():
|
|
|
new_info_data = json_load(info_file)
|
|
|
- maintainers = new_info_data.get('maintainer', maintainers)
|
|
|
+ maintainers = new_info_data.get('maintainer').replace(',', ' ').split()
|
|
|
+ maintainers = ['@' + maintainer for maintainer in maintainers]
|
|
|
|
|
|
- for maintainer in maintainers.replace(',', ' ').split():
|
|
|
- yield 'qmk/collaborators' if maintainer == 'qmk' else maintainer
|
|
|
+ for maintainer in maintainers:
|
|
|
+ yield '@qmk/collaborators' if maintainer == 'qmk' else maintainer
|