I added the section [[[Foo]]] to [[StandardReport]] as you directed, and it
worked fine on my system, using configobj v5.0.6 and Python v3.5.9, v3.7.3,
and v3.8.2.

On Tue, Jul 14, 2020 at 9:23 AM John Kline <[email protected]> wrote:

> Oh, I forgot to add, if you add the following to
> skins/Standard/skins.conf, the problem goes away:
> [Foo]
>     [[Bar]]
>         x = 1
>
> It appears the introduction of new sections is a problem when using
> configobj.write
>
> Cheers,
> John
>
> > On Jul 14, 2020, at 9:15 AM, John Kline <[email protected]> wrote:
> >
> > Hi Tom,
> >
> > I had a chance to dig deeper into the issues I am seeing at head,
> specifically the weeutil.config.deep_copy function.
> >
> > I would appreciate it if you could could try to reproduce the problem
> with this StandardReport.  Just run wee_reports (there’s no need to restart
> WeeWX):
> >
> >    [[StandardReport]]
> >        # This is the old "Standard" skin. By default, it is not enabled.
> >        skin = Standard
> >        enable = true
> >        [[[Foo]]]
> >           [[[[Bar]]]]
> >                baz = foobarabaz
> >
> > If it fails for you, and iff this is legal to have in the weewx.conf
> file, you can instrument the function to see why it happens by adding this
> to the code below to the beginning.  You see it fail when running
> wee_reports and know which tmp file to look in.  Again, just run
> wee_reports.
> >
> >    import time
>
>
> >    fname = '/tmp/config_obj_%f' % time.time()
>                                                    print('writing %s' %
> fname)
>                                      fd = open(fname, 'wb')
>
>                      old_dict.write(fd)
>
>            fd.close()
>
>        print('done writing %s' % fname)
>                                                              print('reading
> %s' % fname)
>                                          fd = open(fname, 'rb')
>
>                            new_dict = configobj.ConfigObj(fd,
>
>                                   encoding='utf8',
>
>                       default_encoding=old_dict.default_encoding,
>
> interpolation=old_dict.interpolation)
>                      fd.close()
>
>                  print('done reading %s' % fname)
>                                                                      return
> new_dict
> >
> > If this isn’t legal, I’ll need to change [my copy] of forecast as I
> believe this is a typical report entry for reports that include a forecast:
> >
> >        [[[Extras]]]
> >            [[[[forecast_iconic_settings]]]]
> >                source = NWS
> >                orientation = horizontal
> >                num_days = 7
> >                bar_size = 150
> >                show_date = 0
> >                show_pop = 0
> >                show_precip = 1
> >                show_obvis = 1
> >
> > The above causes the same issue.
> >
> > If you add the instrumentation code and look at the temp file, you’ll
> see that the sections have the wrong number of brackets.
> >
> > Cheers,
> > John
>
> --
> You received this message because you are subscribed to the Google Groups
> "weewx-development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/weewx-development/CA049183-2575-4062-AC9C-A8C96C81A1D5%40johnkline.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-development/CAPq0zEDP5mS5%3Dee%3Defy9i80m0jiJz-aVt6szTwM1qffsbRrPeg%40mail.gmail.com.

Reply via email to