Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #94171

Re: Is this a good way to work with init and exception

References (2 earlier) <87r3o4xfhx.fsf@Equus.decebal.nl> <mailman.733.1437329515.3674.python-list@python.org> <87io9gx8tb.fsf@Equus.decebal.nl> <mailman.743.1437340103.3674.python-list@python.org> <87615fyem2.fsf@Equus.decebal.nl>
Date 2015-07-20 08:40 +1000
Subject Re: Is this a good way to work with init and exception
From Chris Angelico <rosuav@gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.748.1437345644.3674.python-list@python.org> (permalink)

Show all headers | View raw


On Mon, Jul 20, 2015 at 8:19 AM, Cecil Westerhof <Cecil@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

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Is this a good way to work with init and exception Cecil Westerhof <Cecil@decebal.nl> - 2015-07-19 12:35 +0200
  Re: Is this a good way to work with init and exception Chris Angelico <rosuav@gmail.com> - 2015-07-19 22:59 +1000
    Re: Is this a good way to work with init and exception Cecil Westerhof <Cecil@decebal.nl> - 2015-07-19 18:46 +0200
      Re: Is this a good way to work with init and exception Chris Angelico <rosuav@gmail.com> - 2015-07-20 04:11 +1000
        Re: Is this a good way to work with init and exception Cecil Westerhof <Cecil@decebal.nl> - 2015-07-19 21:10 +0200
          Re: Is this a good way to work with init and exception Chris Angelico <rosuav@gmail.com> - 2015-07-20 07:08 +1000
            Re: Is this a good way to work with init and exception Cecil Westerhof <Cecil@decebal.nl> - 2015-07-20 00:19 +0200
              Re: Is this a good way to work with init and exception Chris Angelico <rosuav@gmail.com> - 2015-07-20 08:40 +1000
                Re: Is this a good way to work with init and exception Cecil Westerhof <Cecil@decebal.nl> - 2015-07-20 01:27 +0200

csiph-web