chilli-axe / mtg-photoshop-automation

Photoshop scripting to generate high-quality Magic card renders, inserting Scryfall data into Photoshop frame templates.
GNU General Public License v3.0
60 stars 39 forks source link

Error 23 No matter what i do after PS Update #18

Closed Charlielx closed 3 years ago

Charlielx commented 4 years ago

Hi so I recently updated from CC 2019 to 2020 and ever since I haven't been able to get the script to create the card.json file and run properly. Prior to the update it would run just fine, and I had made many cards using it. Immediately after the update I was able to get the script to run, but it wouldn't update the card.json so it was just using the last successful card's text over and over. In response to this I enabled all permissions both on the scripts folder itself, as well as the folder containing the scripts folder, to no avail. After that I tried redownloading the distro and when I tried running the new file it wouldn't run at all, and only resulted in Error 23 repeatedly which is very frustrating lol. I tried basically everything I could think of to get it to run properly, including following the recommendations of one of the other issues on this git, also to no avail. Is there anything anyone can think of that might be causing this, or a solution I could apply? I'd love to get back to making more cards asap. Thanks!

saggitar commented 4 years ago

In case you are using Windows, just use the same command to call the python script as for Mac:

In proxy.jsx we have

if ($.os.search(/windows/i) != -1) {
      // Windows
      app.system("python get_card_info.py \"" + cardName + "\"");
} else {
      // macOS
      app.system("/usr/local/bin/python3 " + filePath + "/scripts/get_card_info.py \"" + cardName + "\" >> " + filePath + "/scripts/debug.log 2>&1");
}

The macOS command solves the problem, but the code was not fixed for Windows. The working directory when running the script is the Photoshop installation directory, so it can't find the get_card_info script like this. You can change the command for the Windows branch to also use the absolute path of the script as a reference:

if ($.os.search(/windows/i) != -1) {
      // Windows
      app.system("python " + filePath + "/scripts/get_card_info.py \"" + cardName + "\" >> " + filePath + "/scripts/debug.log 2>&1");
} else {
      // macOS
      app.system("/usr/local/bin/python3 " + filePath + "/scripts/get_card_info.py \"" + cardName + "\" >> " + filePath + "/scripts/debug.log 2>&1");
}

Now the python script will be found, and everything works.

ndepaola commented 3 years ago

fixed here https://github.com/ndepaola/mtg-autoproxy/commit/f39f5f9d2598f345e8455f5525e328277885bf39 sorry about this guys