def aggregate_repo(repo, args, sem, err_queue):
    """Aggregate one repo according to the args.

    Args:
         repo (Repo): The repository to aggregate.
         args (argparse.Namespace): CLI arguments.
    """
    try:
        logger.debug('%s' % repo)
        dirmatch = args.dirmatch
        if not match_dir(repo.cwd, dirmatch):
            logger.info("Skip %s", repo.cwd)
            return
        if args.command == 'aggregate':
            repo.aggregate()
            if args.do_push:
                repo.push()
        elif args.command == 'show-closed-prs':
            repo.show_closed_prs()
        elif args.command == 'show-all-prs':
            repo.show_all_prs()
    except Exception:
        err_queue.put_nowait(sys.exc_info())
    finally:
        sem.release()
def aggregate_repo ( repo , args , sem , err_queue ) : try : logger . debug ( '%s' % repo ) dirmatch = args . dirmatch if not match_dir ( repo . cwd , dirmatch ) : logger . info ( "Skip %s" , repo . cwd ) return if args . command == 'aggregate' : repo . aggregate ( ) if args . do_push : repo . push ( ) elif args . command == 'show-closed-prs' : repo . show_closed_prs ( ) elif args . command == 'show-all-prs' : repo . show_all_prs ( ) except Exception : err_queue . put_nowait ( sys . exc_info ( ) ) finally : sem . release ( )
Aggregate one repo according to the args.

    Args:
         repo (Repo): The repository to aggregate.
         args (argparse.Namespace): CLI arguments.