예제 #1
0
파일: gist.py 프로젝트: 000fan000/code
def make_page_args(request, name, ext=''):
    page = request.get_form_var('page', 1)
    start = 5 * (int(page) - 1)
    link_prev = _make_links(name, int(page) - 1, ext=ext)
    link_next = _make_links(name, int(page) + 1, ext=ext)
    sort = request.get_form_var('sort', 'created')
    direction = request.get_form_var('direction', 'desc')
    return (page, start, link_prev, link_next, sort, direction)
예제 #2
0
def make_page_args(request, name, ext=''):
    page = request.get_form_var('page', 1)
    start = 5 * (int(page) - 1)
    link_prev = _make_links(name, int(page) - 1, ext=ext)
    link_next = _make_links(name, int(page) + 1, ext=ext)
    sort = request.get_form_var('sort', 'created')
    direction = request.get_form_var('direction', 'desc')
    return (page, start, link_prev, link_next, sort, direction)
예제 #3
0
파일: utils.py 프로젝트: jackfrued/code-1
 def _(*args, **kwargs):
     try:
         req.page = int(req.get_form_var('page'))
     except TypeError:
         req.page = 0
     try:
         req.count = int(req.get_form_var('count'))
     except TypeError:
         req.count = API_RESULT_DEFAULT_PER_PAGE
     return func(*args, **kwargs)
예제 #4
0
파일: utils.py 프로젝트: leeccong/code
 def _(*args, **kwargs):
     try:
         req.page = int(req.get_form_var("page"))
     except TypeError:
         req.page = 0
     try:
         req.count = int(req.get_form_var("count"))
     except TypeError:
         req.count = API_RESULT_DEFAULT_PER_PAGE
     return func(*args, **kwargs)
예제 #5
0
 def revisions(self, request):
     user = request.user
     gist = self.gist
     page = int(request.get_form_var('page', 1))
     skip = 3 * (page - 1)
     revlist = gist.get_revlist_with_renames(max_count=3, skip=skip)
     link_prev = _make_links(self.id, int(page) - 1, ext="revisions")
     if revlist:
         link_next = _make_links(self.id, int(page) + 1, ext="revisions")
     else:
         link_next = ''
     content = []
     for r in revlist:
         # FIXME: try-except ?
         content.append(gist.repo.get_diff(r.sha, rename_detection=True))
     tdt = {
         'request': request,
         'gist': gist,
         'content': content,
         'revlist': revlist,
         'link_prev': link_prev,
         'link_next': link_next,
         'user': user,
         'current_user': user,
     }
     return st('/gist/gist_revisions.html', **tdt)
예제 #6
0
파일: gist.py 프로젝트: 000fan000/code
 def revisions(self, request):
     user = request.user
     gist = self.gist
     page = int(request.get_form_var('page', 1))
     skip = 3 * (page - 1)
     revlist = gist.get_revlist_with_renames(max_count=3, skip=skip)
     link_prev = _make_links(self.id, int(page) - 1, ext="revisions")
     if revlist:
         link_next = _make_links(self.id, int(page) + 1, ext="revisions")
     else:
         link_next = ''
     content = []
     for r in revlist:
         # FIXME: try-except ?
         content.append(gist.repo.get_diff(r.sha, rename_detection=True))
     tdt = {
         'request': request,
         'gist': gist,
         'content': content,
         'revlist': revlist,
         'link_prev': link_prev,
         'link_next': link_next,
         'user': user,
         'current_user': user,
     }
     return st('/gist/gist_revisions.html', **tdt)
예제 #7
0
파일: oauth.py 프로젝트: 000fan000/code
def authorize(request):
    client_id = __check_request_required_var('client_id')
    redirect_uri = __check_request_required_var('redirect_uri')
    response_type = __check_request_required_var('response_type')
    refuse = request.get_form_var('refuse')
    state = request.get_form_var('state', '')
    cid = request.get_form_var('cid', '')

    connector = '?' if redirect_uri.find('?') == -1 else '&'

    if refuse:
        return request.redirect("%s%serror=access_denied" % (redirect_uri,
                                                             connector))

    if not request.user:
        return __login_authorize(request, client_id, redirect_uri,
                                 response_type, state)

    apikey = ApiKey.get_by_client_id(client_id)

    if not apikey:
        raise InvalidRequest(err.invalid_apikey, ext=client_id)

    if apikey.status == ApiKey.STATUS_BLOCKED:
        raise InvalidRequest(err.apikey_blocked, ext=client_id)

    if apikey.status != ApiKey.STATUS_DEV:
        if apikey.redirect_uri != redirect_uri:
            raise InvalidRequest(err.redirect_uri_mismatch, ext=redirect_uri)

    user_id = request.user.username
    if request.method == 'POST' and OAuthConfirm.confirm(user_id, cid):
        code = OAuthCode(apikey.client_id, user_id).code
        params = dict(code=code, state=state)
        return request.redirect("%s%s%s" % (redirect_uri,
                                            connector,
                                            urllib.urlencode(params)))

    cid = OAuthConfirm(user_id).cid
    return st('/oauth_confirm.html', **dict(request=request,
                                            cid=cid,
                                            apikey=apikey))
예제 #8
0
 def _q_lookup(self, request, comment_id):
     if request.method == 'POST':
         act = request.get_form_var('act', None)
         if act and act in ('delete', 'update'):
             comment = GistComment.get(comment_id)
             if act == 'delete' and comment:
                 if comment.can_delete(request.user.username):
                     comment.delete()
                     return json.dumps({'r': 1})
                 raise TraversalError("Unable to delete comment %s" %
                                      comment_id)
     return request.redirect(self.gist.url)
예제 #9
0
파일: gist.py 프로젝트: 000fan000/code
 def _q_lookup(self, request, comment_id):
     if request.method == 'POST':
         act = request.get_form_var('act', None)
         if act and act in ('delete', 'update'):
             comment = GistComment.get(comment_id)
             if act == 'delete' and comment:
                 if comment.can_delete(request.user.username):
                     comment.delete()
                     return json.dumps({'r': 1})
                 raise TraversalError(
                     "Unable to delete comment %s" % comment_id)
     return request.redirect(self.gist.url)
예제 #10
0
def authorize(request):
    client_id = __check_request_required_var('client_id')
    redirect_uri = __check_request_required_var('redirect_uri')
    response_type = __check_request_required_var('response_type')
    refuse = request.get_form_var('refuse')
    state = request.get_form_var('state', '')
    cid = request.get_form_var('cid', '')

    connector = '?' if redirect_uri.find('?') == -1 else '&'

    if refuse:
        return request.redirect("%s%serror=access_denied" %
                                (redirect_uri, connector))

    if not request.user:
        return __login_authorize(request, client_id, redirect_uri,
                                 response_type, state)

    apikey = ApiKey.get_by_client_id(client_id)

    if not apikey:
        raise InvalidRequest(err.invalid_apikey, ext=client_id)

    if apikey.status == ApiKey.STATUS_BLOCKED:
        raise InvalidRequest(err.apikey_blocked, ext=client_id)

    if apikey.status != ApiKey.STATUS_DEV:
        if apikey.redirect_uri != redirect_uri:
            raise InvalidRequest(err.redirect_uri_mismatch, ext=redirect_uri)

    user_id = request.user.username
    if request.method == 'POST' and OAuthConfirm.confirm(user_id, cid):
        code = OAuthCode(apikey.client_id, user_id).code
        params = dict(code=code, state=state)
        return request.redirect(
            "%s%s%s" % (redirect_uri, connector, urllib.urlencode(params)))

    cid = OAuthConfirm(user_id).cid
    return st('/oauth_confirm.html',
              **dict(request=request, cid=cid, apikey=apikey))
예제 #11
0
def preview(request):
    return render_markdown(request.get_form_var('text',
                                                '').decode('utf-8')).encode(
                                                    'utf-8')  # noqa
예제 #12
0
파일: __init__.py 프로젝트: 000fan000/code
def preview(request):
    return render_markdown(request.get_form_var('text', '').decode('utf-8')).encode('utf-8')  # noqa
예제 #13
0
 def _q_index(self, request):
     if request.method == 'POST':
         content = request.get_form_var('content', '')
         if content:
             GistComment.add(self.gist.id, request.user.username, content)
     return request.redirect(self.gist.url)
예제 #14
0
파일: oauth.py 프로젝트: 000fan000/code
def __check_request_required_var(name):
    ret = request.get_form_var(name)
    if ret:
        return ret
    raise InvalidRequest(err.required_parameter_is_missing, ext=name)
예제 #15
0
def __check_request_required_var(name):
    ret = request.get_form_var(name)
    if ret:
        return ret
    raise InvalidRequest(err.required_parameter_is_missing, ext=name)
예제 #16
0
파일: gist.py 프로젝트: 000fan000/code
 def _q_index(self, request):
     if request.method == 'POST':
         content = request.get_form_var('content', '')
         if content:
             GistComment.add(self.gist.id, request.user.username, content)
     return request.redirect(self.gist.url)