<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi all,<br>
      <br>
      I've written more about netjsonconfig and its rationale here:<br>
      <a class="moz-txt-link-freetext" href="https://confine.funkfeuer.at/2015/10/netjson-to-uci-config/">https://confine.funkfeuer.at/2015/10/netjson-to-uci-config/</a><br>
      <br>
      Federico<br>
      <br>
      <br>
      On 09/25/2015 04:28 PM, Nemesis wrote:<br>
    </div>
    <blockquote cite="mid:56055A1F.8070004@ninux.org" type="cite">
      <meta http-equiv="content-type" content="text/html;
        charset=windows-1252">
      <font face="Helvetica, Arial, sans-serif">Hi all,<br>
        <br>
        <font face="Helvetica, Arial, sans-serif">over the last two
          weeks I have been working on an implementation of the
          DeviceConfiguration spec<font face="Helvetica, Arial,
            sans-serif">:</font></font></font><br>
      <a moz-do-not-send="true" class="moz-txt-link-freetext"
        href="https://github.com/openwisp/netjsonconfig">https://github.com/openwisp/netjsonconfig</a><br>
      <br>
      The idea is to have a relatively small python library to convert
      NetJSON to real router configurations, at the moment I'm working
      exclusively on OpenWRT UCI configs.<br>
      The openwisp project already has a UCI config generator, but the
      team is not satisfied with it because adding features requires
      changing SQL tables, the generated configs are too specific to a
      few use cases and the generator code is embedded in a ruby on
      rails web app (OpenWISP Manager), which makes it uninteresting for
      a lot of other potential users and contributors.<br>
      The idea for the netjsonconfig library is to keep it small and
      well documented, so that other more complex apps can easily
      integrate it if they need.<br>
      <br>
      For a practical example see the following test:<br>
      <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://github.com/openwisp/netjsonconfig/blob/master/tests/openwrt/test_wireless.py#L186-L247">https://github.com/openwisp/netjsonconfig/blob/master/tests/openwrt/test_wireless.py#L186-L247</a><br>
      A few uci config blocks are generated from a NetJSON object.<br>
      Nothing special really, but this work it's allowing me to test and
      improve the spec.<br>
      That's the reason for which I'm opening more issues on github
      regarding this object and I will be sending more emails about it.<br>
      <br>
      The (always up to date) DeviceConfiguration spec and its relative
      JSON Schema definition are available at the following URLs:<br>
      <ul>
        <li>spec: <a moz-do-not-send="true"
            class="moz-txt-link-freetext"
            href="http://netjson.org/rfc.html#rfc.section.5">http://netjson.org/rfc.html#rfc.section.5</a></li>
        <li>schema: <a moz-do-not-send="true"
            class="moz-txt-link-freetext"
            href="http://netjson.org/rfc.html#DeviceConfiguration-schema">http://netjson.org/rfc.html#DeviceConfiguration-schema</a></li>
      </ul>
      Nemesis<br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Interop-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Interop-dev@lists.funkfeuer.at">Interop-dev@lists.funkfeuer.at</a>
<a class="moz-txt-link-freetext" href="https://lists.funkfeuer.at/mailman/listinfo/interop-dev">https://lists.funkfeuer.at/mailman/listinfo/interop-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>