# Copyright 2024 Canonical Ltd.## This program is free software; you can redistribute it and/or# modify it under the terms of the GNU Lesser General Public# License version 3 as published by the Free Software Foundation.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU# Lesser General Public License for more details.## You should have received a copy of the GNU Lesser General Public License# along with this program; if not, write to the Free Software Foundation,# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA."""Utility functions for craft_cli."""
[docs]defhumanize_list(values:list[str],conjunction:str="and")->str:"""Convert a collection of values into a string that lists the values."""iflen(values)==1:returnvalues[0]iflen(values)==2:# noqa: PLR2004returnf"{values[0]}{conjunction}{values[1]}"head,tail=values[:-1],values[-1]returnf"{', '.join(head)}, {conjunction}{tail}"