Example #1
0
def main(args: Optional[List[str]] = None) -> None:
    log.addHandler(log.logging.StreamHandler(sys.stderr))
    log.setLevel(log.logging.INFO)
    version_check()
    parser = get_parser()
    namespace = parser.parse_args(args=args)
    try:
        run_program(namespace, parser=parser)
    except NotImplementedError as e:
        log.debug('\n' + traceback.format_exc())
        log.error('NotImplementedError')
        log.info(
            'The operation you specified is not supported yet. Pull requests are welcome.'
        )
        log.info(
            'see: https://github.com/kmyk/online-judge-tools/blob/master/CONTRIBUTING.md'
        )
    except onlinejudge.type.NotLoggedInError:
        log.error('login required')
        sys.exit(1)
    except requests.exceptions.HTTPError as e:
        log.error(str(e))
        log.debug(traceback.format_exc())
        sys.exit(1)
    except requests.exceptions.InvalidURL as e:
        log.error(str(e))
        sys.exit(1)
    except onlinejudge.type.SampleParseError:
        log.error('Failed to parse sample.')
        sys.exit(1)
    except FileExistsError as e:
        log.error(str(e))
        sys.exit(1)
    def setUpClass(cls):
        cwd = os.getcwd()
        cls.ojtools = os.path.join(cwd, 'oj')

        # loggin
        log_level = log.logging.INFO
        log.setLevel(log_level)
        handler = log.logging.StreamHandler(sys.stdout)
        handler.setLevel(log_level)
        log.addHandler(handler)
Example #3
0
def main(args: Optional[List[str]] = None) -> None:
    log.addHandler(log.logging.StreamHandler(sys.stderr))
    log.setLevel(log.logging.INFO)
    version_check()
    parser = get_parser()
    namespace = parser.parse_args(args=args)
    try:
        run_program(namespace, parser=parser)
    except NotImplementedError as e:
        log.debug('\n' + traceback.format_exc())
        log.error('NotImplementedError')
        log.info('The operation you specified is not supported yet. Pull requests are welcome.')
        log.info('see: https://github.com/kmyk/online-judge-tools/blob/master/CONTRIBUTING.md')