From 3fc1b2c00a71cce5f45269f8246afbc793a08e68 Mon Sep 17 00:00:00 2001 From: sukanka Date: Fri, 3 Feb 2023 20:29:45 +0800 Subject: [PATCH] use `|` in lilac.yaml for multiple lines --- updater/depends_updater.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/updater/depends_updater.py b/updater/depends_updater.py index fb1188c..a24dd08 100755 --- a/updater/depends_updater.py +++ b/updater/depends_updater.py @@ -19,6 +19,18 @@ from pkg_archiver import archive_pkg_yaml, archive_pkg_pkgbuild, unarchive_cran import re import requests +# use | in lilac.yaml +def str_presenter(dumper, data): + """configures yaml for dumping multiline strings + Ref: https://stackoverflow.com/questions/8640959/how-can-i-control-what-scalar-form-pyyaml-uses-for-my-data""" + if data.count('\n') > 0: # check for multiline string + return dumper.represent_scalar('tag:yaml.org,2002:str', data, style='|') + return dumper.represent_scalar('tag:yaml.org,2002:str', data) + + +yaml.add_representer(str, str_presenter) +yaml.representer.SafeRepresenter.add_representer( + str, str_presenter) # to use with safe_dum class PkgInfo: def __init__(self, pkgname=None, depends=None, optdepends=None,