fix: update

This commit is contained in:
egarette@silique.fr 2025-11-02 20:39:39 +01:00
parent fec773d8e5
commit 1e46737c20
66 changed files with 55 additions and 54 deletions

1
TITLE Normal file
View file

@ -0,0 +1 @@
[init] Discover Rougail

View file

@ -7,8 +7,8 @@ from ansi2html import Ansi2HTMLConverter
from rougail import Rougail from rougail import Rougail
from rougail.config import get_rougail_config from rougail.config import get_rougail_config
from rougail.output_exporter import RougailOutputExporter from rougail.output_console import RougailOutputConsole
from rougail.user_data_file import RougailUserDataFile from rougail.user_data_yaml import RougailUserDataYaml
from rougail.output_doc import RougailOutputDoc from rougail.output_doc import RougailOutputDoc
@ -16,8 +16,8 @@ if __name__ == "__main__":
version = sys.argv[1] version = sys.argv[1]
# rougailconfig = RougailConfig.copy() # rougailconfig = RougailConfig.copy()
rougailconfig = get_rougail_config(backward_compatibility=False, add_extra_options=False) rougailconfig = get_rougail_config(backward_compatibility=False, add_extra_options=False)
rougailconfig['main_dictionaries'] = ['firefox'] rougailconfig['main_structural_directories'] = ['firefox']
rougailconfig['default_dictionary_format_version'] = version rougailconfig['default_structural_format_version'] = version
if Path('config/namespace').is_file(): if Path('config/namespace').is_file():
has_namespace = True has_namespace = True
has_foxyproxy = False has_foxyproxy = False
@ -25,26 +25,26 @@ if __name__ == "__main__":
has_foxyproxy = True has_foxyproxy = True
has_namespace = True has_namespace = True
rougailconfig['main_namespace'] = 'Firefox' rougailconfig['main_namespace'] = 'Firefox'
rougailconfig['extra_dictionaries'] = {'FoxyProxy': ['foxyproxy']} rougailconfig['extra_namespaces'] = {'FoxyProxy': ['foxyproxy']}
else: else:
has_foxyproxy = False has_foxyproxy = False
has_namespace = False has_namespace = False
rougailconfig['main_namespace'] = None rougailconfig['main_namespace'] = None
# rougailconfig['tiramisu_cache'] = "cache.py" # rougailconfig['tiramisu_cache'] = "cache.py"
# rougail = Rougail(rougailconfig)
# config = rougail.get_config()
# print(config.value.get())
rougailconfig['step.output'] = 'doc'
rougailconfig['doc.output_format'] = 'github'
rougailconfig['doc.title_level'] = 3
if Path('mode').is_file(): if Path('mode').is_file():
rougailconfig['modes_level'] = ['basic', 'standard', 'advanced'] rougailconfig['modes_level'] = ['basic', 'standard', 'advanced']
has_mode = True has_mode = True
else: else:
has_mode = False has_mode = False
inventory = RougailOutputDoc(rougailconfig=rougailconfig.copy()) rougail = Rougail(rougailconfig)
rougailconfig['step.output'] = 'exporter' config = rougail.run()
header = inventory.formater.header() # print(config.value.get())
rougailconfig['step.output'] = 'doc'
rougailconfig['doc.output_format'] = 'github'
rougailconfig['doc.title_level'] = 3
inventory = RougailOutputDoc(config, rougailconfig=rougailconfig.copy())
inventory.load_formatter()
rougailconfig['step.output'] = 'console'
summary = Path('summary_before.md') summary = Path('summary_before.md')
if summary.is_file(): if summary.is_file():
with summary.open('r') as sfh: with summary.open('r') as sfh:
@ -55,32 +55,36 @@ if __name__ == "__main__":
namespace = 'firefox' namespace = 'firefox'
file_found = False file_found = False
if rougailconfig['main_namespace']: if rougailconfig['main_namespace']:
all_dirs = [[rougailconfig['main_dictionaries']], rougailconfig['extra_dictionaries'].values()] all_dirs = [[rougailconfig['main_structural_directories']], [['foxyproxy']]]
else: else:
all_dirs = [[rougailconfig['main_dictionaries']]] all_dirs = [[rougailconfig['main_structural_directories']]]
doc += inventory.formater.title('Screenshot', 2) + '\n' doc += inventory.formatter.title('Screenshot', 2) + '\n'
doc += f'<img src="{namespace}.png" width=50% height=50% alt="{namespace.capitalize()} Proxy setting"/>\n\n' doc += f'<img src="{namespace}.png" width=50% height=50% alt="{namespace.capitalize()} Proxy setting"/>\n\n'
# with doc_file.open('r') as docfh: # with doc_file.open('r') as docfh:
# doc += docfh.read() # doc += docfh.read()
doc += '\n' + inventory.formater.title('Structure', 2) + '\n' doc += '\n' + inventory.formatter.title('Structure', 2) + '\n'
print(all_dirs)
for r in all_dirs: for r in all_dirs:
for dirs in r: for dirs in r:
for d in dirs: for d in dirs:
print(d)
files = list(Path(d).iterdir()) files = list(Path(d).iterdir())
files.sort() files.sort()
for f in files: for f in files:
namespace = f.parent.name namespace = f.parent.name
file_found = True file_found = True
if f.name.endswith('.yml') or f.name.endswith('.yaml'): if f.name.endswith('.yml') or f.name.endswith('.yaml'):
doc += inventory.formater.title(str(f), 3) doc += inventory.formatter.title(str(f), 3)
doc += '\n```yml\n' doc += '\n```yml\n'
with f.open(encoding="utf8") as file_fh: with f.open(encoding="utf8") as file_fh:
doc += file_fh.read() doc += file_fh.read()
doc += '\n```\n' doc += '\n```\n'
inv_doc = inventory.gen_doc() rougailconfig['step.output'] = 'doc'
inv_doc = inventory.run()[1]
rougailconfig['step.output'] = 'console'
if file_found and inv_doc: if file_found and inv_doc:
doc += inventory.formater.title('Generated documentation', 3) doc += inventory.formatter.title('Generated documentation', 3)
CMD = f"foo@bar:~$ rougail -v {version} -m firefox/ " CMD = f"foo@bar:~$ rougail -v {version} -m firefox/ "
if has_namespace: if has_namespace:
CMD += "-s Firefox " CMD += "-s Firefox "
@ -94,7 +98,7 @@ if __name__ == "__main__":
# #
config = Path('config') config = Path('config')
if config.is_dir(): if config.is_dir():
doc += inventory.formater.title('User data', 2) doc += inventory.formatter.title('User data', 2)
configs = list(config.iterdir()) configs = list(config.iterdir())
configs.sort() configs.sort()
for idx, dirname in enumerate(configs): for idx, dirname in enumerate(configs):
@ -102,58 +106,54 @@ if __name__ == "__main__":
continue continue
for filename in dirname.iterdir(): for filename in dirname.iterdir():
if filename.name.endswith('.yml') or filename.name.endswith('.yaml'): if filename.name.endswith('.yml') or filename.name.endswith('.yaml'):
doc += inventory.formater.title(f'Example {idx + 1}', 3) doc += inventory.formatter.title(f'Example {idx + 1}', 3)
doc += inventory.formater.title(str(filename), 4) doc += inventory.formatter.title(str(filename), 4)
doc += '\n```yml\n' doc += '\n```yml\n'
with filename.open(encoding="utf8") as file_fh: with filename.open(encoding="utf8") as file_fh:
doc += file_fh.read() doc += file_fh.read()
doc += '\n```\n' doc += '\n```\n'
# with filename.open(encoding="utf8") as file_fh: # with filename.open(encoding="utf8") as file_fh:
# objects = yaml.load(file_fh) # objects = yaml.load(file_fh)
# doc += inventory.formater.yaml(objects) # doc += inventory.formatter.yaml(objects)
#readme = dirname / 'README.md' #readme = dirname / 'README.md'
#if readme.is_file(): #if readme.is_file():
# doc += inventory.formater.title('Description', 4) # doc += inventory.formatter.title('Description', 4)
# with readme.open() as fh: # with readme.open() as fh:
# doc += fh.read() + '\n\n' # doc += fh.read() + '\n\n'
rougail = Rougail(rougailconfig) rougail = Rougail(rougailconfig)
tiramisu_config = rougail.get_config() tiramisu_config = rougail.run()
rougailconfig['step.user_data'] = ['file'] rougailconfig['step.user_data'] = ['yaml']
rougailconfig['file.filename'] = [str(filename.absolute())] rougailconfig['yaml.filename'] = [str(filename.absolute())]
data = RougailUserDataFile(tiramisu_config, rougailconfig=rougailconfig) data = RougailUserDataYaml(tiramisu_config, rougailconfig=rougailconfig)
ret = data.run() ret = data.run()
errors = rougail.user_datas(ret) errors = rougail.user_datas(ret)
export = RougailOutputExporter(tiramisu_config, export = RougailOutputConsole(tiramisu_config,
rougailconfig=rougailconfig, rougailconfig=rougailconfig,
user_data_errors=errors['errors'], user_data_errors=errors['errors'],
user_data_warnings=errors['warnings'], user_data_warnings=errors['warnings'],
) )
export.exporter() console = export.run()[1]
with export.formater.console.capture() as capture:
export.print()
conv = Ansi2HTMLConverter(inline=True) conv = Ansi2HTMLConverter(inline=True)
doc += inventory.formater.title('Output', 4) doc += inventory.formatter.title('Output', 4)
cmd = CMD + f"-u file -ff {filename}" cmd = CMD + f"-u yaml -ff {filename}"
doc += f"```console\n{cmd}\n```\n" doc += f"```console\n{cmd}\n```\n"
conv_data = '<pre>' + conv.convert(capture.get(), full=False) + "</pre>\n" conv_data = '<pre>' + conv.convert(console, full=False) + "</pre>\n"
doc += conv_data doc += conv_data
with open(dirname / 'output_ro.html', 'w') as fh_output: with open(dirname / 'output_ro.html', 'w') as fh_output:
fh_output.write(conv_data) fh_output.write(conv_data)
if (config / 'read_write').is_file(): if (config / 'read_write').is_file():
rougailconfig['exporter.read_write'] = True tiramisu_config.property.read_write
export = RougailOutputExporter(tiramisu_config, export = RougailOutputConsole(tiramisu_config,
rougailconfig=rougailconfig, rougailconfig=rougailconfig,
user_data_errors=data.errors, user_data_errors=data.errors,
user_data_warnings=data.warnings, user_data_warnings=data.warnings,
) )
export.exporter() console = export.run()[1]
with export.formater.console.capture() as capture:
export.print()
conv = Ansi2HTMLConverter(inline=True) conv = Ansi2HTMLConverter(inline=True)
doc += inventory.formater.title('Output in read write mode', 4) doc += inventory.formatter.title('Output in read write mode', 4)
cmd = cmd + " --exporter.read_write" cmd = cmd + " --cli.read_write"
doc += f"```console\n{cmd}\n```\n" doc += f"```console\n{cmd}\n```\n"
conv_data = '<pre>' + conv.convert(capture.get(), full=False) + "</pre>\n" conv_data = '<pre>' + conv.convert(console, full=False) + "</pre>\n"
doc += '<pre>' + conv_data + "</pre>\n" doc += '<pre>' + conv_data + "</pre>\n"
with open(dirname / 'output_rw.html', 'w') as fh_output: with open(dirname / 'output_rw.html', 'w') as fh_output:
fh_output.write(conv_data) fh_output.write(conv_data)

View file

@ -61,7 +61,7 @@ for i in $(ls -d "examples"/* | sort); do
diff_url="https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/${commit_id}~1..$commit_id" diff_url="https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/${commit_id}~1..$commit_id"
echo " - [$summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/$commit_id/README.md) ([diff]($diff_url))" >> summary.md echo " - [$summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/$commit_id/README.md) ([diff]($diff_url))" >> summary.md
cp "summary_total.md" "$DEST" cp "summary_total.md" "$DEST"
cd "$i/dictionaries" cd "$i/structural_files"
if [ -d firefox ]; then if [ -d firefox ]; then
for j in $(ls firefox/*.yml 2>/dev/null); do for j in $(ls firefox/*.yml 2>/dev/null); do
cp "$j" "$DEST/$j" cp "$j" "$DEST/$j"