Libelektra: yajl: Elektra рдХреА рдмреВрд▓рд┐рдпрди рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 2 рдЕрдкреНрд░реИрд▓ 2019  ┬╖  24рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ElektraInitiative/libelektra

рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо

kdb mount config.json user/tests/yajl yajl type
kdb set user/tests/yajl true
kdb setmeta user/tests/yajl type boolean
kdb set user/tests/yajl 1

kdb rm user/tests/yajl
kdb umount user/tests/yajl

рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо

рд╡рд╣ рдЕрднреА рднреА true рдХреЙрдиреНрдлрд┐рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ true рдФрд░ 1 рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

cat `kdb file user/tests/yajl`
#> true

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдо

 Sorry, 1 warning was issued ;(
 Warning (#78):
        Description: Unknown or unsupported type found during streaming, assume key as string, type lost
        Ingroup: plugin
        Module: yajl
        At: /home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/libelektra/src/plugins/yajl/yajl_gen.c:166
        Reason: got boolean which is neither true nor false
        Mountpoint: user/tests/yajl
        Configfile: /home/markus/.config/config.json.26097:1554202289.309349.tmp
Set string to "1"
cat `kdb file user/tests/yajl`
#> "1"

рдкреНрд░рдгрд╛рд▓реА рдХреА рдЬрд╛рдирдХрд╛рд░реА

  • Elektra рд╕рдВрд╕реНрдХрд░рдг: рдорд╛рд╕реНрдЯрд░

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдВрдХреЗрдд

Yajl рдкреНрд▓рдЧрдЗрди рдХреА рдЬрд░реВрд░рдд рд╣реИ:

  • [] рдЬреЗрдиреНрд╕рди рдХреЗ рдЭреВрдареЗ рдФрд░ рд╕рдЪреНрдЪреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗ "0" рдФрд░ "1" рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВред
  • [] рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЕрд╕рдлрд▓ рдЕрдЧрд░ рдЧреИрд░-рд╕рдорд░реНрдерд┐рдд рдкреНрд░рдХрд╛рд░ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдХреНрдпрд╛ рдореИрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреБрдВрдЬреА рднреА рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рд╣рд╛рдВ, рдмрд╕ рдЗрд╕реЗ рдЕрдиреБрдмрдВрдз рдХреБрдВрдЬреА рд╕реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рджрд┐рдЦрд╛рддреА рд╣реИ рдХрд┐ рдХреИрд╕реЗ YAML CPP type рдкреНрд▓рдЧрдЗрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ:

https://github.com/ElektraInitiative/libelektra/blob/5519cb8066a096215a3701ca3d8c02fcebe54914/src/plugins/yamlcpp/yamlcpp.cpp#L4444
ред

рд╕рднреА 24 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@kodebach рдпрд╣ рдЕрднреА рднреА рд╕рдВрднрд╡ рд╣реИ рдХрд┐ "1" рдХреЗ рдмрдЬрд╛рдп "рд╕рддреНрдп" рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк рдкреНрд▓рдЧрдЗрди рдХреЛ рдкреБрди: рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдирд╣реАрдВ, рдпрд╣ рдкреНрд░рдХрд╛рд░ рдкреНрд▓рдЧрдЗрди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдерд╛ред

IMO рдпрд╣ рднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред рдПрдХ рдмреВрд▓рд┐рдпрди рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХрд╛ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛-рддрд░реАрдХрд╛ 0 рдФрд░ 1 ред рдпрджрд┐ рдХреЛрдИ рд╕рдВрдЧреНрд░рд╣рдг рдкреНрд░рд╛рд░реВрдк рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ Elektra- рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╕реЗ рд╕рдВрдЧреНрд░рд╣рдг рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдкрд╛рдВрддрд░рдг, рднрдВрдбрд╛рд░рдг рдкреНрд▓рдЧрдЗрди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдВрдд рдореЗрдВ рдлреЙрд░реНрдореЗрдЯ рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд▓рдЧрдЗрди рдПрд▓реЗрдХреНрдЯреНрд░рд╛ рдФрд░ рдлреЙрд░реНрдореЗрдЯ рдПрдХреНрд╕ рдХреЗ рдмреАрдЪ рдХрд╛ рдкреБрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореВрд▓реНрдпреЛрдВ рдХреА рдмрд╣рд╛рд▓реА рднреА рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ? рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ presetstorage , рдФрд░ рдЖрдкрдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рд╣реИ, рдХрд┐ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдорд╛рди рдмрд╣рд╛рд▓ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ, рдпрджрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ kdb set user/tests/yajl on рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ yajl рдкреНрд▓рдЧрдЗрди рдХрд╛ рдореВрд▓реНрдп on рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред

рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреИрд╕реЗ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗред рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдкреНрд▓рдЧрдЗрди рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдорддрд▓рдм yajl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрднреА рднреА type рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╡реЗ рдорд╛рди рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдмрд╣рд╛рд▓ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ

рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ JSON рдореЗрдВ рдХреЗрд╡рд▓ рдЙрдкрд▓рдмреНрдз рдкреНрд░рд╕реНрддреБрддрд┐ рд╕рд╣реА / рдЧрд▓рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рдЪреБрди рд╕рдХрддрд╛ рд╣реИред

рдорддрд▓рдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрднреА рднреА yajl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рд╣реА рдкреНрд░рдХрд╛рд░ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдпрд╣ рднреА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ yajl рдкреНрд░рдХрд╛рд░ рдкреНрд▓рдЧрдЗрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди / рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рдмреВрд▓рд┐рдпрди рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХрд╛ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛-рддрд░реАрдХрд╛ 0 рдФрд░ 1 рд╣реИред рдпрджрд┐ рдХреЛрдИ рд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд░рд╛рд░реВрдк рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдПрд▓реЗрдХреНрдЯреНрд░рд╛-рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╕реЗ рд╕реНрдЯреЛрд░реЗрдЬ рдлреЙрд░реНрдореЗрдЯ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдкрд╛рдВрддрд░рдг, рд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд▓рдЧрдЗрди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рд╛рдВ, рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред рдЖрдкрдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдордзреНрдпрд╡рд░реНрддреА рдкреНрд▓рдЧрдЗрдиреНрд╕ (рдкреНрд░рдХрд╛рд░ рдФрд░ рднрдВрдбрд╛рд░рдг рдХреЗ рдмреАрдЪ) рдХреЛ рдмреВрд▓рд┐рдпрдВрд╕ рдХреЗ рд╕рд╣реА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдКрдкрд░ "рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдВрдХреЗрдд" рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред

@kodebach рдПрдХ рдФрд░ рд╕рд╡рд╛рд▓: JSON рдХреЗрд╡рд▓ рдбрдмрд▓ / рдмреВрд▓рд┐рдпрди / рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд▓рдЧрдЗрди рд╕реЗ рдХрд╣рд╛ рдЬрд╛рдП рдХрд┐ рдХреЗрд╡рд▓ рдЗрди 3 рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ?

рдпрд╣ # 1092 рдореЗрдВ рд╡рд░реНрдгрд┐рдд JSON рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рднреА рдареАрдХ рдХрд░реЗрдЧрд╛ред

рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ JSON рдореЗрдВ рдХреЗрд╡рд▓ рдЙрдкрд▓рдмреНрдз рдкреНрд░рд╕реНрддреБрддрд┐ рд╕рд╣реА / рдЧрд▓рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рдЪреБрди рд╕рдХрддрд╛ рд╣реИред

рд╡реЗ JSON рдореЗрдВ рдирд╣реАрдВ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ kdb set рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ

рдкреНрд░рдХрд╛рд░ рдФрд░ рднрдВрдбрд╛рд░рдг рдХреЗ рдмреАрдЪ

рдЖрджреЗрд╢ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: getstorage , type , [рдЕрдиреНрдп], type , setstorage рдЕрд░реНрде, рдХрднреА рднреА рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреАрдЪ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рднрдВрдбрд╛рд░рдгред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдКрдкрд░ "рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдВрдХреЗрдд" рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред

рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХрд┐ kdb set user/tests/yajl on рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, type рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд┐рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ type рдореВрд▓реНрдп on рд╕реЗрдЯрд╕реНрдЯреЛрд░ рдореЗрдВ рдкрд╛рд╕ рд╣реЛрдВрдЧреЗ рд▓рдЧрд╛рдирд╛ред

JSON рдХреЗрд╡рд▓ рдбрдмрд▓ / рдмреВрд▓рд┐рдпрди / рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд▓рдЧрдЗрди рд╕реЗ рдХрд╣рд╛ рдЬрд╛рдП рдХрд┐ рдХреЗрд╡рд▓ рдЗрди 3 рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ?

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрдордд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдХрдард┐рди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╡реЗ JSON рдореЗрдВ рдирд╣реАрдВ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди kdb рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╡реЗ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ

kdb set рдореЗрдВ рдЬреЛ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЙрд╕реЗ рд╡реИрд╕реЗ рднреА рдпрд╛рдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдЙрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП kdb рд╕реЗрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / рдкрд░реАрдХреНрд╖рдг / yajl рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд┐рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд░рдХрд╛рд░ рд╕реЗрдЯрд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд▓рдЧрдЗрди рдкрд░ рдореВрд▓реНрдп рдкрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ред

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ "1" рдореЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрджрд▓рддрд╛?

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрдордд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдХрдард┐рди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╢рд╛рдпрдж рдЗрд╕рд╕реЗ рднреА рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рдпрджрд┐ рд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд▓рдЧрдЗрди рдпрд╛ рдЯрд╛рдЗрдк рдкреНрд▓рдЧрдЗрди рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд╝рд░реНрдХ рдкрдбрд╝рддрд╛ рд╣реИ? рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рднрдВрдбрд╛рд░рдг рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рднреА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХрд╣реЗрдЧрд╛ ( @sanssecours ?)

рдпрджрд┐ рд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд▓рдЧрдЗрди рдпрд╛ рдЯрд╛рдЗрдк рдкреНрд▓рдЧрдЗрди рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд╝рд░реНрдХ рдкрдбрд╝рддрд╛ рд╣реИ?

рд╡рд╣ рдирд╣реАрдВ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдЬрд╛рдирддрд╛ рд╣реВрдВред рд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рддреНрд░реБрдЯрд┐ рдЙрдард╛рдирд╛ рд╢рд╛рдпрдж рдФрд░ рднреА рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рддрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ yajl type рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реИред

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ "1" рдореЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрджрд▓рддрд╛?

рд╕рд╛рдорд╛рдиреНрдпрдХрд░рдг / рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдорд▓реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рдХреЗрд╕ 1: рдХреБрдВрдЬреА kdbGet рдФрд░ kdbGet рдФрд░ kdbSet рдмреАрдЪ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реИ
    рдпрд╣ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдФрд░ рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдорд╛рдорд▓рд╛ рд╣реИред рдореВрд▓реНрдп kdbGet рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдореВрд▓ рдореВрд▓реНрдп kdbSet рдореЗрдВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдВрдЧреНрд░рд╣рдг рдлрд╝рд╛рдЗрд▓ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣реЗ (рдкреНрд░рд╢реНрди рдореЗрдВ рдХреБрдВрдЬреА рдХреЛ рджрдмрд╛рдПрдВ)
  • рдХреЗрд╕ 2: рдХреБрдВрдЬреА kdbGet рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рдереА
    рдпрд╣рд╛рдВ рд╣рдо рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рди рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рддреБрд░рдВрдд рдмрд╣рд╛рд▓ рдХрд░рддреЗ рд╣реИрдВред
  • рдХреЗрд╕ 3: рдХреБрдВрдЬреА kdbGet рдореМрдЬреВрдж kdbGet рдФрд░ kdbSet рдмреАрдЪ рдмрджрд▓ рдЧрдпрд╛ рдерд╛
    рдпрд╣ рдХреЗрд╕ 2 рдХреЗ рд╕рдорд╛рди рд╣реА рдЖрд╡рд╢реНрдпрдХ рд╣реИред keySetString origvalue рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП type рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреА рдХреБрдВрдЬреА kdbGet рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рдереА ред

рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рд╣реИред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдореИрдВ рдЗрд╕реЗ рдЗрдиреНрдлреЛрд╕ / рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рднреВрд▓ рдЧрдпрд╛):

https://github.com/ElektraInitiative/libelektra/blob/6e609f7e78039db188e32d32d2ea13908c0abe38/src/plinins/type/README.md#L84 -L8888

рдпрджрд┐ yajl рдореЗрдЯрд╛рдбрд╛рдЯрд╛ check/boolean/true = true рдФрд░ check/boolean/false = false рд╕рднреА рдмреВрд▓рд┐рдпрди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рднреА рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред type рдкреНрд▓рдЧрдЗрди рддрдм рдореВрд▓реНрдп true , 1 , false рдФрд░ 0 рдмреВрд▓рд┐рдпрди рдХреАрдЬрд╝ рдХреЗ рд▓рд┐рдП (рдкреНрд░рд╛рдкреНрдд рдФрд░ рд╕реЗрдЯ рдореЗрдВ)ред рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ true рдпрд╛ false рд╕реЗрдЯрд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд▓рдЧрдЗрди рд╕реЗ рдЧреБрдЬрд░реЗрдЧрд╛ред yajl рдкреНрд▓рдЧрдЗрди рдХреЛ рдЕрднреА рднреА 0 / 1 рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ true / false рд╕рд╛рде-рд╕рд╛рде 0 рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП 1 рд╕реЗрдЯ рдореЗрдВ, рддрд╛рдХрд┐ рдпрд╣ type рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдпрд╛ рдЙрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░реЗред

рдпрджрд┐ рд╣рдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рдиреАрдЪреЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЗрд╕реЗ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЯрд╛рдЗрдк рдкреНрд▓рдЧ рдХреЛ рдмрдврд╝рд╛рдирд╛ рдЕрдм kdb set рдореЗрдВ рдмреВрд▓рд┐рдпрди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ yajl рдЧреБрдкреНрдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рдХрд┐рд╕реА рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИред

рд╡рд╣ рдирд╣реАрдВ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдЬрд╛рдирддрд╛ рд╣реВрдВред рд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рддреНрд░реБрдЯрд┐ рдЙрдард╛рдирд╛ рд╢рд╛рдпрдж рдФрд░ рднреА рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рддрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ yajl рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реИред

рдареАрдХ рдареАрдХред

рд╕рд╛рдорд╛рдиреНрдпрдХрд░рдг / рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдорд▓реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
[...] (рдореИрдВ рдЗрд╕реЗ рдЗрдиреНрдлреЛрд╕ / рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рднреВрд▓ рдЧрдпрд╛)

рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?

рдЕрдм kdb рд╕реЗрдЯ рдореЗрдВ рдмреВрд▓рд┐рдпрди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛

"рдХреЙрдиреНрдлрд┐рдЧ / рдиреАрдбреНрд╕" рдХреЗ рд╕рд╛рде рдпреЗрдЬрд▓ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ "рдЪреЗрдХ / рдмреБрд▓рд┐рдпрди / рдЯреНрд░реВ = рдЯреНрд░реВ рдФрд░ рдЪреЗрдХ / рдмреБрд▓рд┐рдпрди / рдЧрд▓рдд = рдЧрд▓рдд" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рддреЛ рдХреНрдпрд╛ рдореБрдЭреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдВрдХреЗрдд рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП?

"рдХреЙрдиреНрдлрд┐рдЧ / рдиреАрдбреНрд╕" рдХреЗ рд╕рд╛рде рдпреЗрдЬрд▓ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ "рдЪреЗрдХ / рдмреБрд▓рд┐рдпрди / рдЯреНрд░реВ = рдЯреНрд░реВ рдФрд░ рдЪреЗрдХ / рдмреБрд▓рд┐рдпрди / рдЧрд▓рдд = рдЧрд▓рдд" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЖрдкрдиреЗ рдЧрд▓рдд рд╕рдордЭрд╛, рдЕрднреА check/boolean/true рдФрд░ check/boolean/false рдХреЛ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреБрдВрдЬреА рдкрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реИ, type рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдирд╣реАрдВред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рднреАрддрд░ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд░реНрдерди рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ (рдЖрд╕рд╛рди рдкрд░реНрдпрд╛рдкреНрдд)ред

рдЕрдЫрд╛ рдареАрдХ рд╣реИред рдирд╣реАрдВ, рдлрд┐рд░ рдЬреИрд╕рд╛ рд╣реИ рдЙрд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВред рдпрд╣ рд╕рдм рдХреБрдЫ рдпрд╛рдЬрд▓ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдВрдХреЗрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛:

Yajl рдкреНрд▓рдЧрдЗрди рдХреА рдЬрд░реВрд░рдд рд╣реИ:

  • [] рдЬреЗрдиреНрд╕рди рдХреЗ рдЭреВрдареЗ рдФрд░ рд╕рдЪреНрдЪреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗ "0" рдФрд░ "1" рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВред
  • [] рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЕрд╕рдлрд▓ рдЕрдЧрд░ рдЧреИрд░-рд╕рдорд░реНрдерд┐рдд рдкреНрд░рдХрд╛рд░ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ

@sanssecours рдЖрдк рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд▓рдЧрдЗрди рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?

yajl рднреА рдореЗрдЯрд╛рдбреЗрдЯрд╛ check/boolean/true = true рдФрд░ check/boolean/false = false рдкреНрд░рддреНрдпреЗрдХ type = boolean рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдХреБрдВрдЬреА рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд kdb set /some/key on рдХреА рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрдЧреАред

yajl рдХреЛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рднреА рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛

рдХреНрдпрд╛ рдпрд╣ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпреВрд▓ рд╣рдореЗрд╢рд╛ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ "0" рдФрд░ рдмреВрд▓рд┐рдпрдиреНрд╕ рдХреЗ рд▓рд┐рдП "1" рджреЗрдЧрд╛?

рд╣рд╛рдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдорд╕реНрдпрд╛ рддрдм рд╣реЛрддреА рд╣реИ, рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ kdbGet рдмрд╛рдж рдореБрдЦреНрдп рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред yajl рдХрд╛ рдЙрд╕ рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реИред

рд▓реЗрдХрд┐рди рдХрднреА рдирд╣реАрдВ, рд╣рдореЗрдВ type рдкреНрд▓рдЧрдЗрди рдореЗрдВ рд╡реИрд╕реЗ рднреА рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдирдИ рдХреБрдВрдЬреА рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рддреЛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рд╕рдорд╛рдзрд╛рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рддреЛ рд╣рдореЗрдВ kdbSet рдкрде рдореЗрдВ рджреЛ рдмрд╛рд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк рдкреНрд▓рдЧрдЗрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░реЗ? рдХреНрдпрд╛ рдЖрдк рдПрдХ рдореБрджреНрджрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ?

# 2582 yajl (рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) рдХреЗ рд╕рд╛рде рдмрд╕ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ type рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдпрд╛ рддреЛ рд╢рд╛рдорд┐рд▓ рд╣реИ

  • рдХреЛрдИ booleans рд╕рд░рдгреА рдФрд░ boolean/restore = #1
    рдпрд╛
  • рдПрдХ booleans рд╕рд░рдгреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ "true" рдФрд░ "false" рд╕реНрдерд┐рддрд┐ #X рдФрд░ boolean/restore = #X

рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╡рд╛рд▓ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдХреБрдВрдЬреА рдкрд░ type=boolean рдФрд░ type/boolean/restoreas=none рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореИрдВ elektraYajlGet рдореЗрдВ рдмреВрд▓рд┐рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реВрдВ? рдлрд┐рд░ elektraYajlSet рдореБрдЭреЗ рдпрд╣ рдХреБрдВрдЬреА 1 рдпрд╛ 0 рдХреЗ рдорд╛рди рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рд╣реИ рдирд╛?

рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЖрдкреВрд░реНрддрд┐ рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ

# kdb mount conf.json user/tests/yajl yajl type
# kdb set user/tests/yajl 1
Set string to "1"
# kdb setmeta user/tests/yajl type boolean
# kdb set user/tests/yajl false
Sorry, 1 warning was issued ;(
    Sorry, module yajl issued the warning C03200:
    Validation Semantic: Got boolean which is neither true nor false
Set string to "false"
Case 2: The Key didn't exist in `kdbGet`
  Here we normalize the value to verify the type and then restore it immediately.

@kodebach
рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореВрд▓реНрдп рд╣рдореЗрд╢рд╛ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА type/boolean/restoreas=none ?

/boolean/restoreas рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдорд╛рдЗрд╢ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рдВрдкреВрд░реНрдг рдорд╛рдЙрдВрдЯрдкреЙрдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ type рдкреНрд▓рдЧрдЗрди рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ config/needs = type/boolean/restoreas=none рдХреЗ рд╢реАрд░реНрд╖ рд▓реЗрдЦ рдореЗрдВ src/pluigns/yajl/README.md рдЬреЛрдбрд╝рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред (рдХрдо рд╕реЗ рдХрдо kdb mount рдмрдврд╝рддреЗ рд╣реБрдП)

- infos/config/needs = type/boolean/restoreas=none рдЬреЛрдбрд╝рдирд╛ рдПрдХ рд╕рдВрдХрд▓рдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред

/elektra/build/src/plugins/yajl/readme_yajl.c:11:55: error: expected тАШ)тАЩ before тАШkeyNewтАЩ
 "- infos/config/needs = type/boolean/restoreas=none\n"
                                                       ^
                                                       )

рдХреНрдпрд╛ рдореИрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреБрдВрдЬреА рднреА рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдореИрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд▓рдЧрдЗрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдирд╣реАрдВ рдкрд╛ рд╕рдХрддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл config/need рдирд╣реАрдВ infos/config/needs ред рдореИрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрднреА рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

README рдХрд╛ рд╣реЗрдбрд░ keyNew рдХреА рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рддрдм рдкреНрд▓рдЧрдЗрдиреНрд╕ get рд╡рд┐рдзрд┐ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рд╛рдорд╛рди рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, README рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд▓реЗрдЦрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдореИрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреБрдВрдЬреА рднреА рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рд╣рд╛рдВ, рдмрд╕ рдЗрд╕реЗ рдЕрдиреБрдмрдВрдз рдХреБрдВрдЬреА рд╕реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рджрд┐рдЦрд╛рддреА рд╣реИ рдХрд┐ рдХреИрд╕реЗ YAML CPP type рдкреНрд▓рдЧрдЗрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ:

https://github.com/ElektraInitiative/libelektra/blob/5519cb8066a096215a3701ca3d8c02fcebe54914/src/plugins/yamlcpp/yamlcpp.cpp#L4444
ред

рдЖрдк рджреЛрдиреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

# 3012 рдХреЗ рд╕рд╛рде, yajl plugin рдореЗрдВ рдирд┐рдореНрди рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред

рдкреНрд░рдХрд╛рд░ рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде

kdb mount conf.json user/tests/yajl yajl type
kdb set user/tests/yajl 1
kdb get user/tests/yajl
#> 1
kdb setmeta user/tests/yajl type boolean
kdb set user/tests/yajl on
kdb get user/tests/yajl
#> 1
kdb set user/tests/yajl/subkey disable
kdb setmeta user/tests/yajl/subkey type boolean
kdb get user/tests/yajl/subkey
#> 0

cat `kdb file user/tests/yajl`
{
    "___dirdata": true,
    "subkey": true
}

рдкреНрд░рдХрд╛рд░ рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд┐рдирд╛

yajl рдкреНрд▓рдЧрдЗрди рдХреЛ рдЕрднреА рднреА 0 / 1 рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ true / false рдФрд░ 0 рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП 1 рд╕реЗрдЯ рдореЗрдВ, рддрд╛рдХрд┐ рдпрд╣ type рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдпрд╛ рдЙрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░реЗред

kdb mount conf.json user/tests/yajl yajl
kdb set user/tests/yajl 1
kdb getmeta user/tests/yajl type
#> boolean
kdb set user/tests/yajl false
kdb getmeta user/tests/yajl type
#> boolean
kdb get user/tests/yajl
#> 0

# Without the type plugin, 'on' is mapped to a string and a warning is emitted.
kdb set user/tests/yajl on
#> RET: 2
* fail with type errors if non-supported types are found

рдХреНрдпрд╛ рдпрд╣ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдк рдкреНрд▓рдЧрдЗрди рдХрдм рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдЗрд╕рдХреЗ рдмрд┐рдирд╛?

рдЗрд╕ рдЕрдВрддрд┐рдо рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдм рддрдХ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдпрд╣ рдерд╛ рдХрд┐ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред

 Sorry, 1 warning was issued ;(
    Sorry, module yajl issued the warning C03200:
    Validation Semantic: Got boolean which is neither 1 or true nor 0 or false

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдареАрдХ рд╣реИ, рдЯрд╛рдЗрдк рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд┐рдирд╛, рдЯрд╛рдЗрдкрд┐рдВрдЧ рдЬрд╛рдБрдЪ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕реЗ "1" рдпрд╛ "0" рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА (рдпрд╛ рд╡рд┐рдлрд▓) рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ "рд╕рдЪ", "рдЭреВрдареЗ" рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗ рдмреВрд▓рд┐рдпрди рдирд╣реАрдВ рд╣реИрдВред

Imho, yajl рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдЯрд╛рдЗрдк рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП "рдЖрд╡рд╢реНрдпрдХрддрд╛" рдирд┐рд░реНрднрд░рддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред (рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╣рдореЗрдВ "рд╕рдВрдЦреНрдпрд╛" рдХреЛ рднреА рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдирд╣реАрдВ рд╣реИ)ред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕реЗ "1" рдпрд╛ "0" рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА (рдпрд╛ рд╡рд┐рдлрд▓) рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ "рд╕рдЪ", "рдЭреВрдареЗ" рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗ рдмреВрд▓рд┐рдпрди рдирд╣реАрдВ рд╣реИрдВред

@kodebach рдиреЗ рд▓рд┐рдЦрд╛

Yajl plugin рдХреЛ рдЕрднреА рднреА 0/1 рд░рд┐рдЯрд░реНрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ рд╕рд╣реА / рдЧрд▓рдд рдФрд░ рд╕рд╛рде рд╣реА рд╕реЗрдЯ рдореЗрдВ 0/1 рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рдпрд╣ рдЯрд╛рдЗрдк рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдпрд╛ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░реЗред

рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рднреА "рд╕рдЪ" рдФрд░ "рдЭреВрдареЗ" рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реВрдВред

Imho, yajl рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдЯрд╛рдЗрдк рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП "рдЖрд╡рд╢реНрдпрдХрддрд╛" рдирд┐рд░реНрднрд░рддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред (рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╣рдореЗрдВ "рд╕рдВрдЦреНрдпрд╛" рдХреЛ рднреА рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдирд╣реАрдВ рд╣реИ)ред

рд╣рд╛рдВ, рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╣рдордд рд╣реВрдВред рдлрд┐рд░ рд╣рдо "рд╕рдЪреНрдЪреЗ" рдФрд░ "рдЭреВрдареЗ" рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдпрд╛рдЬрд▓ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдХрд╛рд░ рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдк рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдареАрдХ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИред рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рд╕реЗ, рдкреНрд░рдХрд╛рд░ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдбрдмрд▓ рдкреНрд░рдХрд╛рд░ рднреА json рдХреЗ рдИ-рд╕рдВрдХреЗрддрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ (рдЕрд░реНрдерд╛рдд 3.4e2 )ред
рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ?

рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ?

рдЖрд╣, рдЕрдм рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ src / plugins / yajl / testmod_yajl.c 240-251 рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЧрдИ рд╣реИред рдЗрд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред (рдЕрднреА рднреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдШрдЯрдирд╛ рд╣реИред)

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

sanssecours picture sanssecours  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sanssecours picture sanssecours  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mpranj picture mpranj  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

markus2330 picture markus2330  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mpranj picture mpranj  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ