Welcome to the VanDyke Software Forums

Join the discussion today!


Go Back   VanDyke Software Forums > Scripting

 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 03-30-2020, 10:21 AM
pjano1 pjano1 is offline
Registered User
 
Join Date: Mar 2020
Posts: 6
How to import a class file into another file that uses SecureCRT

Hello,

I'm trying to import a class I created into different, separate scripts. Both the script and the class use python through SecureCRT. Whenever I copy and paste the entire class into the calling script and call it this way:


class A:
...

def main():
a = A()


It works fine. But if I try and import it like this:


import a_file

def main():
a = a_file.A()


or like this:


from a_file import A

def main():
a = A()


It says "global name 'crt' is not defined" and won't work. I would much rather be able to define my class in a different file so I don't have to keep copying and pasting the entire thing every time I need to use it.

I've run into a similar issue before, only with function scripts I've written (they only hold functions). I found a work around for this I on another forum here a while ago, but essentially just put the following syntax in the calling script before it gets going:


import function_a
reload(function_a)
function_a.init(crt)


And then add the following function definition in the function script you need to call:


def init(obj):
global crt
crt = obj
return


I've been playing around with this to see if I can get it to work on classes as well as function scripts, but so far I've come up empty. What baffles me is why what I just put works for SecureCRT python function scripts, but the moment you try this on a script with a class definition, it doesn't work. Has anyone run into this issue before and or were able to fix it/work around it?

Thanks
Reply With Quote
 

Tags
class , function , import error


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 11:55 AM.