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)
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
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
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