示例#1
0
文件: main.py 项目: zabaweb/lime-comb
def parse_common(parser, args):
    logger.setLevel(args.log_lvl)
    logger.info(f"log lvl {logger.getEffectiveLevel()}")
    if args.version:
        print(f"version: {lime_comb.__version__}")
        sys.exit(0)
    elif not args.top_command:
        parser.print_help()
        sys.exit(0)
示例#2
0
文件: main.py 项目: n0npax/lime-comb
def get_recipients(args):
    if not getattr(args, "recipients", None):
        logger.info("No recipients. Asking user to type in")
        args.recipients = input("please specify recipients(space separated)\n").split()
        for email in args.recipients:
            try:
                lc_validate_email(email)
            except Exception as e:
                logger.critical(e)
                sys.exit(1)
    return args.recipients
示例#3
0
 def oauth_gcp_conf(self):
     path = self.oauth_client_config
     if not path.exists():
         try:
             logger.info(f"fetching {self.client_lime_comb_url}")
             response = requests.get(self.client_lime_comb_url)
             response.raise_for_status()
             with open(str(path), "w") as f:
                 f.write(response.content.decode("utf-8"))
         except Exception as e:
             logger.error(
                 f"Error {e} during fetching client-lime-comb.json")
     return path
示例#4
0
def get_cred(conf: str) -> google.oauth2.credentials.Credentials:
    try:
        creds = read_creds()
    except Exception as e:
        logger.warning(e)
        creds = None
    if creds and creds.expired and creds.refresh_token:
        try:
            # TODO fix scopes
            creds.refresh(Request())
            logger.info("refreshing creds")
        except Exception as e:
            logger.warning(e)
    if creds and not creds.expired:
        yield creds
    else:
        logger.warning(f"Error, fallback to fresh login")
        cred = web_login(conf)
        save_creds(cred)
        yield cred