NameError: global name 'thing' is not defined
Question: I don't think there is quite the need for the continued downvoting, I am just
trying to learn here!

One.py

    
    
    from two import *
    
    ADooDah = Doodah()
    something = Thing(ADooDah)
    
    something.DoThis()
    something.DoThat
    something.DoAnother
    if (something.has_done_stuff() == True)
        self.SomeFunction
    

Two.py

    
    
    class Thing(var):
        def __init__(self, var)
            self.SomeVar = var
    
        def has_done_stuff(self):
            while True:
                id, newMessage = SomeVar.get_next_message()
                if id == 0:
                    return true
                else:
                    return false
    

I get...

    
    
    Traceback (most recent call last):
      File "C:\One.py", line 9, in <module>
        has_done_stuff = thing.HasDoneStuff()
    NameError: global name 'thing' is not defined
    

EDITS: The code was indeed peppered with errors. I was trying to show my
situation rather than any real code. Rush typing causes foolish typing. Even
I'm not that bad! Well, most of the time ;) .

I hope the edits make it all make more sense and you fine people can stop
focusing on the crazy syntax errors and explain a bit more about my scope (I
assume) problem. I'm fairly new to Python/IronPython and the rules around
implicit types and scoping I am still in the process of learning!

I have solved my problem though. Thanks. It was fairly unrelated to the above
as it turns out.


Answer: 
    Something = Thing(ADooDah)
    
    thing.DoThis()
    

Your `thing` is called `Something`. Also, your class `Thing` has none of the
methods you are calling/not calling (missing parens). This is pretty much non-
sense code.

