Having watched this up close, I have an explanation. In a previous
life, I was on the C++ standardization committee, X3J16, representing
Rogue Wave Software. We sold C++ class libraries, and probably had
100,000+ of them out in the field. There were only a handful of
representatives on the committee that actually had products in the
field. The rest were either academics, consultants, authors, or worked
in research labs.
When it came to breaking changes, the two groups had completely
different motivations. My objectives were to protect my customer's
investment and to avoid doing unnecessary upgrades, while theirs was
to create a more pure language that burnished their reputation as
language mavens. Because my little group was a minority, we almost
always lost.
Think about it. Who would be attracted to the drudgery of pushing a
language forward and sit on a committee for months? It's going to be
people who are into languages, not those who depend on them.
I suspect that those who thought dropping "textsize" was a good idea
had little at stake in the matter. They thought they were creating a
more elegant library, one that they can be proud of. I doubt they
thought much about the thousands of people they sent scurrying around
fixing their effort at polishing the library.
-tk
On Fri, Nov 17, 2023 at 9:15 AM DR <[email protected]> wrote:
Mr. Keffer brings up a point that I've been interested in as a
student (practically from the beginning) of computer science
starting back in the 1950s and 60s following what was a
mathematical branch, but then into system and compilers.
The question, sort of a diversion from the on topic discussion on
WeeWx and what runs, is the philosophy behind upgrading compilers
and OSs. To some degree it hits WeeWx developers as they upgrade
but also need to make sure that old stuff, as much as it can, will
run under new releases of compilers and interpreters.
Tom did an upgrade pass on a driver for me that isn't widely used,
but I wasn't smart enough to know what to change when Python 3
came out. The old Python statements were not incorporated into or
changed significantly when 3 was released.
Unless there is a major change (for instance a different database
method, for crude example), why don't language developers support
the old stuff so users aren't frustrated when they attempt to stay
up to date but have legacy stuff they'd like to run. I know
Windows made and continues to make changes which are security
related (we'd all be better off if there weren't nasty people out
there, but there are).
In this example I cannot see how no longer supporting "textsize"
would represent a security risk or something that would be so
important that the code maintainers wouldn't want to at least let
old stuff run. Yes, I have heard in the WeeWx discussions from
the developers that changes to solve problems or make things
better are being made. And that is opening up new capabilities,
but most of the time those changes don't seem to slam the door
shut on upgrading, or having to choose to stay behind.
Just a philosophical question, but this example brings out my
curiosity as to how and why major deletions in capacity are made.
Eons ago when I worked on a system that used dBase (yes, I'm that
old) one thing we did was to make sure that the old stuff ran
under the new releases, as much as possible. It was just what we
were told to do. Anyway, you guys are so deep into this as part
of your daily lives that I wonder if you have thoughts on the
decision to not support 'textsize' as it used to be. Sorry for
the diversion, but it is part of programming, I guess. Dale
On 11/15/2023 4:20 PM, Tom Keffer wrote:
This is caused by upgrading to Pillow 10, which has removed the
attribute "textsize". There have been several email threads about
this. For example,
https://groups.google.com/g/weewx-user/c/F1oLMD8_3MQ/m/Gir1m-9RAgAJ
You can either downgrade Pillow to 9.x, or cherry pick the fix as
described in the email thread, or use the beta of WeeWX V5.
On Wed, Nov 15, 2023 at 12:30 PM Jonathan Ryshpan
<[email protected]> wrote:
I have removed six.py and weewx starts and generates usable
web pages. However a new error now appears every minute,
whenever the image generator is invoked. Any ideas?
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: Caught unrecoverable exception in
generator 'weewx.imagegenerator.ImageGenerator'
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** type object 'ImageDraw' has
no attribute 'textsize'
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** Traceback (most recent call
last):
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** File
"/usr/share/weewx/weewx/reportengine.py", line 197, in run
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** obj.start()
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** File
"/usr/share/weewx/weewx/reportengine.py", line 385, in start
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** self.run()
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** File
"/usr/share/weewx/weewx/imagegenerator.py", line 42, in run
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: ****
self.gen_images(self.gen_ts)
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** File
"/usr/share/weewx/weewx/imagegenerator.py", line 114, in
gen_images
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** image = plot.render()
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** ^^^^^^^^^^^^^
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** File
"/usr/share/weewx/weeplot/genplot.py", line 212, in render
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** self._renderBottom(draw)
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** File
"/usr/share/weewx/weeplot/genplot.py", line 404, in
_renderBottom
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** bottom_label_size =
draw.textsize(self.bottom_label, font=bottom_label_font)
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: ****
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** File
"/usr/share/weewx/weeplot/genplot.py", line 646, in textsize
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** return
ImageDraw.ImageDraw.textsize(self, string, **options)
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: ****
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** AttributeError: type object
'ImageDraw' has no attribute 'textsize'
Nov 15 07:04:16 python3[2233]: weewx[2233] ERROR
weewx.reportengine: **** Generator terminated
On Wed, 2023-11-15 at 04:48 -0800, [email protected] wrote:
See: weewx doesn't start after upgrade to fedoar 39
(google.com)
<https://groups.google.com/g/weewx-user/c/PLYefyx2Pnw>
On Wednesday, November 15, 2023 at 4:54:29 AM UTC-5 Jonathan
Ryshpan wrote:
On Wed, 2023-11-15 at 01:26 -0800, Jonathan Ryshpan wrote:
I have just upgraded to Fedora 39 and weewx has stopped
working. Initiation fails with the following messages. Any
ideas what's wrong or how to investigate?
--
Sincerely Jonathan Ryshpan <[email protected]>
The mind is not a vessel to be filled
but a fire to be kindled.
-- Plutarch
--
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/3921f700d9a2661e91470e3806b601c59d9497b0.camel%40pacbell.net
<https://groups.google.com/d/msgid/weewx-user/3921f700d9a2661e91470e3806b601c59d9497b0.camel%40pacbell.net?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/CAPq0zEBNVS%3DjE21SJ8hd5HBunwvpB8253Uju2NZM0ru_CJR1xw%40mail.gmail.com
<https://groups.google.com/d/msgid/weewx-user/CAPq0zEBNVS%3DjE21SJ8hd5HBunwvpB8253Uju2NZM0ru_CJR1xw%40mail.gmail.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/cf619a87-3e39-447f-941a-95d90ce51e21%40gmail.com
<https://groups.google.com/d/msgid/weewx-user/cf619a87-3e39-447f-941a-95d90ce51e21%40gmail.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/CAPq0zEBkDYmHOFaXeZnWdmQVQKcW0eqnCsRs7417OtmN1LK%3DGQ%40mail.gmail.com
<https://groups.google.com/d/msgid/weewx-user/CAPq0zEBkDYmHOFaXeZnWdmQVQKcW0eqnCsRs7417OtmN1LK%3DGQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.