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.
