Transparent label background?

2024-02-28 Thread Steve GS via Python-list
My window is to have a label
over an image. How do I place
a label that has a transparent
background so as to not have
the square of the label look
so obnoxious?  

SGA

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: Problem resizing a window and button placement

2024-02-26 Thread Steve GS via Python-list
>> The configuration event
hasn't fired at the time you
include the print statement in
the handler's def block, and
therefore the print function
inside your handler hasn't
invoked.  It won't be invoked
until you resize the window.

Exactly

>> There is no point (really?)
to saving the width and height
outside your
on_configure() function,
because outside that function
you can't know if they have
been changed.  There could
even have been a race
condition where you use one
but the other changes before
you get around to using it. 

Aside from using it to resized
the window, is there no way to
know the last value of the
change for use in the program?
I could write the value to a
label and read it back later
in the process but that sounds
to be klugy.

>>  It's better just to ask tk
for the values whenever you
need them, as you do inside
your handler.

How would that be done?



SGA

-Original Message-
From: Python-list
 On
Behalf Of Thomas Passin via
Python-list
Sent: Monday, February 26,
2024 8:34 AM
To: python-list@python.org
Subject: Re: Problem resizing
a window and button placement

On 2/26/2024 6:02 AM, Steve GS
via Python-list wrote:
> Although your code produces
the value of Ww outside the
function, I do not see how I
can use the value of Ww unless
I close the program.

The configuration event hasn't
fired at the time you include
the print statement in the
handler's def block, and
therefore the print function
inside your handler hasn't
invoked.  It won't be invoked
until you resize the window.

There is no point to saving
the width and height outside
your
on_configure() function,
because outside that function
you can't know if they have
been changed.  There could
even have been a race
condition where you use one
but the other changes before
you get around to using it.
It's better just to ask tk for
the values whenever you need
them, as you do inside your
handler.

> import tkinter as tk
> 
> Ww = None  # What does this
do? Why not Integer?
> WwZ = None
# These could be integers,
like 0, but that would not be
the correct # window sizes at
that point. The window is
either not constructed or it #
has some definite size that is
not zero.

> def on_configure(*args):
>  global Ww
>  global WwZ
>  Ww =
root.winfo_width()
>  print("9  Ww Inside
=<"+str(Ww)+">")  # works
>  WwZ = Ww * 2
>  print("11  WwZ
Inside =<"+str(WwZ)+">")  #
works
>  return(Ww)  #Can I
use this?
>  
> root = tk.Tk()
>
root.bind('',on_con
figure)
> print("15  Ww Inside1 =
<"+str(Ww)+">")
> #Ww2 = int(Ww) * 2  # fails
> print("17  WwZ Inside2 =
<"+str(WwZ)+">")
> 
> root.mainloop()
> 
> Ww2 = int(Ww) * 2  #Works
but only after the program
stops
> print("21  Ww Outside2 =
<"+str(WwZ)+">") # Can I have
concentric 
> loops?
> 
> 
> SGA
> 
> -Original Message-
> From: Alan Gauld

> Sent: Monday, February 26,
2024 4:04 AM
> To: Steve GS
;
python-list@python.org
> Subject: Re: RE: Problem
resizing a window and button
placement
> 
> On 26/02/2024 07:56, Steve
GS via Python-list wrote:
> 
>> Then there is that
discovery
>> element: Why is my original
>> idea not working? I still
>> cannot pass the value back
>> from the function.  What is
>> different about this
function
>> that others would have
given
>> me the value?
> 
> There is nothing different,
see the code below.
> print() is a function like
any other.
> In this case it is called
after you close the window, ie
after mainloop() exits.
> But any other function
called inside
> mainloop - eg any other
event handler can also access
it.
> 
> For example, if you added a
button:
> 
> def printW(): print("Button
Ww = ", Ww)
> 
> bw = tk.Button(root,
text="Print Width",
command=printW)
> bw.pack()
> 
> You would be able to print
the value on demand.
> 
>>> import tkinter as tk
>>>
>>> Ww = None
>>>
>>> def on_configure(*args):
>>>  global Ww
>>>  Ww =
root.winfo_width()
>>>  print("Ww Inside
=<"+str(Ww)+">")
>>>
>>> root = tk.Tk()
>>>
root.bind('',on_con
figure)
>>> root.mainloop()
>>>
>>> print("Ww Outside =
<"+str(Ww)+">")
> 
> --
> Alan G
> Author of the Learn to
Program web site
http://www.alan-g.me.uk/ 
>
http://www.amazon.com/author/a
lan_gauld
> Follow my photo-blog on
Flickr at:
>
http://www.flickr.com/photos/a
langauldphotos
> 
> 

--
https://mail.python.org/mailma
n/listinfo/python-list

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: RE: Problem resizing a window and button placement

2024-02-26 Thread Steve GS via Python-list
Although your code produces the value of Ww outside the function, I do not see 
how I can use the value of Ww unless I close the program.

import tkinter as tk

Ww = None  # What does this do? Why not Integer?
WwZ = None

def on_configure(*args):
global Ww
global WwZ
Ww = root.winfo_width()
print("9  Ww Inside =<"+str(Ww)+">")  # works
WwZ = Ww * 2
print("11  WwZ Inside =<"+str(WwZ)+">")  # works
return(Ww)  #Can I use this?

root = tk.Tk()
root.bind('',on_configure)
print("15  Ww Inside1 = <"+str(Ww)+">")
#Ww2 = int(Ww) * 2  # fails
print("17  WwZ Inside2 = <"+str(WwZ)+">")

root.mainloop()

Ww2 = int(Ww) * 2  #Works but only after the program stops
print("21  Ww Outside2 = <"+str(WwZ)+">")
# Can I have concentric loops?


SGA

-Original Message-
From: Alan Gauld  
Sent: Monday, February 26, 2024 4:04 AM
To: Steve GS ; python-list@python.org
Subject: Re: RE: Problem resizing a window and button placement

On 26/02/2024 07:56, Steve GS via Python-list wrote:

> Then there is that discovery
> element: Why is my original
> idea not working? I still
> cannot pass the value back
> from the function.  What is
> different about this function
> that others would have given
> me the value?

There is nothing different, see the code below.
print() is a function like any other.
In this case it is called after you close the window, ie after mainloop() exits.
But any other function called inside
mainloop - eg any other event handler can also access it.

For example, if you added a button:

def printW(): print("Button Ww = ", Ww)

bw = tk.Button(root, text="Print Width", command=printW)
bw.pack()

You would be able to print the value on demand.

>> import tkinter as tk
>>
>> Ww = None
>>
>> def on_configure(*args):
>> global Ww
>> Ww = root.winfo_width()
>> print("Ww Inside =<"+str(Ww)+">")
>>
>> root = tk.Tk()
>> root.bind('',on_configure)
>> root.mainloop()
>>
>> print("Ww Outside = <"+str(Ww)+">")

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


-- 
https://mail.python.org/mailman/listinfo/python-list


RE: Problem resizing a window and button placement

2024-02-26 Thread Steve GS via Python-list


Musta misstit
I had thought of that before I
started the discussion but
figured it would take more
code than it finally needed.
I guess I was also
variable-dependent thinking
that I would need the result
elsewhere in the code.  So
far, I see that I don't need
the value.

Then there is that discovery
element: Why is my original
idea not working? I still
cannot pass the value back
from the function.  What is
different about this function
that others would have given
me the value?


SGA

-Original Message-
From: Python-list
 On
Behalf Of Thomas Passin via
Python-list
Sent: Sunday, February 25,
2024 5:55 PM
To: python-list@python.org
Subject: Re: Problem resizing
a window and button placement

On 2/25/2024 4:19 PM, Steve GS
via Python-list wrote:
> SOLUTION FOUND!
> 
> The fix was to write the
code that uses the width value
and to place it into the
function itself.
> Kluge? Maybe but it works.

Right, just what I wrote
earlier:

"have the function that
responds to the resize event
perform the action that you
want"

> Mischief Managed.
> 
> 
> As for the most recent
suggestion, it fails for me:
> 
> Traceback (most recent call
last):
>File "F:/___zInsulin Code
A 08-02-23/WinPic/IOWw.pyw",
line 14, in 
>  print("Ww Outside = <"
+ str(Ww) > + ">")
> TypeError: bad operand type
for unary +: 'str'
> 
> With the need to close the
window, it adds an extra step
and intervention to the
program to use. I am not sure
how this help[s.
> 
> As a curio, it would be
interesting to see how to use
the value of a variable,
created in the function used
here, and make it available to
the code outside the function.
> 
> 
> 
> SGA
> 
> -Original Message-
> From: Alan Gauld

> Sent: Sunday, February 25,
2024 12:44 PM
> To: Steve GS
;
python-list@python.org
> Subject: Re: RE: Problem
resizing a window and button
placement
> 
> On 25/02/2024 03:58, Steve
GS via Python-list wrote:
> import tkinter as tk
> 
> Ww = None
> 
> def on_configure(*args):
> global Ww
> Ww =
root.winfo_width()
> print("Ww Inside =
<" + str(Ww) + ">")
> 
> root = tk.Tk()
> root.bind('',
on_configure)
> root.mainloop()
> 
> print("Ww Outside = <" +
str(Ww) > + ">")
> 
> Produces:
> Ww Inside = <200>
> Ww Inside = <200>
> Ww Inside = <205>
> Ww Inside = <205>
> Ww Inside = <206>
> Ww Inside = <206>
> Ww Outside = <206>
> 
> HTH
> 

--
https://mail.python.org/mailma
n/listinfo/python-list

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: Problem resizing a window and button placement

2024-02-26 Thread Steve GS via Python-list
Ww Inside = <250>
Ww Inside = <249>
Ww Inside = <250>
Ww Outside =
<1770662408256on_configure>

Here is my result...

SGA

-Original Message-
From: Python-list
 On
Behalf Of MRAB via Python-list
Sent: Sunday, February 25,
2024 6:40 PM
To: python-list@python.org
Subject: Re: Problem resizing
a window and button placement

On 2024-02-25 21:19, Steve GS
via Python-list wrote:
> SOLUTION FOUND!
> 
> The fix was to write the
code that uses the width value
and to place it into the
function itself.
> Kluge? Maybe but it works.
> 
> Mischief Managed.
> 
> 
> As for the most recent
suggestion, it fails for me:
> 
> Traceback (most recent call
last):
>File "F:/___zInsulin Code
A 08-02-23/WinPic/IOWw.pyw",
line 14, in 
>  print("Ww Outside = <"
+ str(Ww) > + ">")
> TypeError: bad operand type
for unary +: 'str'
> 
It fails because there's a
mistake. It should be:

 print("Ww Outside = <" +
str(Ww) + ">")

> With the need to close the
window, it adds an extra step
and intervention to the
program to use. I am not sure
how this help[s.
> 
> As a curio, it would be
interesting to see how to use
the value of a variable,
created in the function used
here, and make it available to
the code outside the function.
> 
[snip]


-- 
https://mail.python.org/mailma
n/listinfo/python-list

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: RE: Problem resizing a window and button placement

2024-02-25 Thread Steve GS via Python-list
SOLUTION FOUND!

The fix was to write the code that uses the width value and to place it into 
the function itself.  
Kluge? Maybe but it works. 

Mischief Managed.


As for the most recent suggestion, it fails for me:

Traceback (most recent call last):
  File "F:/___zInsulin Code A 08-02-23/WinPic/IOWw.pyw", line 14, in 
print("Ww Outside = <" + str(Ww) > + ">")
TypeError: bad operand type for unary +: 'str'

With the need to close the window, it adds an extra step and intervention to 
the program to use. I am not sure how this help[s.

As a curio, it would be interesting to see how to use the value of a variable, 
created in the function used here, and make it available to the code outside 
the function.



SGA

-Original Message-
From: Alan Gauld  
Sent: Sunday, February 25, 2024 12:44 PM
To: Steve GS ; python-list@python.org
Subject: Re: RE: Problem resizing a window and button placement

On 25/02/2024 03:58, Steve GS via Python-list wrote:
import tkinter as tk

Ww = None

def on_configure(*args):
   global Ww
   Ww = root.winfo_width()
   print("Ww Inside = <" + str(Ww) + ">")

root = tk.Tk()
root.bind('', on_configure)
root.mainloop()

print("Ww Outside = <" + str(Ww) > + ">")

Produces:
Ww Inside = <200>
Ww Inside = <200>
Ww Inside = <205>
Ww Inside = <205>
Ww Inside = <206>
Ww Inside = <206>
Ww Outside = <206>

HTH

-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


-- 
https://mail.python.org/mailman/listinfo/python-list


RE: Problem resizing a window and button placement

2024-02-24 Thread Steve GS via Python-list
So, how do I use the width value in my code?

SGA

-Original Message-
From: Python-list  On Behalf 
Of MRAB via Python-list
Sent: Saturday, February 24, 2024 10:36 PM
To: python-list@python.org
Subject: Re: Problem resizing a window and button placement

On 2024-02-25 02:51, Steve GS wrote:
> import tkinter as tk
>
> #global Ww  Neither global helps
> def on_configure(*args):
> # print(args)
>   #global Ww  Neither global helps
>   Ww = root.winfo_width()
>   print("WwInside = <" + str(Ww) + ">")
>
> root = tk.Tk()
> root.bind('', on_configure) print("WwOutside = <" + str(Ww) 
> + ">")
> #NameError: name 'Ww' is not defined
> root.mainloop()
'Ww' won't exist until 'on_configure' assigns to it, and that won't happen 
until `mainloop` starts.

Also, 'global' works only within a function.

8<

import tkinter as tk

def on_configure(event):
 print(f'{event.width=}, {event.height=}')

root = tk.Tk()
root.bind('',on_configure)
root.mainloop()

8<

--
https://mail.python.org/mailman/listinfo/python-list

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: Problem resizing a window and button placement

2024-02-24 Thread Steve GS via Python-list
The print statement in the
function prints. 
Does that not mean that the
function is being called?



SGA

-Original Message-
From: Python-list
 On
Behalf Of Thomas Passin via
Python-list
Sent: Saturday, February 24,
2024 10:39 PM
To: python-list@python.org
Subject: Re: Problem resizing
a window and button placement

On 2/24/2024 9:51 PM, Steve GS
via Python-list wrote:
First of all, please make sure
that the formatting is
readable and especially the
indentation.  This is Python,
after all.

Do not use tabs; use 3 or 4
spaces instead of each tab.
> import tkinter as tk
> 
> #global Ww  Neither global
> helps
> def on_configure(*args):
> # print(args)
>   #global Ww  Neither
> global helps
>   Ww =
root.winfo_width()
>   print("WwInside = <" +
> str(Ww) + ">")
> 
> root = tk.Tk()
> root.bind('',
> on_configure)
> print("WwOutside = <" +
> str(Ww) + ">")
> #NameError: name 'Ww' is not
> defined

The function that declares Ww
hasn't run yet. As I wrote
earlier, the function bound to
the callback should do all the
work for the callback, or it
should call other functions
that do.  That's if you don't
let a layout do it all for
you, as others have written.

> root.mainloop()
> 
> SGA
> 
> -Original Message-
> From: Python-list
>
 sga.ni...@python.org> On
> Behalf Of MRAB via
Python-list
> Sent: Saturday, February 24,
> 2024 7:49 PM
> To: python-list@python.org
> Subject: Re: Problem
resizing
> a window and button
placement
> 
> On 2024-02-25 00:33, Steve
GS
> via Python-list wrote:
>> "Well, yes, in Python a
>> variable created inside a
>> function or method is local
> to
>> that function unless you
>> declare it global."
>>
>> Yes, I knew that. I tried
to
>> global it both before the
>> function call and within
it.
>> Same for when I created the
>> variable. If I try to use
it
>> in the rest of the code, it
>> keeps coming up as not
>> declared.  In other
> functions,
>> I can 'return' the variable
>> but that apparently would
> not
>> work for this function.
>>
>> Is this type of function
any
>> different that that which I
>> have been using?
>>
> Please post a short example
> that shows the problem.
> 

--
https://mail.python.org/mailma
n/listinfo/python-list

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: Problem resizing a window and button placement

2024-02-24 Thread Steve GS via Python-list
import tkinter as tk

#global Ww  Neither global
helps
def on_configure(*args):
# print(args)
 #global Ww  Neither
global helps
 Ww = root.winfo_width()
 print("WwInside = <" +
str(Ww) + ">")

root = tk.Tk()
root.bind('',
on_configure)
print("WwOutside = <" +
str(Ww) + ">")
#NameError: name 'Ww' is not
defined
root.mainloop()

SGA

-Original Message-
From: Python-list
 On
Behalf Of MRAB via Python-list
Sent: Saturday, February 24,
2024 7:49 PM
To: python-list@python.org
Subject: Re: Problem resizing
a window and button placement

On 2024-02-25 00:33, Steve GS
via Python-list wrote:
> "Well, yes, in Python a
> variable created inside a
> function or method is local
to
> that function unless you
> declare it global."
> 
> Yes, I knew that. I tried to
> global it both before the
> function call and within it.
> Same for when I created the
> variable. If I try to use it
> in the rest of the code, it
> keeps coming up as not
> declared.  In other
functions,
> I can 'return' the variable
> but that apparently would
not
> work for this function.
> 
> Is this type of function any
> different that that which I
> have been using?
> 
Please post a short example
that shows the problem.

-- 
https://mail.python.org/mailma
n/listinfo/python-list

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: Problem resizing a window and button placement

2024-02-24 Thread Steve GS via Python-list
"Well, yes, in Python a
variable created inside a
function or method is local to
that function unless you
declare it global."

Yes, I knew that. I tried to
global it both before the
function call and within it.
Same for when I created the
variable. If I try to use it
in the rest of the code, it
keeps coming up as not
declared.  In other functions,
I can 'return' the variable
but that apparently would not
work for this function.

Is this type of function any
different that that which I
have been using?

SGA

-Original Message-
From: Python-list
 On
Behalf Of Thomas Passin via
Python-list
Sent: Saturday, February 24,
2024 8:40 AM
To: python-list@python.org
Subject: Re: Problem resizing
a window and button placement

On 2/24/2024 3:20 AM, Steve GS
via Python-list wrote:
> Yes, I ran that elegantly
> simple code. The print
> statement reports the X, Y,
> Height and Width values.
> However, I do not see how to
> capture the width value.
> 
>   I experimented with the
code
> Vwidth = rootV.winfo_width()
> and it also reports the
width
> as I resize the window.
> 
> However, I cannot seem to
use
> the variable Vwidth outside
> the sub routine. It is
acting
> as if Vwidth is not global
but
> I added that.  It is
reported
> that Vwidth is not defined
> when I try to use it in my
> code.

Well, yes, in Python a
variable created inside a
function or method is local to
that function unless you
declare it global. That
characteristic is called its
"scope". But if you think you
need it to be a global
variable you should rethink
your design. For one thing,
before the next time you use
your global variable the
window size may have changed
again.

Instead, it would be better to
have the function that
responds to the resize event
perform the action that you
want, or call another function
that does, passing the new
width to it.

Note that in most programming
languages, variables have a
scope.  The rules about those
scopes vary between languages.

> 
> So close..
> SGA
> 
> -Original Message-
> From: Barry
> 
> Sent: Saturday, February 24,
> 2024 3:04 AM
> To: Steve GS
> 
> Cc: MRAB
>
;
> python-list@python.org
> Subject: Re: Problem
resizing
> a window and button
placement
> 
> 
> 
>> On 24 Feb 2024, at 04:36,
> Steve GS via Python-list
> 
> wrote:
>>
>> How do I extract the values
>> from args?
> 
> You can look up the args in
> documentation.
> You can run the example code
> MRAB provided and see what
is
> printed to learn what is in
> the args.
> 
> Barry
> 
> 

--
https://mail.python.org/mailma
n/listinfo/python-list

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: Problem resizing a window and button placement

2024-02-24 Thread Steve GS via Python-list
Yes, I ran that elegantly
simple code. The print
statement reports the X, Y,
Height and Width values.
However, I do not see how to
capture the width value.  

 I experimented with the code
Vwidth = rootV.winfo_width()
and it also reports the width
as I resize the window.

However, I cannot seem to use
the variable Vwidth outside
the sub routine. It is acting
as if Vwidth is not global but
I added that.  It is reported
that Vwidth is not defined
when I try to use it in my
code.

So close..
SGA

-Original Message-
From: Barry
 
Sent: Saturday, February 24,
2024 3:04 AM
To: Steve GS

Cc: MRAB
;
python-list@python.org
Subject: Re: Problem resizing
a window and button placement



> On 24 Feb 2024, at 04:36,
Steve GS via Python-list

wrote:
> 
> How do I extract the values
> from args?

You can look up the args in
documentation.
You can run the example code
MRAB provided and see what is
printed to learn what is in
the args.

Barry


-- 
https://mail.python.org/mailman/listinfo/python-list


RE: Problem resizing a window and button placement

2024-02-23 Thread Steve GS via Python-list
How do I extract the values
from args?

SGA

-Original Message-
From: Python-list
 On
Behalf Of MRAB via Python-list
Sent: Friday, February 23,
2024 9:27 PM
To: python-list@python.org
Subject: Re: Problem resizing
a window and button placement

On 2024-02-24 01:14, Steve GS
via Python-list wrote:
> Python, Tkinter: How do I
> determine if a window has
been
> resized? I want to locate
> buttons vertically along the
> right border and need to
know
> the new width. The buttons
are
> to move with the change of
> location of the right-side
> border.
> 
Bind an event handler for
'':

8<

import tkinter as tk

def on_configure(*args):
 print(args)

root = tk.Tk()
root.bind('',
on_configure)
root.mainloop()

8<

Are you placing the buttons
yourself? I always use layouts
and they handle such things
automatically.

--
https://mail.python.org/mailma
n/listinfo/python-list

-- 
https://mail.python.org/mailman/listinfo/python-list


Problem resizing a window and button placement

2024-02-23 Thread Steve GS via Python-list
Python, Tkinter: How do I
determine if a window has been
resized? I want to locate
buttons vertically along the
right border and need to know
the new width. The buttons are
to move with the change of
location of the right-side
border.

 

 

 

SGA

 

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: IDLE editor suggestion.

2023-12-12 Thread Steve GS via Python-list
Does anything from the Visual Studio family of software have a pull down menu 
that lists previous searches so that I don’t have to enter them every time?

SGA

-Original Message-
From: Friedrich Romstedt  
Sent: Tuesday, December 12, 2023 12:52 PM
To: Steve GS 
Cc: python-list@python.org
Subject: Re: IDLE editor suggestion.

Hi!

Am Di., 12. Dez. 2023 um 09:28 Uhr schrieb Steve GS via Python-list
:
>
> Maybe this already exists but
> I have never seen it in any
> editor that I have used.

You might want to choose Microsoft Code from its Visual Studio family of 
software, or, if you're ready for a deep dive, you might try using vim. 
Personally I am using both.

HTH,
Friedrich

-- 
https://mail.python.org/mailman/listinfo/python-list


IDLE editor suggestion.

2023-12-12 Thread Steve GS via Python-list
Maybe this already exists but
I have never seen it in any
editor that I have used.

It would be nice to have a
pull-down text box that lists
all of the searches I have
used during this session. It
would make editing a lot
easier if I could select the
previous searches rather than
having to enter it every time.

If this is inappropriate to
post this here, please tell me
where to go.
Life should be so
complicated.

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: A problem with str VS int.

2023-12-12 Thread Steve GS via Python-list
With all these suggestions on
how to fix it, no one seems to
answer why it fails only when
entering a two-digit number.
One and three work fine when
comparing with str values. It
is interesting that the
leading 0 on a two digit
worked.  Still, one digit and
three digit work but not two.

This is now more of a
curiosity as I did use the
integer comparisons.

SGA

-Original Message-
From: Python-list
 On
Behalf Of dn via Python-list
Sent: Sunday, December 10,
2023 12:53 AM
To: python-list@python.org
Subject: Re: A problem with
str VS int.

On 10/12/23 15:42, Steve GS
via Python-list wrote:
>   If I enter a one-digit
input or a three-digit number,
the code works but if I enter
a two digit number, the if
statement fails and the else
condition prevails.
> 
> tsReading = input("
Enter the " + Brand + " test
strip reading: ")
>  if tsReading == "":
tsReading = "0"
>  print(tsReading)
>  if ((tsReading <
"400") and (tsReading >=
"0")):
>  tsDose =
GetDose(sReading)
>  print(tsReading
+ "-" + tsDose)
>  ValueFailed =
False
>  else:
>  print("Enter
valid sensor test strip
Reading.")
> 
> I converted the variable to
int along with the if
statement comparison and it
works as expected.
> See if it fails for you...

It works as expected (by
Python)! This is how strings
are compared - which is not
the same as the
apparently-equivalent numeric
comparison.

Think about what you expect
from the code below, and then
take it for a spin (of mental
agility):

values = [ 333, 33, 3, 222,
22, 2, 111, 11, 1, ] print(
sorted( values ) ) strings = [
"333", "33", "3", "222", "22",
"2", "111", "11", "1", ]
print( sorted( strings ) )


The application's data appears
numeric (GetDose() decides!). 
Accordingly, treat it so by
wrapping int() or float()
within a try-except (and
adjusting thereafter...).


"But wait, there's more!"
(assuming implement as-above):

if 0 <= ts_reading < 400:

1 consistent 'direction' of
the comparisons = readability
2 able to "chain" the
comparisons = convenience
3 identifier is
PEP-008-compliant = quality
and style

-- 
Regards,
=dn
-- 
https://mail.python.org/mailma
n/listinfo/python-list

-- 
https://mail.python.org/mailman/listinfo/python-list


A problem with str VS int.

2023-12-09 Thread Steve GS via Python-list
 If I enter a one-digit input or a three-digit number, the code works but if I 
enter a two digit number, the if statement fails and the else condition 
prevails.

   tsReading = input("   Enter the " + Brand + " test strip reading: ")
if tsReading == "": tsReading = "0"
print(tsReading)
if ((tsReading < "400") and (tsReading >= "0")):
tsDose = GetDose(sReading)
print(tsReading + "-" + tsDose)
ValueFailed = False
else:
print("Enter valid sensor test strip Reading.")

I converted the variable to int along with the if statement comparison and it 
works as expected.
See if it fails for you...

Steve

-- 
https://mail.python.org/mailman/listinfo/python-list


Subtracting dates to get hours and minutes

2022-12-11 Thread Steve GS
How do I subtract two time/dates and calculate the hours and minutes
between?
Steve

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: Automatic Gain Control in Python?

2022-06-06 Thread Steve GS
Yes, it is real-time play back of a pre-recorded presentation. 
A juke box does the same thing. It plays records.
You didn't put your quarter in to expect the band to play your piece live,
did you?

Same here, I am pulling in the programs and playing them for an audience.
All I want to do is have some semblance of AGC audio since the sources don't
seem to be able to do it.

" I would strongly 
> recommend going for the much much easier method of simply downloading 
> the files as they are."

As Bill Gates would say "You have not understood it from the start."
No, downloading the files, all 48 of them every week, is not easier if I
have to turn around and replay them through the system. 
What could be easier than to have the smart speaker do all that work and
play the podcasts "live".  All I want to do is jump in there between the
Smart Speaker and the input to the intercom and twerk the audio a bit.


Footnote:
If you double major in psychology and reverse psychology, to they cancel
each other out?

-Original Message-
From: Python-list  On
Behalf Of Phil Boutros
Sent: Monday, June 6, 2022 12:39 PM
To: python-list@python.org
Subject: Re: Automatic Gain Control in Python?

Chris Angelico  wrote:
>
> General principle: If you're asking someone else for help, don't tell 
> them that your way is easier, because the obvious response is "go 
> ahead then, do it your own way".

*Ding Ding Ding*...We have a winner!  At least, that's where I dropped
off.  My experienced advice is all wrong for you?  Sorry I couldn't help
more.  Good luck to you.

> You're technically right in a sense: something that you already have 
> is, indeed, easier than something else. But downloading files is
> *easy* in Python, and audio analysis on files is FAR easier than 
> real-time audio analysis with hysteresis avoidance.

Also this.


> Unless you have a really good
> reason for sticking to the black-box system, I would strongly 
> recommend going for the much much easier method of simply downloading 
> the files as they are.

As pretty much everyone else has said. Insisting on real-time processing
of something that is itself pre-recorded is non-sensical.


Phil
--
AH#61  Wolf#14  BS#89  bus#1  CCB#1  SENS  KOTC#4 ph...@philb.ca
http://philb.ca
--
https://mail.python.org/mailman/listinfo/python-list

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: Automatic Gain Control in Python?

2022-05-31 Thread Steve GS
I started but major issues prevented me this weekend (New Roof, Major limb
broke for pine tree...
I still have to install pyAudio.



Genie: You have three wishes.
Me: I wish I had more wishes.
Genie: You cannot wish for more wishes.
Me: I wish I could.

-Original Message-
From: Python-list  On
Behalf Of MRAB
Sent: Tuesday, May 31, 2022 9:47 PM
To: python-list@python.org
Subject: Re: Automatic Gain Control in Python?

On 2022-06-01 02:03, Steve GS wrote:
[snip]

> Maybe you do not understand smart speakers. That is exactly what they do.
> You tell them what podcast/broadcast to play, they get it and play it 
> for you. It is that simple.
> 
> All I want to do is change the audio levels automatically to make it 
> easier on the ear.
> 
Did you have a look at the code I posted?

I've found that pyaudio can listen to the Line In input at the same time as
Audacity is recording from it, so you could might be able to use it to
monitor the level and then tell the smart speaker to turn the volume up or
down.
--
https://mail.python.org/mailman/listinfo/python-list

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: Automatic Gain Control in Python?

2022-05-31 Thread Steve GS


>Even easier, the few NPR podcasts I just checked now have RSS feeds of
their episodes (as expected).  It seems it would be much easier to just
download the latest episode based on the XML file, normalize, send it to
play, done.

How can that possibly be easier? I am playing the podcast and recording it
for a one-time replay.
Now you want me to write a program that automatically downloads 48 files
then manipulate them for equalization then replay it. It certainly doesn't
sound easier to me. I already have that working using simple
computer-generated vocal commands.

>   Why is it so crucial that it be done "in real time", which it really
isn't, unless you are listening to the live NPR feed.  In the case of
podcasts, *why* would you possible play them via streaming instead of
downloading the publicly accessible file to manipulate however you chose?

It is played "real time" and yes, for the listeners in the community, it is
real time no matter when it was recorded.

>> The code is to: Listen to the audio level for about 10 seconds or so 
>> and raise or lower the level in small increments.

>Based on what? 
A simple sample rate.

> Do you want a 10 second buffer to continually be analyzed in real time?
>From the output of a speaker, no less? 

Why should the source be of any concern? It is much more than a speaker. It
is pulling in the podcasts/broadcasts and playing them. The audio is also
being sent to a computer through an aux-out cable. Why is that confusing?

>   And which level?  Peak?  Average over...10 seconds?  Are you keeping
track of the previous values to make it match?  

That is what correlation is all about.

>Where is that stored?

In the computer that is running the AGC.

>> It has nothing to do with understanding how to grab podcasts.  The 
>> system is working very well for that.

OK...then perhaps I/we am/are confused on the limitations of the
program.  What does it "grab", *exactly*?

Maybe you do not understand smart speakers. That is exactly what they do.
You tell them what podcast/broadcast to play, they get it and play it for
you. It is that simple.

All I want to do is change the audio levels automatically to make it easier
on the ear.



--
AH#61  Wolf#14  BS#89  bus#1  CCB#1  SENS  KOTC#4 ph...@philb.ca
http://philb.ca
--
https://mail.python.org/mailman/listinfo/python-list

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: Automatic Gain Control in Python?

2022-05-29 Thread Steve GS
No, not a digital file. I am playing the podcast/broadcast live to the 
community using a separate network of smart speakers (Amazon Echo). Commands 
are being sent hourly through a speaker to the SS from an excel program. I want 
to monitor the audio level between the line-out of the SS and the input to 
another computer which then records the audio using Audacity for a single 
replay during the week.

I think my first post should have started “Fasten your seat belts, it is going 
to be a bumpy night…)

 

 

Genie: You have three wishes.

Me: I wish I had more wishes.
Genie: You cannot wish for more wishes.
Me: I wish I could.

 

From: Benjamin Schollnick  
Sent: Sunday, May 29, 2022 11:18 AM
To: Steve GS 
Cc: Richard Damon ; Python 
Subject: Re: Automatic Gain Control in Python?

 

Okay, you are capturing the audio stream as a digital file somewhere, correct?

 

Why not just right a 3rd party package to normalize the audio levels in the 
digital file?  It’ll be faster, and probably easier than trying to do it in 
real time…

 

eg. 
https://campus.datacamp.com/courses/spoken-language-processing-in-python/manipulating-audio-files-with-pydub?ex=8

 


Normalizing an audio file with PyDub


Sometimes you'll have audio files where the speech is loud in some portions and 
quiet in others. Having this variance in volume can hinder transcription.

Luckily, PyDub's effects module has a function called normalize() which finds 
the maximum volume of an AudioSegment, then adjusts the rest of the 
AudioSegment to be in proportion. This means the quiet parts will get a volume 
boost.

You can listen to an example of an audio file which starts as loud then goes 
quiet, loud_then_quiet.wav,  
<https://assets.datacamp.com/production/repositories/4637/datasets/9251c751d3efccf781f3e189d68b37c8d22be9ca/ex3_datacamp_loud_then_quiet.wav>
 here.

In this exercise, you'll use normalize() to normalize the volume of our file, 
making it sound  
<https://assets.datacamp.com/production/repositories/4637/datasets/f0c1ba35ff99f07df8cfeee810c7b12118d9cd0f/ex3_datamcamp_normalized_loud_quiet.wav>
 more like this.

or

 

https://stackoverflow.com/questions/57925304/how-to-normalize-a-raw-audio-file-with-python





 

- Benjamin





On May 29, 2022, at 11:04 AM, Steve GS mailto:Gronicus@SGA.Ninja> > wrote:

 

From your description, your fundamental problem is you are trying to 
automatically "control" things that weren't designed to be automatically 
controlled in the way you are attempting.


How so? I am sending commands to a smart speaker and it plays podcasts and 
broadcasts.
How is this a violation of SS design?

===



The smart speaker assumes the "user" will adjust the volume either with the 
controls or with verbal commands, So things will be a bit "clunky" in your 
results as you command the smart speaker volume level.


So, you want me to sit here for every hour of the weekend and monitor the audio 
levels for a result that will get, at best, one replay when I believe it can be 
automated.

===



Yes, you have an automated system that does most of what you want, but it is 
based on pieces not designed to be automated in this way, and you are running 
into the limitations caused by that.


Again, what limitations of the SS am I violating? It is designed to receive 
commands and play the audio.
Also, what makes you think that you know how my program is based?

===



Yes, you could split the aux-out to bring it into another computer to listen to 
the sound level, and then using a sound input package get samples of what is 
playing, and analyze that data to get an average volume, and then issues the 
command to adjust the volume level.


Hmmm, is that not my original question? Are you suggesting to monitor the 
audio, sense it for volume changes and apply those changes to the original 
audio? One thing that may have to happen is a timed-delay to all for the AGC to 
work.   This may require a correlation circuit.

==



What you seem to be missing is that you could get the podcasts from a browser, 
and all a browser is is a program. It isn't that much work to write a 
rudimentary browser in python, especially if you don't actually need to display 
the results to a user, but are only trying to automate a particular task.


Writing my own browser in Python might work. Do you have a sample one that I 
could twerk to fit my needs?
I would have to be able to invoke it and an hour later devoke it least I end up 
with multiple audio channels playing.

Either way, I would still need an AGC program which was my original question.  

===



You seem to feel strongly invested in your current code base, which is 
understandable, but it seems you have reached a point where you don't want to 
live with the limitations CAUSED by that system. 


The changes in volume are not CAUSED by my pro

RE: Automatic Gain Control in Python?

2022-05-29 Thread Steve GS
tion to download and play a podcast or broadcast is legal 
only for live replay. My want to record them for one replay for my own use.  
Personal play is a different story.




-Original Message-
From: Richard Damon  On Behalf Of Richard Damon
Sent: Sunday, May 29, 2022 8:03 AM
To: Steve GS ; Python 
Subject: Re: Automatic Gain Control in Python?

 From your description, your fundamental problem is you are trying to 
automatically "control" things that weren't designed to be automatically 
controlled in the way you are attempting.

The smart speaker assumes the "user" will adjust the volume either with the 
controls or with verbal commands, So things will be a bit "clunky" 
in your results as you command the smart speaker volume level.

Yes, you have an automated system that does most of what you want, but it is 
based on pieces not designed to be automated in this way, and you are running 
into the limitations caused by that.

Yes, you could split the aux-out to bring it into another computer to listen to 
the sound level, and then using a sound input package get samples of what is 
playing, and analyze that data to get an average volume, and then issues the 
command to adjust the volume level.

What you seem to be missing is that you could get the podcasts from a browser, 
and all a browser is is a program. It isn't that much work to write a 
rudimentary browser in python, especially if you don't actually need to display 
the results to a user, but are only trying to automate a particular task.

You seem to feel strongly invested in your current code base, which is 
understandable, but it seems you have reached a point where you don't want to 
live with the limitations CAUSED by that system. Yes, there is likely a way to 
tack on another layer of "stuff" to adjust for this issue, but it likely is 
going to require some real programming.

It may well be the design I am suggesting, of writing a program to fetch the 
podcast and save it requires a bit more work to get to the level you currently 
are at, but the results are a system that is actually designed to be controlled 
by automation. Maybe it is beyond you ability, but then so might the 
programming to get the volume.

I will also add, that the way your describe going to your "community" 
gives me questions if this is a violation of copyright. Maybe it is something 
you can "Get away with", but I am not sure what you are doing is actually 
legitimate.

On 5/29/22 1:09 AM, Steve GS wrote:
> You really need to understand what I am trying to do.
> It is not a simple lesson in use of podcasts.
> This is an automated system. I call it my NPR Jukebox.
>
> 15 years ago, I started with hourly URL calls to a browser to record specific 
> NPR programs. It took a lot of coordination. I had to use IE because I needed 
> to start and stop browsers on the hour and IE was the only one that could do 
> that. Then web sites started "upgrading" to Edge. Through some trickery I was 
> able to get Edge to do what IE did but it was unstable.
>
> I then discovered the Echo Smart Speaker. I set my program to announce the 
> broadcast station or podcast by speaker to the smart speaker and it cured a 
> lot of headaches. I then was able to call podcasts because the Echo handles 
> them through TuneIn. Unfortunately, not all broadcasts ae available as 
> podcasts.
>
> I am not here diddling around just playing podcasts. Let me repeat 
> what I have already said. It is an automated system.  Every hour for 
> 48 hours on every weekend, my system using a well-developed Excel/VBA 
> program that vocally talks to the SS hourly.  The SS finds the audio 
> and sends it to my Audacity recorder on another computer through 
> aux-out to mic-in cable. The selections of audio are also transmitted 
> to the community at the time of recording
>
> That part of the system is almost flawless, well compared to that I had 
> before. Although the quality, tone, and timing of the announcement, the SS 
> still gets confused once in a while and goes silent for the hour. I need to 
> detect this too.
>
> Ok, now back to the original question.
>
> Podcasts and broadcasts apparently do not use the Dolby tone to balance the 
> audio levels. And I receive highly fluctuating levels of audio. Sometimes it 
> is between sides of a conversation, sometimes it is the podcast vs station 
> identifications, then it is great differences between one web site and 
> another.  Then there's the differences with male and female voices. Imagine 
> that you are watching TV late night then the commercials COME IN AT FULL 
> BLAST.
>
> The technology of the industry grew up with male voices and apparently sees 
> no reason to adjust for female.  I have worked with audio systems and making 
> recordings for more years that I

RE: Automatic Gain Control in Python?

2022-05-28 Thread Steve GS
You really need to understand what I am trying to do.  
It is not a simple lesson in use of podcasts.  
This is an automated system. I call it my NPR Jukebox.

15 years ago, I started with hourly URL calls to a browser to record specific 
NPR programs. It took a lot of coordination. I had to use IE because I needed 
to start and stop browsers on the hour and IE was the only one that could do 
that. Then web sites started "upgrading" to Edge. Through some trickery I was 
able to get Edge to do what IE did but it was unstable.

I then discovered the Echo Smart Speaker. I set my program to announce the 
broadcast station or podcast by speaker to the smart speaker and it cured a lot 
of headaches. I then was able to call podcasts because the Echo handles them 
through TuneIn. Unfortunately, not all broadcasts ae available as podcasts.

I am not here diddling around just playing podcasts. Let me repeat what I have 
already said. It is an automated system.  Every hour for 48 hours on every 
weekend, my system using a well-developed Excel/VBA program that vocally talks 
to the SS hourly.  The SS finds the audio and sends it to my Audacity recorder 
on another computer through aux-out to mic-in cable. The selections of audio 
are also transmitted to the community at the time of recording

That part of the system is almost flawless, well compared to that I had before. 
Although the quality, tone, and timing of the announcement, the SS still gets 
confused once in a while and goes silent for the hour. I need to detect this 
too.

Ok, now back to the original question.

Podcasts and broadcasts apparently do not use the Dolby tone to balance the 
audio levels. And I receive highly fluctuating levels of audio. Sometimes it is 
between sides of a conversation, sometimes it is the podcast vs station 
identifications, then it is great differences between one web site and another. 
 Then there's the differences with male and female voices. Imagine that you are 
watching TV late night then the commercials COME IN AT FULL BLAST.

The technology of the industry grew up with male voices and apparently sees no 
reason to adjust for female.  I have worked with audio systems and making 
recordings for more years that I want to admit.

All I want is software to detect level changes over time and attempt to 
equalize them. 
It has to be work between the SS and the recorder and is to be checking all the 
time. 

The code is to: Listen to the audio level for about 10 seconds or so and raise 
or lower the level in small increments.
It has nothing to do with understanding how to grab podcasts.  The system is 
working very well for that.


Footnote:
“What rhymes with orange?”
“No, it doesn’t..”



-Original Message-
From: Richard Damon  On Behalf Of Richard Damon
Sent: Saturday, May 28, 2022 11:37 PM
To: Steve GS 
Subject: Re: Automatic Gain Control in Python?

On 5/28/22 8:17 PM, Steve GS wrote:
> "My first thought is you are solving the wrong problem. What seems a 
> better option would be to get your code to actually connect up to the 
> podcast and just download the audio directly, rather than trying to 
> get the smart speaker to play the audio and record it with a microphone."
>
> The smart-speaker is bringing in the podcast by hourly automated 
> commands and sending by audio cable to a computer which is recording 
> it with Audacity.  This is an automated system that runs for 48 hours every 
> weekend.
> Its output is played live throughout the facility and is also recorded 
> for replay through the week.
>
> No download to use.
>
> AGC is to happen when the Smart Speaker is playing it, real time.
> Any post-record editing would be a horrendous task to say the least.
>
My guess is you don't understand how "Podcasts" work. All they are is a web 
resource that your Browser/Smart Device makes a request off, and the contents 
are streamed over the internet to that device, which then plays it. Smart 
Speakers just have a program that knows how to access these.

Since they can be listened to on a web browser, a program can download the 
data. They might be doing things to make this harder, but that is a sign that 
you shouldn't be doing this in the first place.

Often, the data format that is streamed is exactly like the file format for 
storing an audio file (since that is what the code in the browser is built to 
handle).

It may be a bit of work to figure out the access methods to get the data, but 
this is the sort of job that computers were designed to do. 
Trying to make things that weren't designed to be remote controlled to be 
remote controlled may well be a lot more work.

--
Richard Damon

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: Automatic Gain Control in Python?

2022-05-28 Thread Steve GS
>> Why would post-record editing be "horrendous"?

This has to be done on-the-fly before it is recorded. 
After the AGC is applied, it will be played, live, to the community.
It is played during the week to a much smaller audience, almost as
background noise.
Post recording editing would be a waste of time and worthless.

>> Does it record the whole 48 hours into 1 file?

Two files, 24 hours each, one for Saturday, the other Sunday


-Original Message-
From: Python-list  On
Behalf Of MRAB
Sent: Saturday, May 28, 2022 8:57 PM
To: python-list@python.org
Subject: Re: Automatic Gain Control in Python?

On 2022-05-29 01:17, Steve GS wrote:
> "My first thought is you are solving the wrong problem. What seems a 
> better option would be to get your code to actually connect up to the 
> podcast and just download the audio directly, rather than trying to 
> get the smart speaker to play the audio and record it with a microphone."
> 
> The smart-speaker is bringing in the podcast by hourly automated 
> commands and sending by audio cable to a computer which is recording 
> it with Audacity.  This is an automated system that runs for 48 hours
every weekend.
> Its output is played live throughout the facility and is also recorded 
> for replay through the week.
> 
> No download to use.
> 
> AGC is to happen when the Smart Speaker is playing it, real time.
> Any post-record editing would be a horrendous task to say the least.
> 
[snip]
Why would post-record editing be "horrendous"?

Does it record the whole 48 hours into 1 file?

If it's recording each podcast separately, it could process each one after
recording it, even while the next one is being recorded, and I really doubt
that processing each one while take long.
--
https://mail.python.org/mailman/listinfo/python-list

-- 
https://mail.python.org/mailman/listinfo/python-list


RE: Automatic Gain Control in Python?

2022-05-28 Thread Steve GS
"My first thought is you are solving the wrong problem. What seems a better
option would be to get your code to actually connect up to the podcast and
just download the audio directly, rather than trying to get the smart
speaker to play the audio and record it with a microphone."

The smart-speaker is bringing in the podcast by hourly automated commands
and sending by audio cable to a computer which is recording it with
Audacity.  This is an automated system that runs for 48 hours every weekend.
Its output is played live throughout the facility and is also recorded for
replay through the week.

No download to use.

AGC is to happen when the Smart Speaker is playing it, real time.
Any post-record editing would be a horrendous task to say the least.

=

Genie: You have three wishes.
Me: I wish I had more wishes.
Genie: You cannot wish for more wishes.
Me: I wish I could.

-Original Message-
From: Python-list  On
Behalf Of Richard Damon
Sent: Saturday, May 28, 2022 6:53 PM
To: python-list@python.org
Subject: Re: Automatic Gain Control in Python?

On 5/28/22 5:29 PM, Steve GS wrote:
> I have an extensive Excel/VBA program that hourly calls and plays 
> podcasts through a "smart" speaker. The output of the speaker feeds 
> into another computer that records the m\audio using Audacity.
>
> It has become obvious that NPR does not regulate volumes for podcasts 
> and broadcasts nor are programs in themselves regulated by volume.  
> Audacity does not have an AGC.
>
> It has also been noted that Excel/VBA code cannot see the audio being 
> played on the same computer.
>
> I would like to find code that will regulate the volume and give some 
> semblance of control/moderation. Also, sometimes the Smart Speaker 
> fails to play the program and I get an hour of silence before the next 
> command to play happens. The code should detect that nothing is 
> playing and send the command to the smart speaker again.
>
> Is there any Python code that I might be able to call from VBA that 
> will monitor and regulate the volume of the audio? A few samples of 
> code that can read/modify the audio will help me develop the final
product.
>
> Suggestions appreciated.

My first thought is you are solving the wrong problem. What seems a better
option would be to get your code to actually connect up to the podcast and
just download the audio directly, rather than trying to get the smart
speaker to play the audio and record it with a microphone. That might
require finding the API for the site that hosts the podcasts, to get it to
send the files to you to "play".

Once you have the files, it becomes simple signal processing to go over the
files and AGCing them as needed.

On a side note, make sure you are within your rights within Copyright law
for what you are doing. Recording for PERSONAL use is probably within the
bounds of "Fair Use", but the material is surely under Copyright, so be
careful what you do with it.

--
Richard Damon

--
https://mail.python.org/mailman/listinfo/python-list

-- 
https://mail.python.org/mailman/listinfo/python-list


Automatic Gain Control in Python?

2022-05-28 Thread Steve GS
I have an extensive Excel/VBA program that hourly calls and plays podcasts
through a "smart" speaker. The output of the speaker feeds into another
computer that records the m\audio using Audacity.

It has become obvious that NPR does not regulate volumes for podcasts and
broadcasts nor are programs in themselves regulated by volume.  Audacity
does not have an AGC.

It has also been noted that Excel/VBA code cannot see the audio being played
on the same computer.  

I would like to find code that will regulate the volume and give some
semblance of control/moderation. Also, sometimes the Smart Speaker fails to
play the program and I get an hour of silence before the next command to
play happens. The code should detect that nothing is playing and send the
command to the smart speaker again.

Is there any Python code that I might be able to call from VBA that will
monitor and regulate the volume of the audio? A few samples of code that can
read/modify the audio will help me develop the final product.

Suggestions appreciated.




-- 
https://mail.python.org/mailman/listinfo/python-list


[issue45116] Performance regression 3.10b1: inlining issue in the big _PyEval_EvalFrameDefault() function with Visual Studio (MSC)

2022-04-08 Thread Steve Dower


Steve Dower  added the comment:

> __assume(0) should be replaced with other function, inside the eval 
> switch-case or in the inlined paths of callees. This is critical with PGO.

Out of interest, have you done other experiments confirming this? The reference 
linked is talking about compiler throughput (i.e. how long it takes to 
compile), and while it hints that using __assume(0) may interfere with other 
optimisations, that isn't supported with any detail or analysis in the post.

--

___
Python tracker 
<https://bugs.python.org/issue45116>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47103] Copy pgort140.dll when building for PGO

2022-04-08 Thread Steve Dower


Change by Steve Dower :


--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue47103>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47103] Copy pgort140.dll when building for PGO

2022-04-07 Thread Steve Dower


Steve Dower  added the comment:


New changeset 80c115385c01f456cdc6550543cf2112ae7a8161 by Steve Dower in branch 
'3.9':
bpo-47103: Copy pgort140.dll into output directory when building PGInstrument 
on Windows (GH-32083)
https://github.com/python/cpython/commit/80c115385c01f456cdc6550543cf2112ae7a8161


--

___
Python tracker 
<https://bugs.python.org/issue47103>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47103] Copy pgort140.dll when building for PGO

2022-04-07 Thread Steve Dower


Change by Steve Dower :


--
pull_requests: +30432
pull_request: https://github.com/python/cpython/pull/32407

___
Python tracker 
<https://bugs.python.org/issue47103>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47103] Copy pgort140.dll when building for PGO

2022-04-07 Thread Steve Dower


Steve Dower  added the comment:


New changeset b0ec17b6d9e0fb61081b6d15a1b2a14b607851b7 by Steve Dower in branch 
'3.10':
bpo-47103: Copy pgort140.dll into output directory when building PGInstrument 
on Windows (GH-32083)
https://github.com/python/cpython/commit/b0ec17b6d9e0fb61081b6d15a1b2a14b607851b7


--

___
Python tracker 
<https://bugs.python.org/issue47103>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47103] Copy pgort140.dll when building for PGO

2022-04-06 Thread Steve Dower


Steve Dower  added the comment:

Backport is blocked on issue47104 (or a randomly successful CI run, which seems 
to occur occasionally).

--
versions: +Python 3.10, Python 3.9

___
Python tracker 
<https://bugs.python.org/issue47103>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47239] Python Launcher for Windows (`py -0`) no longer shows star ("*") for default version

2022-04-06 Thread Steve Dower


Change by Steve Dower :


--
assignee:  -> steve.dower
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue47239>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47239] Python Launcher for Windows (`py -0`) no longer shows star ("*") for default version

2022-04-06 Thread Steve Dower


Steve Dower  added the comment:


New changeset 2390b2236d4b6ea96217478221d6f7d4b4f344f8 by Steve Dower in branch 
'main':
bpo-47239: Fixes py.exe output when run in a virtual environment. (GH-32364)
https://github.com/python/cpython/commit/2390b2236d4b6ea96217478221d6f7d4b4f344f8


--

___
Python tracker 
<https://bugs.python.org/issue47239>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47103] Copy pgort140.dll when building for PGO

2022-04-06 Thread Steve Dower


Change by Steve Dower :


--
pull_requests: +30413
pull_request: https://github.com/python/cpython/pull/32366

___
Python tracker 
<https://bugs.python.org/issue47103>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47239] Python Launcher for Windows (`py -0`) no longer shows star ("*") for default version

2022-04-06 Thread Steve Dower


Steve Dower  added the comment:

PR posted, and here's some sample output with the change:

C:\> py.exe --list
  *   Active venv
 -V:3.11  Python 3.11 (Store)
 -V:3.10  Python 3.10 (Store)
 -V:3.10-32   Python 3.10 (32-bit)
 -V:3.9   Python 3.9 (64-bit)
 -V:3.9-32Python 3.9 (32-bit)
 -V:3.8   Python 3.8 (64-bit)
 -V:3.7   Python 3.7 (64-bit)
 -V:ContinuumAnalytics/Anaconda38-64 Anaconda 2021.05
 -V:ContinuumAnalytics/Anaconda37-64 Anaconda py37_4.8.3

C:\> py.exe --list-paths
  *   C:\Temp\env310\Scripts\python_d.exe
 -V:3.11  
C:\Users\steve\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_3847v3x7pw1km\python.exe
 -V:3.10  
C:\Users\steve\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_3847v3x7pw1km\python.exe
 -V:3.10-32   
C:\Users\steve\AppData\Local\Programs\Python\Python310-32\python.exe
 -V:3.9   
C:\Users\steve\AppData\Local\Programs\Python\Python39\python.exe
 -V:3.9-32
C:\Users\steve\AppData\Local\Programs\Python\Python39-32\python.exe
 -V:3.8   C:\Python38\python.exe
 -V:3.7   C:\Python37\python.exe
 -V:ContinuumAnalytics/Anaconda38-64 C:\Users\steve\Anaconda3\python.exe
 -V:ContinuumAnalytics/Anaconda37-64 C:\Users\steve\Miniconda3\python.exe

--

___
Python tracker 
<https://bugs.python.org/issue47239>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47239] Python Launcher for Windows (`py -0`) no longer shows star ("*") for default version

2022-04-06 Thread Steve Dower


Change by Steve Dower :


--
keywords: +patch
pull_requests: +30411
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/32364

___
Python tracker 
<https://bugs.python.org/issue47239>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47239] Python Launcher for Windows (`py -0`) no longer shows star ("*") for default version

2022-04-06 Thread Steve Dower


Steve Dower  added the comment:

It's fine here. It affects the same part of the code.

--

___
Python tracker 
<https://bugs.python.org/issue47239>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47239] Python Launcher for Windows (`py -0`) no longer shows star ("*") for default version

2022-04-06 Thread Steve Dower


Steve Dower  added the comment:

Good catch, thanks!

--

___
Python tracker 
<https://bugs.python.org/issue47239>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47103] Copy pgort140.dll when building for PGO

2022-04-06 Thread Steve Dower


Steve Dower  added the comment:


New changeset 074da788028c1f1e867dc81698efdcdc263f2288 by Steve Dower in branch 
'main':
bpo-47103: Copy pgort140.dll into output directory when building PGInstrument 
on Windows (GH-32083)
https://github.com/python/cpython/commit/074da788028c1f1e867dc81698efdcdc263f2288


--

___
Python tracker 
<https://bugs.python.org/issue47103>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47230] New compiler warnings with latest zlib

2022-04-05 Thread Steve Dower


Steve Dower  added the comment:


New changeset a4c7752f3e00b75fd1e4603458b8c77a9fa3d4cb by Jeremy Kloth in 
branch '3.9':
bpo-47230: Silence compiler warnings on Windows from zlib 1.2.12 (GH-32337)
https://github.com/python/cpython/commit/a4c7752f3e00b75fd1e4603458b8c77a9fa3d4cb


--

___
Python tracker 
<https://bugs.python.org/issue47230>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47230] New compiler warnings with latest zlib

2022-04-05 Thread Steve Dower


Steve Dower  added the comment:


New changeset 8bce3cb16df5b8ac06ac6b2cae177dd221780b2f by Jeremy Kloth in 
branch '3.10':
bpo-47230: Silence compiler warnings on Windows from zlib 1.2.12 (GH-32337)
https://github.com/python/cpython/commit/8bce3cb16df5b8ac06ac6b2cae177dd221780b2f


--

___
Python tracker 
<https://bugs.python.org/issue47230>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47230] New compiler warnings with latest zlib

2022-04-05 Thread Steve Dower


Steve Dower  added the comment:

Do we need to backport this?

--

___
Python tracker 
<https://bugs.python.org/issue47230>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47230] New compiler warnings with latest zlib

2022-04-05 Thread Steve Dower


Steve Dower  added the comment:


New changeset 944f09adfcc59f54432ac2947cf95f3465d90e1e by Jeremy Kloth in 
branch 'main':
bpo-47230: Silence compiler warnings on Windows from zlib 1.2.12 (GH-32337)
https://github.com/python/cpython/commit/944f09adfcc59f54432ac2947cf95f3465d90e1e


--

___
Python tracker 
<https://bugs.python.org/issue47230>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47203] ImportError: DLL load failed while importing binascii: %1 is not a valid Win32 application.

2022-04-05 Thread Steve Dower


Steve Dower  added the comment:

> There is something fundamentally wrong with the way modules built into the 
> interpreter DLL (python3x.dll) are loaded if anything in sys.path or the 
> system PATH can cause an import to fail.

Probably there was also shadowing involved, since the built-in module doesn't 
try to load anything else. Would be nice to know for sure (@Matthew) to make 
sure we don't have some other issue here, but you're right, I don't see any way 
for this to happen without other causes.

--

___
Python tracker 
<https://bugs.python.org/issue47203>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47203] ImportError: DLL load failed while importing binascii: %1 is not a valid Win32 application.

2022-04-04 Thread Steve Dower


Steve Dower  added the comment:

It could also be something on your PATH interfering, as that particular 
ImportError could be pretty deep in the load chain.

If none of the built-in options narrow it down enough, try 
https://pypi.org/project/dlltracer/ as well. Its output takes a bit of 
interpretation, but it'll definitely get us closer.

--

___
Python tracker 
<https://bugs.python.org/issue47203>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47192] sys._getframe audit event has frame as argument in 3.8-3.10

2022-04-02 Thread Steve Dower


Steve Dower  added the comment:

This should be fixed in the docs and also in 3.11. Now that we've shipped 
releases that include the frame, we should keep doing it.

If it's impossible to get a frame object in 3.11 (because it would deoptimize 
all the work that's been done there), it should pass None. Changing the value 
of the argument is fine, but changing the schema is not.

--
versions: +Python 3.11

___
Python tracker 
<https://bugs.python.org/issue47192>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47194] Upgrade to zlib v1.2.12 in CPython binary releases

2022-04-02 Thread Steve Dower


Steve Dower  added the comment:


New changeset 6066739ff7794e54c98c08b953a699cbc961cd28 by Zachary Ware in 
branch 'main':
bpo-47194: Update zlib to v1.2.12 on Windows to resolve CVE-2018-25032 
(GH-32241)
https://github.com/python/cpython/commit/6066739ff7794e54c98c08b953a699cbc961cd28


--

___
Python tracker 
<https://bugs.python.org/issue47194>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46907] Update Windows and MacOS installer to SQLite 3.38.2

2022-03-31 Thread Steve Dower


Steve Dower  added the comment:

Done. Feel free to push directly to the repo, and bear in mind that changes may 
be reflected in any version build at any point, which is why we use tags 
(ahem... mostly... we've gotten it wrong before). Fourth field of the version 
number is our private one, so it gets incremented if we need to patch or 
re-release something, rather than changing the tag, unless we really do want to 
force change the tag.

Feel free to reach out if you have any questions. Otherwise, SQLite updates are 
all yours :)

--

___
Python tracker 
<https://bugs.python.org/issue46907>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46907] Update Windows and MacOS installer to SQLite 3.38.2

2022-03-31 Thread Steve Dower


Steve Dower  added the comment:

Erlend - would you be up for write permissions on the cpython-source-deps repo 
so you can push the SQLite updates yourself.

As I've mentioned before, merging PRs into that repo isn't any easier than 
doing it directly (since you also need to check file hashes and add a tag), but 
doing it yourself is easier than waiting on me or Zach.

--

___
Python tracker 
<https://bugs.python.org/issue46907>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47173] test_launcher fails on win-arm64 buildbot

2022-03-30 Thread Steve Dower


Change by Steve Dower :


--
resolution:  -> fixed
stage: needs patch -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue47173>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47173] test_launcher fails on win-arm64 buildbot

2022-03-30 Thread Steve Dower


Steve Dower  added the comment:

Looks like that probably fixed it. Will let the buildbot run again to be sure:

https://buildbot.python.org/all/#/builders/729/builds/1191
https://buildbot.python.org/all/#/builders/730/builds/4322

--

___
Python tracker 
<https://bugs.python.org/issue47173>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47171] Enable py.exe install in Windows ARM64 installer

2022-03-30 Thread Steve Dower


Change by Steve Dower :


--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue47171>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46566] Support -3.11-arm64 in py.exe launcher

2022-03-30 Thread Steve Dower


Steve Dower  added the comment:


New changeset f3d5715492195fd2532fc1a5d73be07923cdf2e1 by Steve Dower in branch 
'main':
bpo-46566: Make test_launcher more robust to a variety of installs (GH-32204)
https://github.com/python/cpython/commit/f3d5715492195fd2532fc1a5d73be07923cdf2e1


--

___
Python tracker 
<https://bugs.python.org/issue46566>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47171] Enable py.exe install in Windows ARM64 installer

2022-03-30 Thread Steve Dower


Steve Dower  added the comment:


New changeset 2ab609dd614045f3b112ede0b0883339de784f2a by Steve Dower in branch 
'main':
bpo-47171: Enable installing the py.exe launcher on Windows ARM64 (GH-32203)
https://github.com/python/cpython/commit/2ab609dd614045f3b112ede0b0883339de784f2a


--

___
Python tracker 
<https://bugs.python.org/issue47171>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47173] test_launcher fails on win-arm64 buildbot

2022-03-30 Thread Steve Dower


Steve Dower  added the comment:

The fix in PR 32204 also clears out VIRTUAL_ENV, so that may be enough. It's 
running on buildbots to see whether it helps.

--

___
Python tracker 
<https://bugs.python.org/issue47173>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46566] Support -3.11-arm64 in py.exe launcher

2022-03-30 Thread Steve Dower


Change by Steve Dower :


--
pull_requests: +30279
pull_request: https://github.com/python/cpython/pull/32204

___
Python tracker 
<https://bugs.python.org/issue46566>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46775] [Windows] OSError should unconditionally call winerror_to_errno

2022-03-30 Thread Steve Dower


Steve Dower  added the comment:

I'm still not convinced we should backport. Has anyone looked through to see 
whether this will actually affect any high valued error codes today?

--

___
Python tracker 
<https://bugs.python.org/issue46775>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47171] Enable py.exe install in Windows ARM64 installer

2022-03-30 Thread Steve Dower


Change by Steve Dower :


--
keywords: +patch
pull_requests: +30278
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/32203

___
Python tracker 
<https://bugs.python.org/issue47171>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47173] test_launcher fails on win-arm64 buildbot

2022-03-30 Thread Steve Dower


Steve Dower  added the comment:

Oh, I wonder if the VIRTUAL_ENV environment variable is interfering with search 
(as it's meant to, but the tests weren't written expecting to be run inside a 
venv).

--

___
Python tracker 
<https://bugs.python.org/issue47173>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47173] test_launcher fails on win-arm64 buildbot

2022-03-30 Thread Steve Dower


New submission from Steve Dower :

Test failures: https://buildbot.python.org/all/#/builders/730/builds/4307

==
FAIL: test_filter_to_company (test.test_launcher.TestLauncher)
--
Traceback (most recent call last):
  File 
"C:\Workspace\buildarea\3.x.linaro-win-arm64.nondebug\build\Lib\test\test_launcher.py",
 line 311, in test_filter_to_company
self.assertEqual("X.Y.exe", data["LaunchCommand"])
^^
AssertionError: 'X.Y.exe' != 
'C:\\Workspace\\buildarea\\venv_310\\Scripts\\python.exe'
- X.Y.exe
+ C:\Workspace\buildarea\venv_310\Scripts\python.exe
==
FAIL: test_py_default (test.test_launcher.TestLauncher)
--
Traceback (most recent call last):
  File 
"C:\Workspace\buildarea\3.x.linaro-win-arm64.nondebug\build\Lib\test\test_launcher.py",
 line 370, in test_py_default
self.assertEqual("PythonTestSuite", data["SearchInfo.company"])
^^^
AssertionError: 'PythonTestSuite' != '(null)'
- PythonTestSuite
+ (null)
==
FAIL: test_py_shebang (test.test_launcher.TestLauncher)
--
Traceback (most recent call last):
  File 
"C:\Workspace\buildarea\3.x.linaro-win-arm64.nondebug\build\Lib\test\test_launcher.py",
 line 392, in test_py_shebang
self.assertEqual("PythonTestSuite", data["SearchInfo.company"])
^^^
AssertionError: 'PythonTestSuite' != '(null)'
- PythonTestSuite
+ (null)

--
components: Windows
messages: 416389
nosy: paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
stage: needs patch
status: open
title: test_launcher fails on win-arm64 buildbot
type: behavior
versions: Python 3.11

___
Python tracker 
<https://bugs.python.org/issue47173>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46775] [Windows] OSError should unconditionally call winerror_to_errno

2022-03-30 Thread Steve Dower


Steve Dower  added the comment:


New changeset d0c67ea0645b7ad37b867c167882a346a24de641 by Dong-hee Na in branch 
'main':
bpo-46775: OSError should call winerror_to_errno unconditionally on Windows 
(GH-32179)
https://github.com/python/cpython/commit/d0c67ea0645b7ad37b867c167882a346a24de641


--

___
Python tracker 
<https://bugs.python.org/issue46775>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47171] Enable py.exe install in Windows ARM64 installer

2022-03-30 Thread Steve Dower


New submission from Steve Dower :

Currently the launcher is not installed by the installer. We need to reenable 
it.

--
assignee: steve.dower
components: Windows
messages: 416385
nosy: paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: Enable py.exe install in Windows ARM64 installer
versions: Python 3.11

___
Python tracker 
<https://bugs.python.org/issue47171>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47170] py launcher on windows opens new terminal window when parsing python script with shebang

2022-03-30 Thread Steve Dower


Steve Dower  added the comment:

Are you saying this happens when you run "py.exe my-script.py"? Or only when 
you run "my-script.py" (without the py.exe)?

--

___
Python tracker 
<https://bugs.python.org/issue47170>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47138] Pin Jinja2 to fix docs build

2022-03-29 Thread Steve Dower


Change by Steve Dower :


--
pull_requests: +30260
pull_request: https://github.com/python/cpython/pull/32183

___
Python tracker 
<https://bugs.python.org/issue47138>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47138] Pin Jinja2 to fix docs build

2022-03-29 Thread Steve Dower


Change by Steve Dower :


--
pull_requests: +30259
pull_request: https://github.com/python/cpython/pull/32182

___
Python tracker 
<https://bugs.python.org/issue47138>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46775] [Windows] OSError should unconditionally call winerror_to_errno

2022-03-29 Thread Steve Dower


Steve Dower  added the comment:

Is this okay to backport? Correcting more winerror values means we'll get more 
subclasses raised instead of OSError (though only for obscure cases, which 
probably also aren't mapped, so I guess it's possible to prove that none will 
actually change right now).

--

___
Python tracker 
<https://bugs.python.org/issue46775>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47138] Pin Jinja2 to fix docs build

2022-03-28 Thread Steve Dower


Steve Dower  added the comment:


New changeset 0dfabf9b4a58b835b61fc3d17784d4746f677e56 by Steve Dower in branch 
'3.10':
bpo-47138: Ensure Windows docs build uses the same pinned version as other 
platforms (GH-32161)
https://github.com/python/cpython/commit/0dfabf9b4a58b835b61fc3d17784d4746f677e56


--

___
Python tracker 
<https://bugs.python.org/issue47138>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46566] Support -3.11-arm64 in py.exe launcher

2022-03-28 Thread Steve Dower


Steve Dower  added the comment:

It's in! Any new issues probably won't be found until the next release, so I'll 
close this and we can open new bugs.

--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue46566>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46566] Support -3.11-arm64 in py.exe launcher

2022-03-28 Thread Steve Dower


Steve Dower  added the comment:


New changeset bad86a621af61f383b9f06fe4a08f66245df99e2 by Steve Dower in branch 
'main':
bpo-46566: Add new py.exe launcher implementation (GH-32062)
https://github.com/python/cpython/commit/bad86a621af61f383b9f06fe4a08f66245df99e2


--

___
Python tracker 
<https://bugs.python.org/issue46566>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47138] Pin Jinja2 to fix docs build

2022-03-28 Thread Steve Dower


Change by Steve Dower :


--
pull_requests: +30241
stage: resolved -> patch review
pull_request: https://github.com/python/cpython/pull/32163

___
Python tracker 
<https://bugs.python.org/issue47138>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47138] Pin Jinja2 to fix docs build

2022-03-28 Thread Steve Dower


Steve Dower  added the comment:


New changeset 295114dcd32b3aad5453e5e15e9e1befa0e5ca01 by Steve Dower in branch 
'main':
bpo-47138: Ensure Windows docs build uses the same pinned version as other 
platforms (GH-32161)
https://github.com/python/cpython/commit/295114dcd32b3aad5453e5e15e9e1befa0e5ca01


--

___
Python tracker 
<https://bugs.python.org/issue47138>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47138] Pin Jinja2 to fix docs build

2022-03-28 Thread Steve Dower


Change by Steve Dower :


--
nosy: +steve.dower
nosy_count: 4.0 -> 5.0
pull_requests: +30239
status: pending -> open
pull_request: https://github.com/python/cpython/pull/32161

___
Python tracker 
<https://bugs.python.org/issue47138>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47125] Explore hashlib use of the Windows Crypto API NG

2022-03-28 Thread Steve Dower


Steve Dower  added the comment:

Did a basic test (with timeit and a work-internal library I already have) and 
the native functionality is *slightly* faster than OpenSSL.

But I think it's worthwhile anyway, to help reduce our dependency on OpenSSL.

--

___
Python tracker 
<https://bugs.python.org/issue47125>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46566] Support -3.11-arm64 in py.exe launcher

2022-03-25 Thread Steve Dower


Steve Dower  added the comment:

I think this PR is "ready enough" to get in for broader testing, but in case 
anyone wants to try it first, I've attached a build from my own machine.

You may need Programs & Features to remove any existing "Python Launcher" 
before installing this MSI, and you will need to do that to remove this later 
on, but it should otherwise behave identically to a per-user installed launcher.

--
Added file: https://bugs.python.org/file50701/launcher.msi

___
Python tracker 
<https://bugs.python.org/issue46566>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47107] Navigation bar in python3103.chm is broken

2022-03-24 Thread Steve Dower


Steve Dower  added the comment:

Thanks for the report. This is a duplicate of issue47051 (and also no longer 
applies to 3.11 because we've removed the CHM file completely and now ship all 
the HTML files).

--
resolution:  -> duplicate
stage:  -> resolved
status: open -> closed
superseder:  -> Windows v3.10.3 .chm file (in python310\doc) page headings are 
messed up and spread out over several lines. Also the font has changed from the 
former san serif font to a smaller and harder to read serif font.
versions: +Python 3.10 -Python 3.11

___
Python tracker 
<https://bugs.python.org/issue47107>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47103] Copy pgort140.dll when building for PGO

2022-03-23 Thread Steve Dower


Change by Steve Dower :


--
keywords: +patch
pull_requests: +30170
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/32083

___
Python tracker 
<https://bugs.python.org/issue47103>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47103] Copy pgort140.dll when building for PGO

2022-03-23 Thread Steve Dower


New submission from Steve Dower :

Rather than trying to set up PATH properly, we should just copy pgort140.dll 
into the build directory when building instrumented version.

This becomes more important for those (i.e. me) building and then manually 
running the profile stage on a different machine.

--
assignee: steve.dower
components: Build, Windows
messages: 415905
nosy: paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
stage: needs patch
status: open
title: Copy pgort140.dll when building for PGO
type: enhancement
versions: Python 3.11

___
Python tracker 
<https://bugs.python.org/issue47103>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31582] Add _pth breadcrumb to sys.path documentation

2022-03-23 Thread Steve Dower


Steve Dower  added the comment:


New changeset c62b944dfc98911a5050389fa6ac753e283fee1f by Russel Webber in 
branch 'main':
bpo-31582: Created a new documentation section describing sys.path 
initialization (GH-31082)
https://github.com/python/cpython/commit/c62b944dfc98911a5050389fa6ac753e283fee1f


--

___
Python tracker 
<https://bugs.python.org/issue31582>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47086] Include HTML docs with Windows installer instead of CHM

2022-03-23 Thread Steve Dower


Steve Dower  added the comment:


New changeset fe010605f87f988ef1053e372d1c3898d2633d96 by Steve Dower in branch 
'main':
bpo-47086: Remove dead link to old CHM documentation (GH-32075)
https://github.com/python/cpython/commit/fe010605f87f988ef1053e372d1c3898d2633d96


--

___
Python tracker 
<https://bugs.python.org/issue47086>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47100] Help text for Store Python shows "null" under usage

2022-03-23 Thread Steve Dower


New submission from Steve Dower :

C:\> python3.11 -h 
usage: (null) [option] ... [-c cmd | -m mod | file | -] [arg] ...  
Options and arguments (and corresponding environment variables):   
...

Should not show "(null)" there

--
components: Windows
messages: 415869
nosy: paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: Help text for Store Python shows "null" under usage
type: behavior
versions: Python 3.10, Python 3.11, Python 3.9

___
Python tracker 
<https://bugs.python.org/issue47100>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47086] Include HTML docs with Windows installer instead of CHM

2022-03-23 Thread Steve Dower


Change by Steve Dower :


--
pull_requests: +30163
stage: commit review -> patch review
pull_request: https://github.com/python/cpython/pull/32075

___
Python tracker 
<https://bugs.python.org/issue47086>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47086] Include HTML docs with Windows installer instead of CHM

2022-03-23 Thread Steve Dower


Steve Dower  added the comment:

This should work for you (luckily, this is about the simplest possible case):

import sys
import winreg

def get_help():
KEY = rf"Software\Python\PythonCore\{sys.winver}\Help\Main Python 
Documentation"
try:
return winreg.QueryValue(winreg.HKEY_CURRENT_USER, KEY)
except FileNotFoundError:
pass
try:
return winreg.QueryValue(winreg.HKEY_LOCAL_MACHINE, KEY)
except FileNotFoundError:
pass
return 
f"https://docs.python.org/{sys.version_info.major}.{sys.version_info.minor}/;

--

___
Python tracker 
<https://bugs.python.org/issue47086>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46566] Support -3.11-arm64 in py.exe launcher

2022-03-22 Thread Steve Dower


Steve Dower  added the comment:

Posted my WIP as a draft PR. I'm still adding docs, tests and ironing out minor 
issues, but the core functionality is there (as well as some added bonuses). 
Feel free to review, and importantly to mark anywhere you'd like more 
explanatory comments.

Currently the main known issue is that the "-3-32" (and now-deprecated "-3-64") 
arguments are not supported. But they will be! There are also likely to be a 
range of shebang templates that need better handling, and I'll go through the 
open issues to see what ought to be fixed there compared to today's version.

--

___
Python tracker 
<https://bugs.python.org/issue46566>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46566] Support -3.11-arm64 in py.exe launcher

2022-03-22 Thread Steve Dower


Change by Steve Dower :


--
keywords: +patch
pull_requests: +30152
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/32062

___
Python tracker 
<https://bugs.python.org/issue46566>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43166] Unused letters in Windows-specific pragma optimize

2022-03-22 Thread Steve Dower


Steve Dower  added the comment:


New changeset cd05d0a423d97be69f9de4650f68f89e99ad68d1 by neonene in branch 
'main':
bpo-43166: Disable ceval.c optimizations for Windows debug builds (GH-32023)
https://github.com/python/cpython/commit/cd05d0a423d97be69f9de4650f68f89e99ad68d1


--

___
Python tracker 
<https://bugs.python.org/issue43166>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47086] Include HTML docs with Windows installer instead of CHM

2022-03-22 Thread Steve Dower


Steve Dower  added the comment:

> Do you have any thoughts about distributing the docs in ePub format?

If Windows includes a reader for all supported versions, and it's easy 
to build, sure. But I don't think the first bit is true.

Most people are going to be fairly comfortable with their default 
browser, and many are going to greatly prefer it. I think loose HTML 
files is a good option from every POV other than being a large number of 
loose files.

--

___
Python tracker 
<https://bugs.python.org/issue47086>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47086] Include HTML docs with Windows installer instead of CHM

2022-03-22 Thread Steve Dower


Steve Dower  added the comment:

The key is defined at 
https://github.com/python/cpython/blob/main/Tools/msi/doc/doc.wxs#L17 and is 
not set for a Store install at all. But we don't include the docs in that 
either - go straight to the web.

--

___
Python tracker 
<https://bugs.python.org/issue47086>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47086] Include HTML docs with Windows installer instead of CHM

2022-03-22 Thread Steve Dower


Steve Dower  added the comment:

For the registry key, reading the default value from key 
"HKCU\Software\Python\PythonCore\{sys.winver}\Help\Main Python Documentation" 
(or HKLM - no need to worry about the Wow6432Node bit here) and passing it to 
os.startfile() will work for all active releases.

If the key is missing, so are the local docs, so falling back to the web docs 
is a fine option.

--

___
Python tracker 
<https://bugs.python.org/issue47086>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47086] Include HTML docs with Windows installer instead of CHM

2022-03-22 Thread Steve Dower


Steve Dower  added the comment:

Good call on IDLE, I didn't even think to check there (there is a registry key 
that points at the documentation if it was installed, which would be the best 
approach for IDLE to use).

The makefiles don't urgently need to remove those references. If people still 
want to build it, they're welcome to [try]. It gives people with their own 
build processes a chance to adapt - we can remove it all later.

--

___
Python tracker 
<https://bugs.python.org/issue47086>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46788] regrtest fails to start on missing performance counter names

2022-03-22 Thread Steve Dower


Steve Dower  added the comment:

Backports have been merged

--
resolution:  -> fixed
stage: backport needed -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue46788>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44336] Windows buildbots hang after fatal exit

2022-03-22 Thread Steve Dower


Steve Dower  added the comment:

Thanks!

--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue44336>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44336] Windows buildbots hang after fatal exit

2022-03-22 Thread Steve Dower


Steve Dower  added the comment:


New changeset 8db7610d1a7b1f90631bac26261338f27bd20727 by Jeremy Kloth in 
branch '3.9':
bpo-44336: Prevent tests hanging on child process handles on Windows (GH-26578)
https://github.com/python/cpython/commit/8db7610d1a7b1f90631bac26261338f27bd20727


--

___
Python tracker 
<https://bugs.python.org/issue44336>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44336] Windows buildbots hang after fatal exit

2022-03-22 Thread Steve Dower


Steve Dower  added the comment:


New changeset 8146e6b636905d9872140c990d93308ac20d13f0 by Jeremy Kloth in 
branch '3.10':
bpo-44336: Prevent tests hanging on child process handles on Windows (GH-26578)
https://github.com/python/cpython/commit/8146e6b636905d9872140c990d93308ac20d13f0


--

___
Python tracker 
<https://bugs.python.org/issue44336>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47086] Include HTML docs with Windows installer instead of CHM

2022-03-21 Thread Steve Dower


Steve Dower  added the comment:

Leaving this open and assigned to myself for a couple of days to deal with any 
other fallout. In particular, I wasn't able to test the (minor) changes to the 
publishing steps (e.g. GPG signing), so will have to wait for the next release 
to see what works/doesn't there.

--
assignee:  -> steve.dower
stage: patch review -> commit review

___
Python tracker 
<https://bugs.python.org/issue47086>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue47086] Include HTML docs with Windows installer instead of CHM

2022-03-21 Thread Steve Dower


Steve Dower  added the comment:


New changeset 3751b6b030b4a3b88959b4f3c4ef2e58d325e497 by Steve Dower in branch 
'main':
bpo-47086: Remove .chm from Windows installer and add HTML docs (GH-32038)
https://github.com/python/cpython/commit/3751b6b030b4a3b88959b4f3c4ef2e58d325e497


--

___
Python tracker 
<https://bugs.python.org/issue47086>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46788] regrtest fails to start on missing performance counter names

2022-03-21 Thread Steve Dower


Steve Dower  added the comment:

Jeremy - backports need to be done manually. Can I leave that with you and just 
ping me on here when you're ready for a merge?

--
stage:  -> backport needed

___
Python tracker 
<https://bugs.python.org/issue46788>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44336] Windows buildbots hang after fatal exit

2022-03-21 Thread Steve Dower


Steve Dower  added the comment:


New changeset 19058b9f6271338bcc46b7d30fe79a83990cc35c by Jeremy Kloth in 
branch 'main':
bpo-44336: Prevent tests hanging on child process handles on Windows (GH-26578)
https://github.com/python/cpython/commit/19058b9f6271338bcc46b7d30fe79a83990cc35c


--

___
Python tracker 
<https://bugs.python.org/issue44336>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46788] regrtest fails to start on missing performance counter names

2022-03-21 Thread Steve Dower


Steve Dower  added the comment:

"So close" being some months ago ;)

I need to retrigger address sanitiser so that it passes before merging, but 
after that, I'll merge (and hopefully the backport is clean).

Copying Eryk Sun's comment here for posterity:

This would be less fragile and more useful in general if support were added to 
_winapi for PdhOpenQueryW(), PdhAddEnglishCounterW(), PdhCollectQueryData(), 
PdhCollectQueryDataEx(), PdhGetFormattedCounterValue(), and PdhCloseQuery(). 
The English counter name is "\System\Processor Queue Length" -- no need to 
worry about localized names, hard-coded values, or hard-coded struct sizes and 
offsets.

--

___
Python tracker 
<https://bugs.python.org/issue46788>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



  1   2   3   4   5   6   7   8   9   10   >