Example #1
0
def fetch_problems_by_category():
    """Fetches problems from Codeforces API and perform category-wise count"""

    try:
        url = Urlbuilder(Codeforces.API_URL, PublicMethods.PROBLEM_SET)
        try:
            response = httprequest.send_get_request(url.get_url())
        except RequestFailureException as ex:
            raise ex
        else:
            json = response.json()
            if 'status' in json:
                if json['status'] == 'OK':
                    result = json['result']
                    problem_list = result['problems']
                    return problem_list
                else:
                    raise RequestFailureException('Request Failed: ' +
                                                  json['comment'])
            else:
                raise RequestFailureException(
                    'Request Failed: Invalid response')
    except RequestFailureException as ex:
        print ex.message
        sys.exit(1)
    def import_submissions(self):
        """Sends request at Codeforces.API_URL/user.status to fetch submission list and returns the response json """

        url = self.generate_url()
        try:
            response = httprequest.send_get_request(url);
        except RequestFailureException as ex:
            print ex.message
            sys.exit(1)
        else:
            if 'status' in response.json():
                # status == OK, if request succeeds
                if response.json()['status'] == 'OK':
                    print 'Connection Status: Successful'
                    return response.json()
                else:
                    if 'comment' in response.json():
                        # prints why request failed
                        raise RequestFailureException(response.json()['comment'])
                    else:
                        raise RequestFailureException('Request Failed')
            else:
                raise RequestFailureException('Request Failed')
def fetch_problems_by_category():
    """Fetches problems from Codeforces API and perform category-wise count"""

    try:
        url = Urlbuilder(Codeforces.API_URL, PublicMethods.PROBLEM_SET)
        try:
            response = httprequest.send_get_request(url.get_url())
        except RequestFailureException as ex:
            raise ex
        else:
            json = response.json()
            if 'status' in json:
                if json['status'] == 'OK':
                    result = json['result']
                    problem_list = result['problems']
                    return problem_list
                else:
                    raise RequestFailureException('Request Failed: ' + json['comment'])
            else:
                raise RequestFailureException('Request Failed: Invalid response')
    except RequestFailureException as ex:
        print ex.message
        sys.exit(1)