def close(self, bugId, reporter, message, action='fixed'): actions = ['fixed', 'invalid', 'wontfix', 'duplicate', 'worksforme'] # input check assert bugId.isdigit(), "bug id has to be a number" assert action in actions, "action has to be one of: %s" % ', '.join( actions) showdata = self.show(bugId) postdata = { 'reporter': reporter, 'comment': message, 'action': 'resolve', 'type': 'defect', 'resolve_resolution': action, 'summary': showdata['summary'], 'priority': showdata['priority'], 'milestone': showdata['milestone'], 'component': showdata['component'], 'version': showdata['version'], 'keywords': showdata['keywords'], 'cc': '', } postdata = urllib.urlencode(postdata) req = urllib2.Request('%s/ticket/%s' % (self.url, bugId), data=postdata) req.add_header('User-agent', useragent()) return urllib2.urlopen(req).read()
def get_tinyurl(url): """ grab a tinyurl """ postarray = [ ('submit', 'submit'), ('url', url), ] postdata = urllib.urlencode(postarray) req = urllib2.Request(url='http://tinyurl.com/create.php', data=postdata) req.add_header('User-agent', useragent()) try: res = urllib2.urlopen(req).readlines() #raise Exception("mekker") except urllib2.URLError, e: rlog(10, 'tinyurl', 'URLError: %s' % str(e)) return
def getdata(self, name): """ get data of rss feed """ rssitem = self.byname(name) if rssitem == None: raise RssNoSuchItem("no %s rss item found" % name) try: modified = self.modified[name] except KeyError: modified = None try: etag = self.etag[name] except KeyError: etag = None rlog(9, 'rss', 'fetching %s' % rssitem.url) result = feedparser.parse(rssitem.url, modified=modified, etag=etag, \ agent=useragent()) if result and result.has_key('bozo_exception'): rlog(1, 'rss', '%s bozo_exception: %s' % (name, \ result['bozo_exception'])) try: status = result.status except AttributeError: status = 200 if status != 200 and status != 301 and status != 302 and status != 304: raise RssStatus(status) try: self.modified[name] = result.modified except AttributeError: pass try: self.etag[name] = result.etag except AttributeError: pass if status == 304: rlog(0, 'rss', 'recieved 304 from %s rss feed' % name) return self.rawresults[name] else: self.rawresults[name] = result.entries return result.entries
def getdata(self, name): """ get data of rss feed """ rssitem = self.byname(name) if rssitem == None: raise RssNoSuchItem("no %s rss item found" % name) try: modified = self.modified[name] except KeyError: modified = None try: etag = self.etag[name] except KeyError: etag = None result = feedparser.parse(rssitem.url, modified=modified, etag=etag, agent=useragent()) if result and result.has_key("bozo_exception"): rlog(1, "rss", "%s bozo_exception: %s" % (name, result["bozo_exception"])) # raise RssStatus(result['bozo_exception']) try: status = result.status except AttributeError: status = 200 if status != 200 and status != 301 and status != 302 and status != 304: raise RssStatus(status) try: self.modified[name] = result.modified except AttributeError: pass try: self.etag[name] = result.etag except AttributeError: pass if status == 304: return self.rawresults[name] else: self.rawresults[name] = result.entries return result.entries
def close(self, bugId, reporter, message, action='fixed'): actions = ['fixed', 'invalid', 'wontfix', 'duplicate', 'worksforme'] # input check assert bugId.isdigit(), "bug id has to be a number" assert action in actions, "action has to be one of: %s" % ', '.join(actions) showdata = self.show(bugId) postdata = { 'reporter': reporter, 'comment': message, 'action': 'resolve', 'type': 'defect', 'resolve_resolution': action, 'summary': showdata['summary'], 'priority': showdata['priority'], 'milestone': showdata['milestone'], 'component': showdata['component'], 'version': showdata['version'], 'keywords': showdata['keywords'], 'cc': '', } postdata = urllib.urlencode(postdata) req = urllib2.Request('%s/ticket/%s' % (self.url, bugId), data=postdata) req.add_header('User-agent', useragent()) return urllib2.urlopen(req).read()
def sendget(self): headers = {'Content-Type': 'text/html', \ 'Accept': 'text/plain; text/html', 'User-Agent': useragent()} self.dorequest('GET', self.path)
def sendpost(self, postdata): headers = {'Content-Type': 'application/x-www-form-urlencoded', \ 'Accept': 'text/plain; text/html', 'User-Agent': useragent()} self.dorequest('POST', self.path, postdata, headers)