Skip to content

feat: assign last file name as _SASPROGRAMFILE #641

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ShuguangSun
Copy link
Contributor

Assign the file name of last sas files to _SASPROGRAMFILE

@@ -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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants