On Mon, Jul 20, 2015 at 8:19 AM, Cecil Westerhof <ce...@decebal.nl> wrote: >> If two modules import the same module, they get two references to >> that same module, not two separate module instances. Since your >> parameters appear only to affect the initialization itself, this is >> not likely to be a problem (it's not like you'll need to >> authenticate with two different sets of credentials, for instance), >> but it will mean that the second one will import an >> already-initialized module. That's why I suggested the try_init >> function which would quietly return an immediate success if the >> module had already been initialized. But if this isn't going to be >> an issue, then your code's fine. > > Good to know. I would expect two different instances. > > I agree that in my case it would not be a problem, but I put the code > on GitHub: > > https://github.com/CecilWesterhof/PythonLibrary/blob/master/twitterDecebal.py > I should do my best to circumvent nasty surprises for users of the > code. Someone else could use several Twitter accounts at the same > time. Is there a way to do this?
Does the instantiation of Core() involve authentication? Is it possible to call Core() more than once and use different accounts? Your send_message() takes an account identifier, so it might be you don't need separate accounts. But if, just very occasionally, you do need multiple, here's a possible design style: Have init() return the Core as well as stashing it in _core, and then have send_message() take an optional keyword argument (in 3.x, keyword-only) to choose a different core. That way, it'll by default use the most recently initialized core, but you can create multiple and manage them yourself if you so choose. (Obviously you'd use reinit_allowed=True for all the initializations.) ChrisA -- https://mail.python.org/mailman/listinfo/python-list