title: Python Conditional "With" Lock Design
body: <p>I am trying to do some shared locking using with statements</p>
  
  <pre><code>def someMethod(self, hasLock = False):
       with self.my_lock:
           self.somethingElse(hasLock=True)
  
  
  def somethingElse(self, hasLock = False):
      #I want this to be conditional...
      with self.my_lock:
            print 'i hate hello worlds"
  </code></pre>
  
  <p>That make sense?  I basically only want to do the with if I don't already have the lock.</p>
  
  <p>On top of being able to accomplish this, is it a bad design? Should I just acquire/release myself?  </p>