Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions saspy/scripts/run_sas.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,11 @@ def main():
else:
sas_session = saspy.SASsession(cfgname=options.cfgname)

sas_session.submit(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 questions. First is why? I can guess, but would like your reasoning. The second is wouldn't just assigning this to sas_code_text at line 66 be simpler?

- 66    sas_code_txt = ""  
+ 66    sas_code_txt = f"%let _SASPROGRAMFILE={os.path.normpath(sas_fname[-1])};\n"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In our team, we use different IDEs (EG, Studio, enhence editor & batch) with differenct connection methods. The settup file should detected the path to workspace from the filename.

The reasone that I didn't put it in the sas_code_txt is it may be annoising to end SAS user as it is not in their code but will in the log.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I were to suggest you simply put that statement into the

 'autoexec' : f"%let _SASPROGRAMFILE={os.path.normpath(sas_fname[-1])};\n",

in you're sascfg_personal.py Configuration Definition, would that solve this issue four your team? This seems awfully specific to something you're doing which isn't something everyone who ever uses this run_saspy.py script would want. Putting it your config would make it work for any way you ever use saspy, not only from this script. It would work with any python script you use as well and from any UI or anything. Obviously, you'd add import os.path before it in your sascfg_personal.py file so that it resolves.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like we can't get sas_fname in autoexec.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand. There's no difference between submitting that string of sas code in it's own sas.submit() after the SASsession has been established, or prepending it to other code that you submit, or having me submit it for you, during session start up, prior to you being able to submit the rest of what you like.
Perhaps you can provide something showing what you're really trying to do or what problem you're facing. I see no difference with just having it in the 'autoexec' key of the Configuration Definition, compared to what you have here; other than everyone else who ever uses this having that line of code submitted in their sessions for no particular reason.
Can you expand?
Thanks,
Tom

f"%let _SASPROGRAMFILE={os.path.normpath(sas_fname[-1])};\n",
results=results_format,
)

c = sas_session.submit(sas_code_txt,results=results_format)

with open(log_fname, 'w') as f1:
Expand Down
Loading