def __init__(self, bugzilla_url, username=None, password=None): """Initalises bugzilla_url, username and password variables and opens bugzilla page. Args: bugzilla_url: Bugzilla url to open username: Username to use. Ie. [email protected] password: Bugzilla password. """ log.debug("Initialising Bugzilla class") # define constants class so that we do not mess up the code with lots of "self.bugzilla_url + "/show_bug.cgi?id=123456". self.constants = Constants(bugzilla_url) self.bugzilla_url = bugzilla_url self.username = username self.password = password self.browser = Browser() self.browser.addheaders = [("User-Agent", self.constants.USER_AGENT)] # disable robots txt. Pardus.org.tr has it and we cannot open any page if it is enabled. Also, kim takar yalova kaymakamını? :) self.browser.set_handle_robots(False) # handle cookies in a file. this will allow us to login once. self.cookiejar = LWPCookieJar(self.constants.COOKIE_FILE) self.browser.set_cookiejar(self.cookiejar) if self._has_cookie_file(): log.debug("Loading cookies..") self._load_cookies() # if username and password is supplied, it means we are expected to login. self.is_auth_needed = bool(username and password) self.is_logged_in = False self._check_cookies() log.debug("Bugzilla class initialised")
# -*- coding: utf-8 -*- from mechanize import Browser from mechanize import DefaultFactory from mechanize import LWPCookieJar from bugspy.constants import Constants # Test bug number bugzillaUrl = "http://bugs.pardus.org.tr/show_bug.cgi?id=15012" username = "******" password = "******" bug_id = "15012" comment = u'author: fatih.arslan (fatih arslan)\nrepository: pardus\ncommit: 125476\n\nchanged files:\nu playground/fatih.arslan/bugcomment_script\n\ncommit message:\nbug:comment:15012\n\nsee the changes at:\n http://websvn.pardus.org.tr/pardus?view=revision&revision=125476\n' constants = Constants(bugzillaUrl) browser = Browser(factory=DefaultFactory(i_want_broken_xhtml_support=True)) #browser.addheaders = [("User-Agent", constants.USER_AGENT)] browser.addheaders = [ ("User-Agent", "Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20100101 Firefox/6.0") ] browser.set_handle_robots(False) cookiejar = LWPCookieJar(constants.COOKIE_FILE) browser.set_cookiejar(cookiejar) ### Login browser.open(bugzillaUrl)