views.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:repo-classifier 作者: linkvt 项目源码 文件源码
def index(request: HttpRequest) -> HttpResponse:
    uploaded_file = request.FILES.get('file')
    url = request.POST['repo-url'] if 'repo-url' in request.POST else None
    mode = request.POST['mode'] if 'mode' in request.POST else None
    if mode and uploaded_file:
        data = uploaded_file.read()
        text = data.decode(uploaded_file.charset or 'utf-8')
    else:
        text = None

    output_lines = ''
    reports = None
    validation_output = None
    probabilities = []

    try:
        if mode == 'train':
            output_lines, reports = classifier.train(text) if text else ([], None)
        elif mode == 'classify':
            output_lines = classifier.classify(text) if text else None
        elif mode == 'classify-single-repo':
            probabilities = classifier.classify_single_repo(url.rstrip('/')) if url else []
        elif mode == 'validate':
            validation_output = classifier.validate(text) if text else None
    except RateLimitExceededException:
        output_lines = 'The available request limit was exceeded for the Github API please wait until refresh.'

    context = {
        'output': output_lines,
        'validation_output': validation_output,
        'single_repository': url,
        'probabilities': probabilities,
        'reports': reports,
    }

    return render(request, 'classification/index.html', context)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号