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.

6829
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
10439
21c28b0f9e41 Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10065
diff changeset
3 # Copyright (c) 2019 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
6829
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing some helpers for Google mail.
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
10928
46651e194fbe Refactored some packages, modules and code to allow extracting the 'EricXxx' packages into a library project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10926
diff changeset
10 import contextlib
6829
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import os
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
9427
905e7af29101 Gmail Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
13 SCOPES = ["https://www.googleapis.com/auth/gmail.send"]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
14 CLIENT_SECRET_FILE = "eric_client_secret.json" # secok
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
15 TOKEN_FILE = "eric_python_email_send_token.json" # secok
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
16 APPLICATION_NAME = "Eric Python Send Email"
6829
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 RequiredPackages = (
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 "google-api-python-client",
9427
905e7af29101 Gmail Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
20 "google-auth-httplib2",
905e7af29101 Gmail Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
21 "google-auth-oauthlib",
6829
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 )
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 def isClientSecretFileAvailable():
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 """
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 Module function to check, if the client secret file has been installed.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
28
6829
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 @return flag indicating, that the credentials file is there
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 @rtype bool
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 """
10928
46651e194fbe Refactored some packages, modules and code to allow extracting the 'EricXxx' packages into a library project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10926
diff changeset
32 from eric7 import EricUtilities
46651e194fbe Refactored some packages, modules and code to allow extracting the 'EricXxx' packages into a library project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10926
diff changeset
33
10926
9ef616cd220d Moved some functions from 'Globals' to 'EricUtilities'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
34 return os.path.exists(
9ef616cd220d Moved some functions from 'Globals' to 'EricUtilities'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
35 os.path.join(EricUtilities.getConfigDir(), CLIENT_SECRET_FILE)
9ef616cd220d Moved some functions from 'Globals' to 'EricUtilities'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
36 )
6829
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38
9427
905e7af29101 Gmail Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
39 def installGoogleAPIPackages():
6829
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 """
9427
905e7af29101 Gmail Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
41 Module function to install the required packages to support Google mail.
6829
3a6133fe99a8 Google Mail: added the forgotten files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 """
10928
46651e194fbe Refactored some packages, modules and code to allow extracting the 'EricXxx' packages into a library project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10926
diff changeset
43 with contextlib.suppress(ImportError, KeyError):
46651e194fbe Refactored some packages, modules and code to allow extracting the 'EricXxx' packages into a library project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10926
diff changeset
44 from eric7.EricWidgets.EricApplication import ericApp # noqa: I101
46651e194fbe Refactored some packages, modules and code to allow extracting the 'EricXxx' packages into a library project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10926
diff changeset
45 from eric7.SystemUtilities import PythonUtilities # noqa: I101
46651e194fbe Refactored some packages, modules and code to allow extracting the 'EricXxx' packages into a library project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10926
diff changeset
46
46651e194fbe Refactored some packages, modules and code to allow extracting the 'EricXxx' packages into a library project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10926
diff changeset
47 pip = ericApp().getObject("Pip")
46651e194fbe Refactored some packages, modules and code to allow extracting the 'EricXxx' packages into a library project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10926
diff changeset
48 pip.installPackages(
46651e194fbe Refactored some packages, modules and code to allow extracting the 'EricXxx' packages into a library project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10926
diff changeset
49 RequiredPackages, interpreter=PythonUtilities.getPythonExecutable()
46651e194fbe Refactored some packages, modules and code to allow extracting the 'EricXxx' packages into a library project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10926
diff changeset
50 )
10060
b946699e9e79 Corrected some issues related to unused global variables.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
51
10065
de4ae767b0e3 Corrected and checked some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10060
diff changeset
52
10060
b946699e9e79 Corrected some issues related to unused global variables.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
53 #
b946699e9e79 Corrected some issues related to unused global variables.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
54 # eflag: noqa = U200

eric ide

mercurial