def main(): valid = False if len(sys.argv) > 1: settings = Settings(config_file='rb_scripts.dat') cookie = settings.get_cookie_file() server_url = settings.get_server_url() resource_id = sys.argv[1] if resource_id.isdigit(): valid = True server = ServerInterface(server_url, cookie) root = RootResource(server, server_url + 'api/') review_requests = root.get('review_requests') review_request = review_requests.get(resource_id) review_request_draft = \ ReviewRequestDraft(review_request.get_or_create('draft')) review_request_draft.publish() if not valid: print "usage: rb publish <review_request_id>"
def main(): valid = True if len(sys.argv) > 0: settings = Settings(config_file='rb_scripts.dat') cookie = settings.get_cookie_file() server_url = settings.get_server_url() client = get_client(server_url) server_repo = client.get_info() diff, parent_diff = client.diff(None) diff_file = open('diff', 'w') diff_file.write(diff) diff_file.close() diff_data = { 'filename': 'diff', 'content': diff } parent_diff_data = None if parent_diff: parent_diff_data = {} parent_diff_file = open('parent_diff', 'w') parent_diff_file.write(parent_diff) parent_diff_file.close() parent_diff_path['filename'] = 'parent_diff' parent_diff_path['content'] = parent_diff server = ServerInterface(server_url, cookie) root = RootResource(server, server_url + 'api/') repositories = RepositoryList(root.get('repositories')) repo_id = repositories.get_repository_id(server_repo.path) if repo_id: try: review_requests = root.get('review_requests') review_request = review_requests.create() review_request.update_field('submit_as', settings.get_setting('user_name')) review_request.update_field('repository', str(repo_id)) review_request.save() diffs = review_request.get_or_create('diffs') resource_diff = diffs.create() resource_diff.update_file('path', diff_data) if server_repo.base_path: resource_diff.update_field('basedir', server_repo.base_path) if parent_diff_data: diff.update_file('parent_diff_path', parent_diff_data) resource_diff.save() review_request_draft = ReviewRequestDraft( review_request.get_or_create('draft')) review_request_draft.publish() print "Review request created at: %s\n" % review_request.url print "To view the review request in a browser go to: " \ "%sr/%s/" % (server_url, review_request.get_field('id')) except Error, e: raise e else: print "The repository could not be found on the server."
def main(): valid = False if len(sys.argv) > 2: settings = Settings(config_file='rb_scripts.dat') cookie = settings.get_cookie_file() server_url = settings.get_server_url() resource_id = sys.argv[2] if resource_id.isdigit(): split = re.split(':', sys.argv[1]) file_type = split[0] file_name = split[1] if file_type and file_name: if file_type == SCREENSHOT_OPTION \ or file_type == DIFF_OPTION: valid = True server = ServerInterface(server_url, cookie) root = RootResource(server, server_url + 'api/') review_requests = root.get('review_requests') review_request = review_requests.get(resource_id) m = re.match(SCREENSHOT_OPTION, file_type) try: if m: # Screenshot ss_file = open('%s' % file_name, 'r') ss_data = { 'filename': os.path.split(file_name)[1], 'content': ss_file.read() } sss = review_request.get_or_create('screenshots') ss = sss.create() ss.update_file('path', ss_data) if len(sys.argv) > 3: i = 3 while i < len(sys.argv): split = re.split(':', sys.argv[i]) ss.update_field(split[0], split[1]) i = i + 1 ss.save() else: # Diff diff_file = open(file_name, 'r') diff_data = { 'filename': file_name, 'content': diff_file.read() } diff_file.close() diffs = review_request.get_or_create('diffs') resource_diff = diffs.create() resource_diff.update_file('path', diff_data) resource_diff.save() review_request_draft = \ ReviewRequestDraft( review_request.get_or_create('draft')) review_request_draft.publish() print "Request complete. See: %s" % review_request.url except urllib2.HTTPError, e: if e.code == 500: print "There was an internal server error." print "Please try your request again." else: print "The request failed." print e.read() raise e