本文整理汇总了Python中mechanize.Browser.set_value方法的典型用法代码示例。如果您正苦于以下问题:Python Browser.set_value方法的具体用法?Python Browser.set_value怎么用?Python Browser.set_value使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mechanize.Browser
的用法示例。
在下文中一共展示了Browser.set_value方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _mapgen_speed_fired
# 需要导入模块: from mechanize import Browser [as 别名]
# 或者: from mechanize.Browser import set_value [as 别名]
def _mapgen_speed_fired(self):
test_dir(join(self.dirname, 'gps_vis'))
br = Browser()
# Ignore robots.txt
br.set_handle_robots( False )
# Google demands a user-agent that isn't a robot
br.addheaders = [('User-agent', 'Firefox')]
resp1 = br.open( "http://www.gpsvisualizer.com/map_input" )
# Select the search box and search for 'foo'
br.select_form( name='main' )
br.form['width'] = '870'
br.form['height'] = '600'
br.set_value(['google_openstreetmap'], name='bg_map')
br.set_value(['speed'], name='trk_colorize')
br.form['legend_steps'] = '10'
br.add_file(open(self.filename_converted), "text/plain", self.filename_converted, name='uploaded_file_1')
# Get the search results
resp2 = br.submit()
resp = None
for link in br.links():
siteMatch = re.compile( 'download/' ).search( link.url )
if siteMatch:
resp = br.follow_link( link )
break
# Print the site
content = resp.get_data()
ofile = open(join(self.dirname, 'gps_vis', 'map_speed.html'),'w')
ofile.write(content)
ofile.close()
br.close()
print 'map generated (speed color)'
示例2: __init__
# 需要导入模块: from mechanize import Browser [as 别名]
# 或者: from mechanize.Browser import set_value [as 别名]
#.........这里部分代码省略.........
def fetch_patches_from_commit_queue(self):
patches_to_land = []
for bug_id in self.fetch_bug_ids_from_commit_queue():
patches = self.fetch_reviewed_patches_from_bug(bug_id)
patches_to_land += patches
return patches_to_land
def authenticate(self):
if self.authenticated:
return
if self.dryrun:
log("Skipping log in for dry run...")
self.authenticated = True
return
(username, password) = read_credentials()
log("Logging in as %s..." % username)
self.browser.open(self.bug_server_url + "index.cgi?GoAheadAndLogIn=1")
self.browser.select_form(name="login")
self.browser["Bugzilla_login"] = username
self.browser["Bugzilla_password"] = password
response = self.browser.submit()
match = re.search("<title>(.+?)</title>", response.read())
# If the resulting page has a title, and it contains the word "invalid" assume it's the login failure page.
if match and re.search("Invalid", match.group(1), re.IGNORECASE):
# FIXME: We could add the ability to try again on failure.
error("Bugzilla login failed: %s" % match.group(1))
self.authenticated = True
def add_patch_to_bug(self, bug_id, patch_file_object, description, comment_text=None, mark_for_review=False):
self.authenticate()
log('Adding patch "%s" to bug %s' % (description, bug_id))
if self.dryrun:
log(comment_text)
return
self.browser.open(self.bug_server_url + "attachment.cgi?action=enter&bugid=" + bug_id)
self.browser.select_form(name="entryform")
self.browser["description"] = description
self.browser["ispatch"] = ("1",)
if comment_text:
log(comment_text)
self.browser["comment"] = comment_text
self.browser["flag_type-1"] = ("?",) if mark_for_review else ("X",)
self.browser.add_file(patch_file_object, "text/plain", "bug-%s-%s.patch" % (bug_id, timestamp()))
self.browser.submit()
def obsolete_attachment(self, attachment_id, comment_text=None):
self.authenticate()
log("Obsoleting attachment: %s" % attachment_id)
if self.dryrun:
log(comment_text)
return
self.browser.open(self.attachment_url_for_id(attachment_id, "edit"))
self.browser.select_form(nr=1)
self.browser.find_control("isobsolete").items[0].selected = True
# Also clear any review flag (to remove it from review/commit queues)
self.browser.find_control(type="select", nr=0).value = ("X",)
if comment_text:
log(comment_text)
# Bugzilla has two textareas named 'comment', one is somehow hidden. We want the first.
self.browser.set_value(comment_text, name="comment", nr=0)
self.browser.submit()
def post_comment_to_bug(self, bug_id, comment_text):
self.authenticate()
log("Adding comment to bug %s" % bug_id)
if self.dryrun:
log(comment_text)
return
self.browser.open(self.bug_url_for_bug_id(bug_id))
self.browser.select_form(name="changeform")
self.browser["comment"] = comment_text
self.browser.submit()
def close_bug_as_fixed(self, bug_id, comment_text=None):
self.authenticate()
log("Closing bug %s as fixed" % bug_id)
if self.dryrun:
log(comment_text)
return
self.browser.open(self.bug_url_for_bug_id(bug_id))
self.browser.select_form(name="changeform")
if comment_text:
log(comment_text)
self.browser["comment"] = comment_text
self.browser["bug_status"] = ["RESOLVED"]
self.browser["resolution"] = ["FIXED"]
self.browser.submit()
示例3: __init__
# 需要导入模块: from mechanize import Browser [as 别名]
# 或者: from mechanize.Browser import set_value [as 别名]
#.........这里部分代码省略.........
self.browser['comment'] = bug_description
self.browser['description'] = patch_description
self.browser['ispatch'] = ("1",)
self.browser['flag_type-1'] = ('?',) if mark_for_review else ('X',)
self.browser.add_file(patch_file_object, "text/plain", "%s.patch" % timestamp(), 'data')
response = self.browser.submit()
bug_id = self._check_create_bug_response(response.read())
log("Bug %s created." % bug_id)
log("%sshow_bug.cgi?id=%s" % (self.bug_server_url, bug_id))
return bug_id
def _find_select_element_for_flag(self, flag_name):
# FIXME: This will break if we ever re-order attachment flags
if flag_name == "review":
return self.browser.find_control(type='select', nr=0)
if flag_name == "commit-queue":
return self.browser.find_control(type='select', nr=1)
raise Exception("Don't know how to find flag named \"%s\"" % flag_name)
def clear_attachment_flags(self, attachment_id, additional_comment_text=None):
self.authenticate()
comment_text = "Clearing flags on attachment: %s" % attachment_id
if additional_comment_text:
comment_text += "\n\n%s" % additional_comment_text
log(comment_text)
if self.dryrun:
return
self.browser.open(self.attachment_url_for_id(attachment_id, 'edit'))
self.browser.select_form(nr=1)
self.browser.set_value(comment_text, name='comment', nr=0)
self._find_select_element_for_flag('review').value = ("X",)
self._find_select_element_for_flag('commit-queue').value = ("X",)
self.browser.submit()
# FIXME: We need a way to test this on a live bugzilla instance.
def _set_flag_on_attachment(self, attachment_id, flag_name, flag_value, comment_text, additional_comment_text):
self.authenticate()
if additional_comment_text:
comment_text += "\n\n%s" % additional_comment_text
log(comment_text)
if self.dryrun:
return
self.browser.open(self.attachment_url_for_id(attachment_id, 'edit'))
self.browser.select_form(nr=1)
self.browser.set_value(comment_text, name='comment', nr=0)
self._find_select_element_for_flag(flag_name).value = (flag_value,)
self.browser.submit()
def reject_patch_from_commit_queue(self, attachment_id, additional_comment_text=None):
comment_text = "Rejecting patch %s from commit-queue." % attachment_id
self._set_flag_on_attachment(attachment_id, 'commit-queue', '-', comment_text, additional_comment_text)
def reject_patch_from_review_queue(self, attachment_id, additional_comment_text=None):
comment_text = "Rejecting patch %s from review queue." % attachment_id
self._set_flag_on_attachment(attachment_id, 'review', '-', comment_text, additional_comment_text)
def obsolete_attachment(self, attachment_id, comment_text = None):
self.authenticate()
示例4: Bugzilla
# 需要导入模块: from mechanize import Browser [as 别名]
# 或者: from mechanize.Browser import set_value [as 别名]
#.........这里部分代码省略.........
mark_for_review=mark_for_review,
mark_for_commit_queue=mark_for_commit_queue)
response = self.browser.submit()
bug_id = self._check_create_bug_response(response.read())
log("Bug %s created." % bug_id)
log("%sshow_bug.cgi?id=%s" % (self.bug_server_url, bug_id))
return bug_id
def _find_select_element_for_flag(self, flag_name):
# FIXME: This will break if we ever re-order attachment flags
if flag_name == "review":
return self.browser.find_control(type='select', nr=0)
if flag_name == "commit-queue":
return self.browser.find_control(type='select', nr=1)
raise Exception("Don't know how to find flag named \"%s\"" % flag_name)
def clear_attachment_flags(self,
attachment_id,
additional_comment_text=None):
self.authenticate()
comment_text = "Clearing flags on attachment: %s" % attachment_id
if additional_comment_text:
comment_text += "\n\n%s" % additional_comment_text
log(comment_text)
if self.dryrun:
return
self.browser.open(self.attachment_url_for_id(attachment_id, 'edit'))
self.browser.select_form(nr=1)
self.browser.set_value(comment_text, name='comment', nr=0)
self._find_select_element_for_flag('review').value = ("X",)
self._find_select_element_for_flag('commit-queue').value = ("X",)
self.browser.submit()
def set_flag_on_attachment(self,
attachment_id,
flag_name,
flag_value,
comment_text,
additional_comment_text):
# FIXME: We need a way to test this function on a live bugzilla
# instance.
self.authenticate()
if additional_comment_text:
comment_text += "\n\n%s" % additional_comment_text
log(comment_text)
if self.dryrun:
return
self.browser.open(self.attachment_url_for_id(attachment_id, 'edit'))
self.browser.select_form(nr=1)
self.browser.set_value(comment_text, name='comment', nr=0)
self._find_select_element_for_flag(flag_name).value = (flag_value,)
self.browser.submit()
# FIXME: All of these bug editing methods have a ridiculous amount of
# copy/paste code.
def obsolete_attachment(self, attachment_id, comment_text=None):