|
|
|
|
|
|
|
|
depends: Mapping[str, str] = {} |
|
|
depends: Mapping[str, str] = {} |
|
|
description: str = '(No description provided)' |
|
|
description: str = '(No description provided)' |
|
|
|
|
|
|
|
|
def to_dict(self, new=False) -> dict: |
|
|
|
|
|
|
|
|
def to_dict(self) -> dict: |
|
|
ret: dict = { |
|
|
ret: dict = { |
|
|
'description': self.description, |
|
|
'description': self.description, |
|
|
|
|
|
'depends': [k + v for k, v in self.depends.items()], |
|
|
} |
|
|
} |
|
|
if new: |
|
|
|
|
|
ret['depends'] = [k + v for k, v in self.depends.items()] |
|
|
|
|
|
else: |
|
|
|
|
|
ret['depends'] = self.depends |
|
|
|
|
|
if isinstance(self.remote, Git): |
|
|
if isinstance(self.remote, Git): |
|
|
ret['git'] = self.remote.to_dict() |
|
|
ret['git'] = self.remote.to_dict() |
|
|
return ret |
|
|
return ret |
|
|
|
|
|
|
|
|
parser = argparse.ArgumentParser() |
|
|
parser = argparse.ArgumentParser() |
|
|
args = parser.parse_args() |
|
|
args = parser.parse_args() |
|
|
|
|
|
|
|
|
data_old = { |
|
|
|
|
|
'version': 1, |
|
|
|
|
|
'packages': { |
|
|
|
|
|
pkg.name: |
|
|
|
|
|
{ver.version: ver.to_dict(new=False) |
|
|
|
|
|
for ver in pkg.versions} |
|
|
|
|
|
for pkg in PACKAGES |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
data_new = { |
|
|
|
|
|
|
|
|
data = { |
|
|
'version': 1, |
|
|
'version': 1, |
|
|
'packages': { |
|
|
'packages': { |
|
|
pkg.name: |
|
|
|
|
|
{ver.version: ver.to_dict(new=True) |
|
|
|
|
|
for ver in pkg.versions} |
|
|
|
|
|
|
|
|
pkg.name: {ver.version: ver.to_dict() |
|
|
|
|
|
for ver in pkg.versions} |
|
|
for pkg in PACKAGES |
|
|
for pkg in PACKAGES |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
Path('catalog.old.json').write_text( |
|
|
|
|
|
json.dumps(data_old, indent=2, sort_keys=True)) |
|
|
|
|
|
new_json_str = json.dumps(data_new, indent=2, sort_keys=True) |
|
|
|
|
|
Path('catalog.json').write_text(new_json_str) |
|
|
|
|
|
|
|
|
json_str = json.dumps(data, indent=2, sort_keys=True) |
|
|
|
|
|
Path('catalog.json').write_text(json_str) |
|
|
|
|
|
|
|
|
cpp_template = textwrap.dedent(r''' |
|
|
cpp_template = textwrap.dedent(r''' |
|
|
#include <dds/catalog/package_info.hpp> |
|
|
#include <dds/catalog/package_info.hpp> |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
''') |
|
|
''') |
|
|
|
|
|
|
|
|
new_json_small = json.dumps(data_new, sort_keys=True) |
|
|
|
|
|
new_json_str_arr = ', '.join(str(ord(c)) for c in new_json_small) |
|
|
|
|
|
|
|
|
json_small = json.dumps(data, sort_keys=True) |
|
|
|
|
|
json_small_arr = ', '.join(str(ord(c)) for c in json_small) |
|
|
|
|
|
|
|
|
new_json_str_arr = '\n'.join(textwrap.wrap(new_json_str_arr, width=120)) |
|
|
|
|
|
new_json_str_arr = textwrap.indent(new_json_str_arr, prefix=' ' * 4) |
|
|
|
|
|
|
|
|
json_small_arr = '\n'.join(textwrap.wrap(json_small_arr, width=120)) |
|
|
|
|
|
json_small_arr = textwrap.indent(json_small_arr, prefix=' ' * 4) |
|
|
|
|
|
|
|
|
cpp_content = cpp_template.replace('@JSON@', new_json_str_arr).replace( |
|
|
|
|
|
'@JSON_LEN@', str(len(new_json_small))) |
|
|
|
|
|
|
|
|
cpp_content = cpp_template.replace('@JSON@', json_small_arr).replace( |
|
|
|
|
|
'@JSON_LEN@', str(len(json_small))) |
|
|
Path('src/dds/catalog/init_catalog.cpp').write_text(cpp_content) |
|
|
Path('src/dds/catalog/init_catalog.cpp').write_text(cpp_content) |