Files
mango/tools/kexttool/kext.py

54 lines
1.1 KiB
Python

import yaml
import io
import os
import glob
class KextSource:
__kext_info = {}
__src_dir_path = ''
def scan(path):
result = []
scan_arg = os.path.join(path, '**/extension.yaml')
for filename in glob.iglob(scan_arg, recursive=True):
try:
kext_src = KextSource(filename)
except Exception as e:
continue
result.append(kext_src)
return result
def __init__(self, info_file):
self.__src_dir_path = os.path.relpath(os.path.dirname(info_file), os.getcwd())
with io.open(info_file, 'r', encoding='utf-8') as info_fp:
self.__kext_info = yaml.safe_load(info_fp)
def name(self):
return self.__kext_info['name']
def id(self):
return self.__kext_info['id']
def license(self):
return self.__kext_info['license']
def copyright(self):
return self.__kext_info['copyright']
def sources(self):
return self.__kext_info['sources']
def src_dirpath(self):
return self.__src_dir_path