[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [augeas-devel] Wildcarded key/value pairs and nested blocks (dovecot lens development)



Hi Raphaël,

Thank you very much for the comments.
I cannot apply all of them because currently we use Augeas 0.10 but
will make changes for the rest.

My main question was is there any way to describe keys as regexp
instead of having fixed list and to have lens for the blocks without
"overlapping lenses" exception?

Thank you.

Serge

On Wed, Mar 6, 2013 at 9:35 AM, Raphaël Pinson
<raphael pinson camptocamp com> wrote:
> Hi Serge,
>
>
> Great job! I've left some comments on github directly.
>
>
> Regards,
>
> Raphaël
>
>
> On Tue, Mar 5, 2013 at 7:28 PM, Serge Smetana <serge smetana gmail com>
> wrote:
>>
>> Hello,
>>
>> I'm trying to create lens for Dovecot config.
>> I'm already have working lens here:
>>
>> https://github.com/smetana/augeas/commit/0cbd6b88e0f1bf2e281fa3ea16803abbf8b3d770
>>
>> But it is too "tight" because of the fixed list of keywords for the
>> entries.
>> Dovecot supports blocks and nested blocks like
>>
>> service auth {
>>   unix_listener auth-userdb {
>>      ...
>>   }
>> }
>>
>> and if I create wildcarded lens for simple entry
>>
>>    let entry = [ indent . key Rx.word. eq . (store value)? . eol ]
>>
>> I am unable to create lens for the block
>>
>>    let block_names = ("protocol" | "service" | "plugin" | "namespace" |
>> "map" )
>>    let block =
>>        [ indent . key block_names . block_args? . block_open . eol
>>        . (entry | empty | comment)*
>>        . indent . block_close . eol ]
>>
>> I end up with exception: overlapping lenses in tree union.put
>>     Example matched by both:  { "protocol" }
>>
>> Is there any way to define possible keys as something like a
>> subsctraction (Rx.word - block_names)
>> meaning "match anything but not /protocol|service|map/"?
>>
>> Thank you!
>> Great job!
>>
>> Serge
>>
>> _______________________________________________
>> augeas-devel mailing list
>> augeas-devel redhat com
>> https://www.redhat.com/mailman/listinfo/augeas-devel
>
>
>
>
> --
> Raphaël Pinson
> Administrateur Systèmes & Réseaux
> Camptocamp France
> Savoie Technolac
> BP 352
> 48, avenue du Lac du Bourget
> 73372 Le Bourget du Lac, Cedex
> www.camptocamp.com



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]