def lock_review(request): # unpack identity identity_name = request.POST.getone('identity_name') identity_email = request.POST.getone('identity_email') with repos.commit_lock: repo = repos.repo_from_request(request) index = repo.index # find and lock available review starting_point, lock_secret_or_message = repos.lock_available_review(repo, index) # if found, if starting_point is not None: # commit with identity os.environ['GIT_AUTHOR_NAME'] = identity_name os.environ['GIT_AUTHOR_EMAIL'] = identity_email index.commit('review: lock') # return review info and snippet texts review_text_1 = repos.snippet_text(repo, index, starting_point) review_text_2 = repos.snippet_text(repo, index, starting_point + _snippet_ms()) body = json.dumps({ 'lock_acquired': True, 'starting_point': starting_point, 'ending_point': starting_point + (_snippet_ms() * 2), 'lock_secret': lock_secret_or_message, 'review_text_1': review_text_1, 'review_text_2': review_text_2, }) return Response(body, content_type='application/json') else: # return message body = json.dumps({ 'lock_acquired': False, 'message': lock_secret_or_message, }) return Response(body, content_type='application/json')
def lock_review(request): # First make sure IP address is not banned. message = _banned_message(request) if message is not None: body = json.dumps({ 'lock_acquired': False, 'message': message, }) return Response(body, content_type='application_json') # unpack identity identity_name = request.POST.getone('identity_name') identity_email = request.POST.getone('identity_email') with repos.commit_lock: # Ignore commit; we want to save to master. repo, commit = repos.repo_from_request(request, rev='master') index = repo.index # find and lock available review starting_point, lock_secret_or_message = repos.lock_available_review(repo, index) # if found, if starting_point is not None: # commit with identity os.environ['GIT_AUTHOR_NAME'] = identity_name os.environ['GIT_AUTHOR_EMAIL'] = identity_email commit_message = 'review: %s, locked by %s' % (_label_from_ms(starting_point), identity_name) index.commit(commit_message) # return review info and snippet texts review_text_1 = repos.snippet_text(repo, index, starting_point) review_text_2 = repos.snippet_text(repo, index, starting_point + _snippet_ms()) body = json.dumps({ 'lock_acquired': True, 'starting_point': starting_point, 'ending_point': starting_point + (_snippet_ms() * 2), 'lock_secret': lock_secret_or_message, 'review_text_1': review_text_1, 'review_text_2': review_text_2, }) return Response(body, content_type='application/json') else: # return message body = json.dumps({ 'lock_acquired': False, 'message': lock_secret_or_message, }) return Response(body, content_type='application/json')
def lock_snippet(request): # First make sure IP address is not banned. message = _banned_message(request) if message is not None: body = json.dumps({ 'lock_acquired': False, 'message': message, }) return Response(body, content_type='application_json') # unpack identity identity_name = request.POST.getone('identity_name') identity_email = request.POST.getone('identity_email') # get snippet if specified desired_starting_point = request.POST.get('starting_point', None) if desired_starting_point is not None: desired_starting_point = int(desired_starting_point) with repos.commit_lock: repo, commit = repos.repo_from_request(request, rev='master') index = repo.index # find and lock available snippet starting_point, lock_secret_or_message = repos.lock_available_snippet(repo, index, desired_starting_point) # if found, if starting_point is not None: # commit with identity os.environ['GIT_AUTHOR_NAME'] = identity_name os.environ['GIT_AUTHOR_EMAIL'] = identity_email commit_message = 'snippet: %s, locked by %s' % (_label_from_ms(starting_point), identity_name) index.commit(commit_message) # return snippet info and text snippet_text = repos.snippet_text(repo, index, starting_point) body = json.dumps({ 'lock_acquired': True, 'starting_point': starting_point, 'ending_point': starting_point + _snippet_ms(), 'lock_secret': lock_secret_or_message, 'snippet_text': snippet_text, }) return Response(body, content_type='application/json') else: # return message body = json.dumps({ 'lock_acquired': False, 'message': lock_secret_or_message, }) return Response(body, content_type='application/json')