title: Getting error: AttributeError: class <CLASS NAME> has no attribute '<METHOD NAME>'
body: <p>Here is the code:</p>
  
  <pre>
   1 #!/usr/bin/env python
    2 
    3 import re, os, sys, jira, subprocess
    4 
    5 class Check_jira:
    6 
    7     def verify_commit_text(self, tags):
    8         for line in tags:
    9             if re.match('^NO-TIK',line):
   10                 return True
   11             elif re.match('^NO-REVIEW', line):
   12                 return True
   13             elif re.match(r'[a-zA-Z]+-\d+', line):
   14                 # Validate the JIRA ID
   15                 m = re.search("([a-zA-Z]+-\d+)",line)
   16                 if m:
   17                     my_args = m.group(1)
   18                     result = Check_jira.CheckForJiraIssueRecord(my_args)
   19                     if result == False:
   20                         util.warn("%s does not exist"%my_args)
   21                     else:
   22                         return True
   23                 return True
   24             else:
   25                 return False
   26 if __name__ == '__main__':
   27     p = Check_jira()
   28     commit_text_verified = p.verify_commit_text(os.popen('hg tip --template "{desc}"'))
   29 
   30     if (commit_text_verified):
   31         sys.exit(0)
   32     else:
   33         print >> sys.stderr, ('[obey the rules!]')
   34         sys.exit(1);
   35     def CheckForJiraIssueRecord(object):
   36    
   37         sys.stdout = os.devnull
   38         sys.stderr = os.devnull
   39 
   40    
   41         try:
   42             com = jira.Commands()
   43             logger = jira.setupLogging()
   44             jira_env = {'home':os.environ['HOME']}
   45             command_cat= "cat"
   46             command_logout= "logout"
   47             #my_args = ["QA-656"]
   48             server = "http://jira.myserver.com:8080/rpc/soap/jirasoapservice-v2?wsdl"
   49         except Exception, e:
   50             sys.exit('config error')
   51 
   52 class Options:
   53     pass
   54 options = Options()
   55 
   56 options.user = 'user'
   57 options.password = 'password'
   58 
   59 try:
   60 
   61     jira.soap = jira.Client(server)
   62     jira.start_login(options, jira_env, command_cat, com, logger)
   63     issue = com.run(command_cat, logger, jira_env, my_args)
   64 except Exception, e:
   65     print sys.exit('data error')
  </pre>
  
  <p>so maybe:
  1. if <strong>name</strong> == '<strong>main</strong>': shoudl be at the bottom ? 
  2. So, i have 2 classes (Check_jira) and (Options)
  3. Check_jira has 2 functions verify_commit_text() and CheckForJiraIssueRecord()
  4. I pass object as an argument to CheckForJiraIssueRecord since i am passing my_args to it , on its usage.
  5. Not sure how to call one function from another function in the same class
  6. Error i am getting is :</p>
  
  <pre>
  Traceback (most recent call last):
    File "/home/qa/hook-test/.hg/check_jira.py", line 31, in 
      commit_text_verified = p.verify_commit_text(os.popen('hg tip --template "{desc}"'))
    File "/home/qa/hook-test/.hg/check_jira.py", line 21, in verify_commit_text
      result = Check_jira.CheckForJiraIssueRecord(my_args)
  AttributeError: class Check_jira has no attribute 'CheckForJiraIssueRecord'
  transaction abort!
  rollback completed
  abort: pretxncommit.jira hook exited with status 1
  </pre>