def get_review_info(ticket): u''' 対象チケット情報から review board の review request 情報をとってきて返す 大体 rbtools.postreview.main から取ってきてる ''' home = os.environ['HOME'] cookie = os.path.join(home, '.post-review-cookies.txt') user_config, configs = filesystem.load_config_files(home) postreview.parse_options([]) options = postreview.options repository_info, tool = clients.scan_usable_client(options) tool.user_config = user_config tool.configs = configs tool.check_options() server_url = tool.scan_for_server(repository_info) server = postreview.ReviewBoardServer(server_url, repository_info, cookie) server.login() results = server.api_get('/api/review-requests/') ticket = unicode(ticket) requests = [rq for rq in results['review_requests'] if ticket in rq['bugs_closed']] return requests
def main(): origcwd = os.path.abspath(os.getcwd()) if 'APPDATA' in os.environ: homepath = os.environ['APPDATA'] elif 'HOME' in os.environ: homepath = os.environ["HOME"] else: homepath = '' # If we end up creating a cookie file, make sure it's only readable by the # user. os.umask(0077) # Load the config and cookie files cookie_file = os.path.join(homepath, ".post-review-cookies.txt") user_config, globals()['configs'] = load_config_files(homepath) args = parse_options(sys.argv[1:]) debug('RBTools %s' % get_version_string()) debug('Python %s' % sys.version) debug('Running on %s' % (platform.platform())) debug('Home = %s' % homepath) debug('Current Directory = %s' % os.getcwd()) debug( 'Checking the repository type. Errors shown below are mostly harmless.' ) repository_info, tool = scan_usable_client(options) debug('Finished checking the repository type.') tool.user_config = user_config tool.configs = configs # Verify that options specific to an SCM Client have not been mis-used. tool.check_options() if repository_info.supports_changesets: changenum = tool.get_changenum(args) else: changenum = None if options.revision_range: diff, parent_diff = tool.diff_between_revisions( options.revision_range, args, repository_info) elif options.svn_changelist: diff, parent_diff = tool.diff_changelist(options.svn_changelist) elif options.diff_filename: parent_diff = None if options.diff_filename == '-': diff = sys.stdin.read() else: try: fp = open(os.path.join(origcwd, options.diff_filename), 'r') diff = fp.read() fp.close() except IOError, e: die("Unable to open diff filename: %s" % e)
def main(): origcwd = os.path.abspath(os.getcwd()) if 'APPDATA' in os.environ: homepath = os.environ['APPDATA'] elif 'HOME' in os.environ: #homepath = os.environ["HOME"] homepath = '/usr/local/bin/perforce' else: homepath = '' # If we end up creating a cookie file, make sure it's only readable by the # user. os.umask(0077) # Load the config and cookie files cookie_file = os.path.join(homepath, ".post-review-cookies.txt") user_config, globals()['configs'] = load_config_files(homepath) args = parse_options(sys.argv[1:]) debug('RBTools %s' % get_version_string()) debug('Python %s' % sys.version) debug('Running on %s' % (platform.platform())) debug('Home = %s' % homepath) debug('Current Directory = %s' % os.getcwd()) debug('Checking the repository type. Errors shown below are mostly harmless.') repository_info, tool = scan_usable_client(options) debug('Finished checking the repository type.') tool.user_config = user_config tool.configs = configs # Verify that options specific to an SCM Client have not been mis-used. tool.check_options() if repository_info.supports_changesets: changenum = tool.get_changenum(args) else: changenum = None if options.revision_range: diff, parent_diff = tool.diff_between_revisions(options.revision_range, args, repository_info) elif options.svn_changelist: diff, parent_diff = tool.diff_changelist(options.svn_changelist) elif options.diff_filename: parent_diff = None if options.diff_filename == '-': diff = sys.stdin.read() else: try: fp = open(os.path.join(origcwd, options.diff_filename), 'r') diff = fp.read() fp.close() except IOError, e: die("Unable to open diff filename: %s" % e)
def test_scan_for_server_reviewboardrc(self): "Test GitClient scan_for_server, .reviewboardrc case""" rc = open(os.path.join(self.clone_dir, '.reviewboardrc'), 'w') rc.write('REVIEWBOARD_URL = "%s"' % self.TESTSERVER) rc.close() self.client.user_config, configs = load_config_files(self.clone_dir) ri = self.client.get_repository_info() server = self.client.scan_for_server(ri) self.assertEqual(server, self.TESTSERVER)
def testScanForServerReviewboardrc(self): """Test MercurialClient (+svn) scan_for_server in .reviewboardrc""" rc_filename = os.path.join(self.clone_dir, '.reviewboardrc') rc = open(rc_filename, 'w') rc.write('REVIEWBOARD_URL = "%s"' % self.TESTSERVER) rc.close() self.client.user_config, configs = load_config_files(self.clone_dir) ri = self.client.get_repository_info() server = self.client.scan_for_server(ri) self.assertEqual(self.TESTSERVER, server)
def main(): origcwd = os.path.abspath(os.getcwd()) if 'APPDATA' in os.environ: homepath = os.environ['APPDATA'] elif 'HOME' in os.environ: homepath = os.environ["HOME"] else: homepath = '' # If we end up creating a cookie file, make sure it's only readable by the # user. os.umask(0077) # Load the config and cookie files cookie_file = os.path.join(homepath, ".post-review-cookies.txt") user_config, globals()['configs'] = load_config_files(homepath) args = parse_options(sys.argv[1:]) debug('RBTools %s' % get_version_string()) debug('Home = %s' % homepath) repository_info, tool = scan_usable_client(options) tool.user_config = user_config tool.configs = configs # Verify that options specific to an SCM Client have not been mis-used. tool.check_options() # Try to find a valid Review Board server to use. if options.server: server_url = options.server else: server_url = tool.scan_for_server(repository_info) if not server_url: print "Unable to find a Review Board server for this source code tree." sys.exit(1) server = ReviewBoardServer(server_url, repository_info, cookie_file) # Handle the case where /api/ requires authorization (RBCommons). if not server.check_api_version(): die("Unable to log in with the supplied username and password.") # Let's begin. server.login() tempt_fate(server)
def main(): origcwd = os.path.abspath(os.getcwd()) if 'APPDATA' in os.environ: homepath = os.environ['APPDATA'] elif 'HOME' in os.environ: homepath = os.environ["HOME"] else: homepath = '' # If we end up creating a cookie file, make sure it's only readable by the # user. os.umask(0077) # Load the config and cookie files cookie_file = os.path.join(homepath, ".post-review-cookies.txt") user_config, globals()['configs'] = load_config_files(homepath) args = parse_options(sys.argv[1:]) debug('RBTools %s' % get_version_string()) debug('Home = %s' % homepath) repository_info, tool = scan_usable_client(options) tool.user_config = user_config tool.configs = configs # Verify that options specific to an SCM Client have not been mis-used. tool.check_options() # Try to find a valid Review Board server to use. if options.server: server_url = options.server else: server_url = tool.scan_for_server(repository_info) if not server_url: print "Unable to find a Review Board server for this source code tree." sys.exit(1) server = ReviewBoardServer(server_url, repository_info, cookie_file) # Handle the case where /api/ requires authorization (RBCommons). if not server.check_api_version(): die("Unable to log in with the supplied username and password.") if repository_info.supports_changesets: changenum = tool.get_changenum(args) else: changenum = None if options.revision_range: diff, parent_diff = tool.diff_between_revisions(options.revision_range, args, repository_info) elif options.svn_changelist: diff, parent_diff = tool.diff_changelist(options.svn_changelist) elif options.diff_filename: parent_diff = None if options.diff_filename == '-': diff = sys.stdin.read() else: try: fp = open(os.path.join(origcwd, options.diff_filename), 'r') diff = fp.read() fp.close() except IOError, e: die("Unable to open diff filename: %s" % e)