You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
I have an application that is replacing some set layers with images. I loop over every layer in the doc, and when i get to the layers I want, I replace them with a new image I just downloaded.
Here is a snippet of code.
with Session(rpath/to/file', action="open") as ps2:
# Open the Photoshop document
ps2.echo(ps2.active_document.name)
for layer in ps2.active_document.layers:
if layer.name.startswith('GK'):
layer_designator = layer.name.split()[1]
if layer_designator == 'CLUBLOGO':
name = layer.name
print('logolayer name is: ' + name)
url3 = str(players['Goalkeeper']['club_logo'])
destination_folder3 = r"path/to/save"
filename3 = url3.split("/")[-1]
destination_path3 = os.path.join(destination_folder3, filename3)
response3 = requests.get(url3)
if response3.status_code == 200:
with open(destination_path3, "wb") as f3:
f3.write(response3.content)
print(f"Image downloaded and saved to {destination_path3}")
# Replace the image of the current active layer with the downloaded image
replace_contents = ps2.app.stringIDToTypeID("placedLayerReplaceContents")
desc = ps2.ActionDescriptor
idnull = ps2.app.charIDToTypeID("null")
desc.putPath(idnull, destination_path)
ps2.app.executeAction(replace_contents, desc)
else:
print("Failed to download the image")
layer.name = name
elif layer_designator == 'FLAG':
name = layer.name
print('flaglayer name is: ' + name)
url = str(players['Goalkeeper']['flag'])
destination_folder = r"path/to/file"
filename = url.split("/")[-1]
destination_path = os.path.join(destination_folder, filename)
response = requests.get(url)
if response.status_code == 200:
with open(destination_path, "wb") as f:
f.write(response.content)
print(f"Image downloaded and saved to {destination_path}")
# Replace the image of the current active layer with the downloaded image
replace_contents = ps2.app.stringIDToTypeID("placedLayerReplaceContents")
desc = ps2.ActionDescriptor
idnull = ps2.app.charIDToTypeID("null")
desc.putPath(idnull, destination_path)
ps2.app.executeAction(replace_contents, desc)
else:
print("Failed to download the image")
layer.name = name
Expected behavior
I would expect the layers to appear and replace the smart objects they are pointing to. I have confirmed the URLs are separate, and they are downloading correctly. When i added in some sleeps, I could see the same layer being replaced multiple times. I can also confirm that the layers are named correctly and are printing out correctly to the terminal when accessed. Is there some caching issues I am unaware of with selected layers?
Desktop (please complete the following information):
OS: Windows 11
Photoshop Version: 2024, v25.4
Python Version: 3.11.0
let me know if there is any more info you need. I could have a workaround where I just create a new layer everytime and move it to the correct spot, but this is the beauty of smart objects to just replace them I would hope
The text was updated successfully, but these errors were encountered:
Describe the bug
I have an application that is replacing some set layers with images. I loop over every layer in the doc, and when i get to the layers I want, I replace them with a new image I just downloaded.
Here is a snippet of code.
Expected behavior
I would expect the layers to appear and replace the smart objects they are pointing to. I have confirmed the URLs are separate, and they are downloading correctly. When i added in some sleeps, I could see the same layer being replaced multiple times. I can also confirm that the layers are named correctly and are printing out correctly to the terminal when accessed. Is there some caching issues I am unaware of with selected layers?
Desktop (please complete the following information):
let me know if there is any more info you need. I could have a workaround where I just create a new layer everytime and move it to the correct spot, but this is the beauty of smart objects to just replace them I would hope
The text was updated successfully, but these errors were encountered: