One more thing to add: it's OK to define the label using UTF-8, but the
purple air author should have indicated that s/he was using a byte string.

weewx.units.default_unit_label_dict['microgram_per_meter_cubed']  = b'
 \xc2\xb5g/m\xc2\xb3'

On Thu, Apr 8, 2021 at 5:04 AM Tom Keffer <[email protected]> wrote:

> So, it seems the problem is 3rd parties defining labels as byte strings,
> rather than as unicode strings. We can guard against that by converting to
> unicode in the plotting modules.
>
> Thanks, Richard.
>
> On Wed, Apr 7, 2021 at 6:42 PM richard maliszewski <[email protected]>
> wrote:
>
>> It looks like it gets defined identically in /usr/share/weewx/gw1000.py.
>> But also gets defined in /usr/share/weewx/user/purpleair.py line 77 via:
>> weewx.units.default_unit_label_dict['microgram_per_meter_cubed']  = '
>>  \xc2\xb5g/m\xc2\xb3'
>> Python are not close friends, but that smelled like a string rather than
>> Unicode, so I commented it out.  Log now says:
>>
>> Apr  7 18:40:26 minix weewx[30594] INFO weeplot.genplot: Unit label set
>> to '%', which is type '<type 'unicode'>'
>> Apr  7 18:40:26 minix weewx[30594] INFO weeplot.genplot: Unit label set
>> to '%', which is type '<type 'unicode'>'
>> Apr  7 18:40:26 minix weewx[30594] INFO weeplot.genplot: Unit label set
>> to 'in', which is type '<type 'unicode'>'
>> Apr  7 18:40:26 minix weewx[30594] INFO weeplot.genplot: Unit label set
>> to 'mph', which is type '<type 'unicode'>'
>> Apr  7 18:40:26 minix weewx[30594] INFO weeplot.genplot: Unit label set
>> to 'mph', which is type '<type 'unicode'>'
>> Apr  7 18:40:26 minix weewx[30594] INFO weeplot.genplot: Unit label set
>> to 'µg/m³', which is type '<type 'unicode'>'
>> Apr  7 18:40:26 minix weewx[30594] INFO weeplot.genplot: Unit label set
>> to 'µg/m³', which is type '<type 'unicode'>'
>> Apr  7 18:40:26 minix weewx[30594] INFO weeplot.genplot: Unit label set
>> to '', which is type '<type 'str'>'
>> Apr  7 18:40:26 minix weewx[30594] INFO weeplot.genplot: Unit label set
>> to '', which is type '<type 'unicode'>'
>>
>> And graph label looks fine.  I'll let the Purple Air extension author
>> know to have a look at this.  Thanks for the help!
>>
>> --Richard
>> On Wednesday, April 7, 2021 at 6:13:46 PM UTC-7 [email protected] wrote:
>>
>>> Alright! Now we're getting somewhere! For some reason 'µg/m³' is showing
>>> up as a string, despite it being marked as unicode in units.py.
>>>
>>> And, you are sure that the only place µg/m³ is used is in units.py? You
>>> can search by using the following:
>>>
>>> *find /usr/share/weewx /etc/weewx -type f|xargs grep 'µg/m³'*
>>>
>>>
>>>
>>>
>>> On Wed, Apr 7, 2021 at 4:52 PM richard maliszewski <[email protected]>
>>> wrote:
>>>
>>>> I suspect as you suspected:
>>>>
>>>> Apr  7 16:45:21 minix weewx[29999] INFO weeplot.genplot: Unit label set
>>>> to '%', which is type '<type 'unicode'>'
>>>>
>>>> Apr  7 16:45:21 minix weewx[29999] INFO weeplot.genplot: Unit label set
>>>> to '%', which is type '<type 'unicode'>'
>>>>
>>>> Apr  7 16:45:22 minix weewx[29999] INFO weeplot.genplot: Unit label set
>>>> to 'in', which is type '<type 'unicode'>'
>>>>
>>>> Apr  7 16:45:22 minix weewx[29999] INFO weeplot.genplot: Unit label set
>>>> to 'mph', which is type '<type 'unicode'>'
>>>>
>>>> Apr  7 16:45:22 minix weewx[29999] INFO weeplot.genplot: Unit label set
>>>> to 'mph', which is type '<type 'unicode'>'
>>>>
>>>> Apr  7 16:45:22 minix weewx[29999] INFO weeplot.genplot: Unit label set
>>>> to 'µg/m³', which is type '<type 'str'>'
>>>>
>>>> Apr  7 16:45:22 minix weewx[29999] INFO weeplot.genplot: Unit label set
>>>> to 'µg/m³', which is type '<type 'str'>'
>>>>
>>>> Apr  7 16:45:22 minix weewx[29999] INFO weeplot.genplot: Unit label set
>>>> to '', which is type '<type 'str'>'
>>>>
>>>> Apr  7 16:45:22 minix weewx[29999] INFO weeplot.genplot: Unit label set
>>>> to '', which is type '<type 'unicode'>'
>>>>
>>>> --Richard
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "weewx-user" 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-user/67cc02d7-5159-4f0a-8848-e614ffaa4d64n%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/weewx-user/67cc02d7-5159-4f0a-8848-e614ffaa4d64n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "weewx-user" 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-user/4753a452-710a-48a5-86e6-0500e95484a1n%40googlegroups.com
>> <https://groups.google.com/d/msgid/weewx-user/4753a452-710a-48a5-86e6-0500e95484a1n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" 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-user/CAPq0zEBDHoZ-%2BCCgk2a2Kwh_3HW8bhdYt7zV5Dq%2BfZCHBeC4Qg%40mail.gmail.com.

Reply via email to