j t d dl mZ d dl mZ d dl mZ d dlmZ d dlmZ d dl m
Z
G d dej Zd S )
)print_function)division)absolute_import)configparser)StringIO)
basestringc 6 e Zd ZdZd Zd Zd Zd Zd Zd Z dS ) SectionlessConfigParserz
Extends ConfigParser to allow files without sections.
This is done by wrapping read files and prepending them with a placeholder
section, which defaults to '__config__'
c | dd }t j j | g|R i | d | _ | |pd d S )Ndefault_section
__config__)popConfigParserRawConfigParser__init___default_sectionset_default_section)selfargskwargsr s O/opt/cloudlinux/venv/lib64/python3.11/site-packages/lvemanager/config_parser.pyr z SectionlessConfigParser.__init__ sa **%6==$-dDTDDDVDDD $ !@LAAAAA c | j S N)r )r s r get_default_sectionz+SectionlessConfigParser.get_default_section s $$r c | | | | j }| | j |D ]\ }}| ||| n# t
j $ r Y nw xY w|| _ d S r )add_sectionitemsr remove_sectionsetr NoSectionError)r sectiondefault_section_itemskeyvalues r r z+SectionlessConfigParser.set_default_section" s !!! .$(JJt/D$E$E! 5666 !6
.
.e#u----
. * D !(s 4A+ +A=<A=c t |t r|g}g }|D ]d} t | 5 }| | d d d n# 1 swxY w Y | | U# t
$ r Y aw xY w|S r )
isinstancer openreadfpappendIOError)r filenamesread_okfilenamefps r readzSectionlessConfigParser.read1 s i,, $"I! ) )H
)(^^ $rKKOOO$ $ $ $ $ $ $ $ $ $ $ $ $ $ $
x((((
s4 A2AA2A A2A A22
A?>A?c J t } |j |_ n# t $ r Y nw xY w| d| j z dz | | | dd t j j | |g|R i |S )N[z]
r )
r nameAttributeErrorwriter r0 seekr r r) )r r/ r r streams r r) zSectionlessConfigParser.readfpA s 'FKK D S40058999RWWYYAq+24 =$ = = =5;= = =s
**c | | j }| | j |D ].\ }}| d || /| d n# t
j $ r Y nw xY wt
j | | | | j |D ]!\ }}| | j || "d S )Nz{0}={1}
)
r r r r5 formatr r! r r r )r r/ r# r$ r% s r r5 zSectionlessConfigParser.writeP s
$(JJt/D$E$E! 5666 5
9
9e++C778888HHTNNNN* D $**4444.///1 8 8LS%HHT*C7777 8 8s A:A= =BBN)
__name__
__module____qualname____doc__r r r r0 r) r5 r r r
r
s{ B B B% % %
(
(
(
=
=
=8 8 8 8 8r r
N)
__future__r r r future.movesr r ior
past.builtinsr r r
r? r r