a }|äg ã @ sn d Z ddlZddlmZ ddlmZ ddlmZ ddlm Z e e¡Ze ee dœdd „Ze ed œdd„ZdS ) zPlugin utilities.é N)ÚList)Úutil)Úos)ÚSTANDARD_BINARY_DIRS)ÚpathÚreturnc C sB t j | ¡}g }|r>| |¡ t j |¡\}}||d krq>q|S )a‘ Retrieves all possible path prefixes of a path, in descending order of length. For instance: * (Linux) `/a/b/c` returns `['/a/b/c', '/a/b', '/a', '/']` * (Windows) `C:\a\b\c` returns `['C:\a\b\c', 'C:\a\b', 'C:\a', 'C:']` :param str path: the path to break into prefixes :returns: all possible path prefixes of given path in descending order :rtype: `list` of `str` éÿÿÿÿ)r r ÚnormpathÚappendÚsplit)r ÚprefixÚprefixesÚ_© r ú8/usr/lib/python3.9/site-packages/certbot/plugins/util.pyÚget_prefixes s r )Úcmdr c C s’ t jd }g }tD ]$}||vr|t j| 7 }| |¡ qt|ƒr`t d| t j |¡¡ |t jd<