src/eric7/EricNetwork/EricGoogleMailHelpers.py

Thu, 26 Sep 2024 15:49:36 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 26 Sep 2024 15:49:36 +0200
branch
eric7
changeset 10928
46651e194fbe
parent 10926
9ef616cd220d
child 11090
f5f5f5803935
permissions
-rw-r--r--

Refactored some packages, modules and code to allow extracting the 'EricXxx' packages into a library project.

# -*- coding: utf-8 -*-

# Copyright (c) 2019 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
#

"""
Module implementing some helpers for Google mail.
"""

import contextlib
import os

SCOPES = ["https://www.googleapis.com/auth/gmail.send"]
CLIENT_SECRET_FILE = "eric_client_secret.json"  # secok
TOKEN_FILE = "eric_python_email_send_token.json"  # secok
APPLICATION_NAME = "Eric Python Send Email"

RequiredPackages = (
    "google-api-python-client",
    "google-auth-httplib2",
    "google-auth-oauthlib",
)


def isClientSecretFileAvailable():
    """
    Module function to check, if the client secret file has been installed.

    @return flag indicating, that the credentials file is there
    @rtype bool
    """
    from eric7 import EricUtilities

    return os.path.exists(
        os.path.join(EricUtilities.getConfigDir(), CLIENT_SECRET_FILE)
    )


def installGoogleAPIPackages():
    """
    Module function to install the required packages to support Google mail.
    """
    with contextlib.suppress(ImportError, KeyError):
        from eric7.EricWidgets.EricApplication import ericApp  # noqa: I101
        from eric7.SystemUtilities import PythonUtilities  # noqa: I101

        pip = ericApp().getObject("Pip")
        pip.installPackages(
            RequiredPackages, interpreter=PythonUtilities.getPythonExecutable()
        )


#
# eflag: noqa = U200

eric ide

mercurial