<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 22, 2015 at 4:36 PM, Mol, Xavier (SCC) <span dir="ltr"><<a href="mailto:xavier.mol@kit.edu" target="_blank">xavier.mol@kit.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Hi Raphael.<u></u><u></u></span></p><span class=""><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">> How about something like this:<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">>    let token = (mapping | pwdrecord | record_nobreak)* . (mapping | pwdrecord | record_nobreak)<u></u><u></u></span></p></span><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">How is that different from this token definition?<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">let token = (mapping | pwdrecord | record_nobreak)+<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">And how does record_nobreak look for you? If it is record as I have defined it without break at its end, then I don't think that will work. Evectively record_nobreak then assumes that all lines/nodes, that are not matched by either Util.empty, Util.comment, mapping or pwdrecord belong to a record_nobreak node. Did I understand you right?<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> </span></p></div></div></blockquote><div><br></div><div><br></div><div>My bad, I meant:</div><div><br></div><div><br></div><div><span class=""><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">     let token = (mapping | pwdrecord | record_break)* . (mapping | pwdrecord | record_nobreak)<u></u><u></u></span></p><div><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><br></span></div></span></div><div><br></div><div><br></div><div>Raphaël</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><u></u> <u></u></p><div style="border-style:none none none solid;border-left-color:blue;border-left-width:1.5pt;padding:0cm 0cm 0cm 4pt"><div><div style="border-style:solid none none;border-top-color:rgb(181,196,223);border-top-width:1pt;padding:3pt 0cm 0cm"><p class="MsoNormal"><b><span lang="DE" style="font-size:10pt;font-family:Tahoma,sans-serif">From:</span></b><span lang="DE" style="font-size:10pt;font-family:Tahoma,sans-serif"> Raphaël Pinson [mailto:<a href="mailto:raphael.pinson@camptocamp.com" target="_blank">raphael.pinson@camptocamp.com</a>] <br><b>Sent:</b> Tuesday, December 22, 2015 4:28 PM</span></p><div><div class="h5"><br><b>To:</b> Mol, Xavier (SCC)<br><b>Cc:</b> <a href="mailto:augeas-devel@redhat.com" target="_blank">augeas-devel@redhat.com</a><br><b>Subject:</b> Re: [augeas-devel] How to insert empty nodes in Augeas trees?<u></u><u></u></div></div><p></p></div></div><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">On Tue, Dec 22, 2015 at 2:32 PM, Mol, Xavier (SCC) <<a href="mailto:xavier.mol@kit.edu" target="_blank">xavier.mol@kit.edu</a>> wrote:<u></u><u></u></p><div><div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Hi Raphael,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">a concrete example snippet might look similar to what I've done with the unit tests (see test_kpwd.aug in attachements). The important lens in this context is called 'record' in kpwd.aug. That lens has to consume an unknown number of lines from a configuration file, until it encounters a blank line. At first I was looking for Util.empty, which worked fine, until I wanted to code a put unit test, hence the inquery of how to include empty nodes in an Augeas tree. After all, the better solution was to look for two line breaks (Util.eol . del "\n" "\n"), which doesn't generate, nor require empty nodes in the Augeas tree.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Then you brought up that we might encounter the end of a file, instead of line breaks, which I don't know how to handle with Augeas parsing. Because of that very issue, all of my custom lenses require each configuration file to end on a new line. Simply making the eol optional causes a lot of ambiguities and eof doesn't have a string representation, so there is no regular expression for matching it explicitly. Unless you know something that I don't. </span><span style="font-size:11pt;font-family:Wingdings;color:rgb(31,73,125)">J</span><u></u><u></u></p></div></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">How about something like this:<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">    let token = (mapping | pwdrecord | record_nobreak)* . (mapping | pwdrecord | record_nobreak)<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Cheers,<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Raphaël<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><blockquote style="border-style:none none none solid;border-left-color:rgb(204,204,204);border-left-width:1pt;padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm"><div><div><p class="MsoNormal"> <u></u><u></u></p><div style="border-style:none none none solid;border-left-color:blue;border-left-width:1.5pt;padding:0cm 0cm 0cm 4pt"><div><div style="border-style:solid none none;border-top-color:rgb(181,196,223);border-top-width:1pt;padding:3pt 0cm 0cm"><p class="MsoNormal"><b><span lang="DE" style="font-size:10pt;font-family:Tahoma,sans-serif">From:</span></b><span lang="DE" style="font-size:10pt;font-family:Tahoma,sans-serif"> Raphaël Pinson [mailto:<a href="mailto:raphael.pinson@camptocamp.com" target="_blank">raphael.pinson@camptocamp.com</a>] <br><b>Sent:</b> Tuesday, December 22, 2015 2:12 PM</span><u></u><u></u></p><div><div><p class="MsoNormal"><br><b>To:</b> Mol, Xavier (SCC)<br><b>Cc:</b> <a href="mailto:augeas-devel@redhat.com" target="_blank">augeas-devel@redhat.com</a><br><b>Subject:</b> Re: [augeas-devel] How to insert empty nodes in Augeas trees?<u></u><u></u></p></div></div></div></div><div><div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">Do you have concrete examples of what you're trying to achieve, so I understand better?<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">On Tue, Dec 22, 2015 at 2:05 PM, Mol, Xavier (SCC) <<a href="mailto:xavier.mol@kit.edu" target="_blank">xavier.mol@kit.edu</a>> wrote:<u></u><u></u></p><div><div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Hi Raphael,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">no, I need an empty line after Uitl.eol, before any other text. But you bring up an interesting point, that my lens doesn't recognize the end of a file, which could be accepted all the same, without requiring an actual empty line. But how can I match the end of a file?</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Ciao,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Xavier.</span><u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><div style="border-style:none none none solid;border-left-color:blue;border-left-width:1.5pt;padding:0cm 0cm 0cm 4pt"><div><div style="border-style:solid none none;border-top-color:rgb(181,196,223);border-top-width:1pt;padding:3pt 0cm 0cm"><p class="MsoNormal"><b><span lang="DE" style="font-size:10pt;font-family:Tahoma,sans-serif">From:</span></b><span lang="DE" style="font-size:10pt;font-family:Tahoma,sans-serif"> Raphaël Pinson [mailto:<a href="mailto:raphael.pinson@camptocamp.com" target="_blank">raphael.pinson@camptocamp.com</a>] <br><b>Sent:</b> Tuesday, December 22, 2015 1:31 PM</span><u></u><u></u></p><div><div><p class="MsoNormal"><br><b>To:</b> Mol, Xavier (SCC)<br><b>Cc:</b> <a href="mailto:augeas-devel@redhat.com" target="_blank">augeas-devel@redhat.com</a><br><b>Subject:</b> Re: [augeas-devel] How to insert empty nodes in Augeas trees?<u></u><u></u></p></div></div></div></div><div><div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">It's common to end every line with a Util.eol, which defaults to a newline. Or do you mean that you need an empty line at the end of the file?<u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Raphaël<u></u><u></u></p></div></div><div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">On Tue, Dec 22, 2015 at 12:58 PM, Mol, Xavier (SCC) <<a href="mailto:xavier.mol@kit.edu" target="_blank">xavier.mol@kit.edu</a>> wrote:<u></u><u></u></p><div><div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Hi Raphael, all,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">some more finding about this…</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Neither 'touch', nor 'rename' can be used during a put unit test. Also, relying on Augeas users to do this just to insert a line break, which is required for a valid configuration file, is ugly and error prone. This workaround still may be used to add additional empty lines to a configuration file just to improve readability (where they don't break anything), so still a useful lesson. Though for my custom lens, I have decided to look for and create empty lines by default, as with any string literal. This way, the Augeas tree doesn't need to feature empty nodes and empty lines will be added in put direction automatically.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Thank you again for your time,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Xavier.</span><u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><div style="border-style:none none none solid;border-left-color:blue;border-left-width:1.5pt;padding:0cm 0cm 0cm 4pt"><div><div style="border-style:solid none none;border-top-color:rgb(181,196,223);border-top-width:1pt;padding:3pt 0cm 0cm"><p class="MsoNormal"><b><span lang="DE" style="font-size:10pt;font-family:Tahoma,sans-serif">From:</span></b><span lang="DE" style="font-size:10pt;font-family:Tahoma,sans-serif"> <a href="mailto:augeas-devel-bounces@redhat.com" target="_blank">augeas-devel-bounces@redhat.com</a> [mailto:<a href="mailto:augeas-devel-bounces@redhat.com" target="_blank">augeas-devel-bounces@redhat.com</a>] <b>On Behalf Of </b>Mol, Xavier (SCC)<br><b>Sent:</b> Tuesday, December 22, 2015 10:27 AM<br><b>To:</b> Raphaël Pinson</span><u></u><u></u></p><div><div><p class="MsoNormal"><br><b>Cc:</b> <a href="mailto:augeas-devel@redhat.com" target="_blank">augeas-devel@redhat.com</a><br><b>Subject:</b> Re: [augeas-devel] How to insert empty nodes in Augeas trees?<u></u><u></u></p></div></div></div></div><div><div><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Hi Raphael,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">thank you again for your quick and helpful reply!</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Ciao,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Xavier.</span><u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><div style="border-style:none none none solid;border-left-color:blue;border-left-width:1.5pt;padding:0cm 0cm 0cm 4pt"><div><div style="border-style:solid none none;border-top-color:rgb(181,196,223);border-top-width:1pt;padding:3pt 0cm 0cm"><p class="MsoNormal"><b><span lang="DE" style="font-size:10pt;font-family:Tahoma,sans-serif">From:</span></b><span lang="DE" style="font-size:10pt;font-family:Tahoma,sans-serif"> Raphaël Pinson [<a href="mailto:raphael.pinson@camptocamp.com" target="_blank">mailto:raphael.pinson@camptocamp.com</a>] <br><b>Sent:</b> Tuesday, December 22, 2015 10:25 AM<br><b>To:</b> Mol, Xavier (SCC)<br><b>Cc:</b> <a href="mailto:augeas-devel@redhat.com" target="_blank">augeas-devel@redhat.com</a><br><b>Subject:</b> Re: [augeas-devel] How to insert empty nodes in Augeas trees?</span><u></u><u></u></p></div></div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">Hello Xavier,<u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">I was going to say that was not possible, but I actually (to my great surprise) found a way to do it:<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><div><p class="MsoNormal">    augtool> touch /files/etc/fstab/01<u></u><u></u></p></div><div><p class="MsoNormal">    augtool> rename /files/etc/fstab/01 ""<u></u><u></u></p></div><div><p class="MsoNormal">    rename : /files/etc/fstab/01 to  1<u></u><u></u></p></div><div><p class="MsoNormal">    augtool> save<u></u><u></u></p></div><div><p class="MsoNormal">    Saved 1 file(s)<u></u><u></u></p></div></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Just added an empty line at the end of /etc/fstab<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Cheers,<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Raphaël<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div></div><div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">On Tue, Dec 22, 2015 at 10:06 AM, Mol, Xavier (SCC) <<a href="mailto:xavier.mol@kit.edu" target="_blank">xavier.mol@kit.edu</a>> wrote:<u></u><u></u></p><p class="MsoNormal">Hello Augeas experts,<br><br>is there a way to insert empty nodes in an Augeas tree? I've made a lens, that expects an empty line as last part (Util.empty), which works fine with existing files. However, when inserting a new node in the tree with that lens, the closing empty line is missing. Do I need to have a labelled node in the tree without value or children, that simply puts an empty line in the resulting string instead?<br><br>Thank you for your time,<br>Xavier.<br><br>****<br>Karlsruher Institute of Technology (KIT)<br>Steinbuch Centre for Computing (SCC)<br><br>B. Sc. Xavier Mol<br>GridKa Storage Administrator and Support Manager<br><br>Hermann-von-Helmholtz-Platz 1<br>Geb. 449<br>76344 Eggenstein-Leopoldshafen<br>Phone: <a href="tel:%2B49%20721%20608%2023041" target="_blank">+49 721 608 23041</a><br>Email: <a href="mailto:xavier.mol@kit.edu" target="_blank">xavier.mol@kit.edu</a><br><a href="http://www.kit.edu" target="_blank">www.kit.edu</a><br>KIT - University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz Association<br>"Since 2010, the KIT has been certified as a family-friendly university."<br>****<br><br><br>_______________________________________________<br>augeas-devel mailing list<br><a href="mailto:augeas-devel@redhat.com" target="_blank">augeas-devel@redhat.com</a><br><a href="https://www.redhat.com/mailman/listinfo/augeas-devel" target="_blank">https://www.redhat.com/mailman/listinfo/augeas-devel</a><u></u><u></u></p></div><p class="MsoNormal"><br><br clear="all"><u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div><p class="MsoNormal">-- <u></u><u></u></p><div><div><div><div><p class="MsoNormal">Raphaël Pinson<u></u><u></u></p><div><p class="MsoNormal">Infrastructure Developer & Training Leader<u></u><u></u></p></div><div><p class="MsoNormal">+33 458 482 013<u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Camptocamp France<br>Savoie Technolac<br>BP 352<br>48, avenue du Lac du Bourget<br>73372 Le Bourget du Lac, Cedex<br><a href="http://www.camptocamp.com" target="_blank">www.camptocamp.com</a><u></u><u></u></p></div></div></div></div></div></div></div></div></div></div></div></div></div></div><p class="MsoNormal"><br><br clear="all"><u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div><p class="MsoNormal">-- <u></u><u></u></p><div><div><div><div><p class="MsoNormal">Raphaël Pinson<u></u><u></u></p><div><p class="MsoNormal">Infrastructure Developer & Training Leader<u></u><u></u></p></div><div><p class="MsoNormal">+33 458 482 013<u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Camptocamp France<br>Savoie Technolac<br>BP 352<br>48, avenue du Lac du Bourget<br>73372 Le Bourget du Lac, Cedex<br><a href="http://www.camptocamp.com" target="_blank">www.camptocamp.com</a><u></u><u></u></p></div></div></div></div></div></div></div></div></div></div></div></div></div><p class="MsoNormal"><br><br clear="all"><u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div><p class="MsoNormal">-- <u></u><u></u></p><div><div><div><div><p class="MsoNormal">Raphaël Pinson<u></u><u></u></p><div><p class="MsoNormal">Infrastructure Developer & Training Leader<u></u><u></u></p></div><div><p class="MsoNormal">+33 458 482 013<u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Camptocamp France<br>Savoie Technolac<br>BP 352<br>48, avenue du Lac du Bourget<br>73372 Le Bourget du Lac, Cedex<br><a href="http://www.camptocamp.com" target="_blank">www.camptocamp.com</a><u></u><u></u></p></div></div></div></div></div></div></div></div></div></div></div></div></blockquote><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div></div><p class="MsoNormal"><br clear="all"><u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal">-- <u></u><u></u></p><div><div><div><div><p class="MsoNormal">Raphaël Pinson<u></u><u></u></p><div><p class="MsoNormal">Infrastructure Developer & Training Leader<u></u><u></u></p></div><div><p class="MsoNormal">+33 458 482 013<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Camptocamp France<br>Savoie Technolac<br>BP 352<br>48, avenue du Lac du Bourget<br>73372 Le Bourget du Lac, Cedex<br><a href="http://www.camptocamp.com" target="_blank">www.camptocamp.com</a><u></u><u></u></p></div></div></div></div></div></div></div></div></div></div></div></div></div></blockquote></div><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr">Raphaël Pinson<div>Infrastructure Developer & Training Leader</div><div>+33 458 482 013<div><br></div><div>Camptocamp France<br>
Savoie Technolac<br>
BP 352<br>
48, avenue du Lac du Bourget<br>
73372 Le Bourget du Lac, Cedex<br>
<a href="http://www.camptocamp.com" target="_blank">www.camptocamp.com</a><br>
</div></div></div></div></div></div>
</div></div>