django-codenerix-email 4.0.32__py2.py3-none-any.whl → 4.0.34__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- __version__ = "4.0.32"
1
+ __version__ = "4.0.34"
2
2
 
3
3
  __authors__ = [
4
4
  "Juan Miguel Taboada Godoy <juanmi@juanmitaboada.com>",
@@ -57,7 +57,8 @@ class Command(BaseCommand):
57
57
 
58
58
  def handle(self, *args, **options):
59
59
  # Get configuration
60
- self.verbose = not options["silent"]
60
+ self.silent = options["silent"]
61
+ self.verbose = not self.silent
61
62
  self.imap_id = options.get("imap_id")
62
63
  self.message_id = options.get("message_id")
63
64
  self.tracking_id = options.get("tracking_id")
@@ -70,45 +71,52 @@ class Command(BaseCommand):
70
71
  self.style.SUCCESS("Starting IMAP email synchronization...")
71
72
  )
72
73
 
74
+ # Get configuration from settings
75
+ host = getattr(settings, "IMAP_EMAIL_HOST", None)
76
+ port = getattr(settings, "IMAP_EMAIL_PORT", 993)
77
+ user = getattr(settings, "IMAP_EMAIL_USER", None)
78
+ password = getattr(settings, "IMAP_EMAIL_PASSWORD", None)
79
+ ssl = getattr(settings, "IMAP_EMAIL_SSL", True)
80
+ folder = getattr(settings, "IMAP_EMAIL_INBOX_FOLDER", "INBOX")
81
+
73
82
  # Verify that IMAP settings are configured
74
- if settings.IMAP_EMAIL_HOST and settings.IMAP_EMAIL_PORT:
83
+ if host is not None and port:
84
+ # Validate configuration
85
+ if user is None or password is None:
86
+ if self.silent:
87
+ return
88
+ else:
89
+ raise CommandError(
90
+ "IMAP user or password not configured. Please set "
91
+ "IMAP_EMAIL_USER and IMAP_EMAIL_PASSWORD in settings."
92
+ )
93
+
75
94
  try:
76
95
  # Connect to the IMAP server
77
- server = IMAPClient(
78
- settings.IMAP_EMAIL_HOST,
79
- port=settings.IMAP_EMAIL_PORT,
80
- ssl=settings.IMAP_EMAIL_SSL,
81
- )
96
+ server = IMAPClient(host, port=port, ssl=ssl)
82
97
  except Exception as e:
83
98
  raise CommandError(
84
99
  f"Failed to connect to IMAP server ("
85
- f"host={settings.IMAP_EMAIL_HOST}, "
86
- f"port={settings.IMAP_EMAIL_PORT}, "
87
- f"ssl={settings.IMAP_EMAIL_SSL and 'yes' or 'no'}"
100
+ f"{host=}, "
101
+ f"{port=}, "
102
+ f"ssl={ssl and 'yes' or 'no'}"
88
103
  f"): {e}"
89
104
  ) from e
90
105
 
91
106
  try:
92
107
  # Login and select the inbox
93
108
  try:
94
- server.login(
95
- settings.IMAP_EMAIL_USER, settings.IMAP_EMAIL_PASSWORD
96
- )
109
+ server.login(user, password)
97
110
  except LoginError as e:
98
111
  raise CommandError(
99
- f"Failed to login to IMAP server with user "
100
- f"'{settings.IMAP_EMAIL_USER}': {e}"
112
+ f"Failed to login to IMAP server with {user=}: {e}"
101
113
  ) from e
102
114
 
103
- try:
104
- server.select_folder(
105
- settings.IMAP_EMAIL_INBOX_FOLDER, readonly=False
106
- )
107
- except imaplib.IMAP4.error:
108
- raise CommandError(
109
- f"Failed to select inbox folder "
110
- f"'{settings.IMAP_EMAIL_INBOX_FOLDER}'"
111
- )
115
+ if folder:
116
+ try:
117
+ server.select_folder(folder, readonly=False)
118
+ except imaplib.IMAP4.error:
119
+ raise CommandError(f"Failed to select inbox {folder=}")
112
120
 
113
121
  # Process emails
114
122
  (created_count, overwritten_count) = self.process(server)
@@ -139,7 +147,7 @@ class Command(BaseCommand):
139
147
  except Exception:
140
148
  pass
141
149
 
142
- else:
150
+ elif self.verbose:
143
151
  raise CommandError(
144
152
  "IMAP settings not configured. Please set IMAP_EMAIL_HOST "
145
153
  "and IMAP_EMAIL_PORT in settings."
codenerix_email/models.py CHANGED
@@ -265,7 +265,6 @@ class EmailMessage(CodenerixModel):
265
265
  headers_keys,
266
266
  )
267
267
 
268
- print(headers)
269
268
  # Return headers
270
269
  return headers
271
270
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-codenerix-email
3
- Version: 4.0.32
3
+ Version: 4.0.34
4
4
  Summary: Codenerix Email is a module that enables CODENERIX to set send emails in a general manner.
5
5
  Home-page: https://github.com/codenerix/django-codenerix-email
6
6
  Author: Juan Miguel Taboada Godoy <juanmi@juanmitaboada.com>, Juan Soler Ruiz <soleronline@gmail.com>
@@ -1,8 +1,8 @@
1
- codenerix_email/__init__.py,sha256=z9NFqBsfgbcKmJLOTie3Bg04NCTduGMK_kRPGm-2XYM,149
1
+ codenerix_email/__init__.py,sha256=HH59UAZLhBDP5AXqL4Aq8XjZWDrU2O9cXS0bWrI2FP4,149
2
2
  codenerix_email/admin.py,sha256=w259UKFk_opGEl6PJjYHXWAHQ_8emgqmiixKT5Rid4A,1180
3
3
  codenerix_email/apps.py,sha256=WXqu1XQibDDyCvvQYt2JbTK4GIpW8BNv5DCbRJS2mmk,149
4
4
  codenerix_email/forms.py,sha256=38byLGxg1MOLAY1kAYChxYZj64tSgyfRvDcSbIOdV0I,5521
5
- codenerix_email/models.py,sha256=zLJRm_lM6VV7eo8SBZ2rfHI3tnhNkKaogdEHBaz_ZYI,25731
5
+ codenerix_email/models.py,sha256=Yl_TyYe4PLSVYr3_3GW6JbdhItZRbiSXPhHW5ZSH06Q,25708
6
6
  codenerix_email/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  codenerix_email/test_settings.py,sha256=A9WT-2MMuqvW5Mrd3lkmjrf0xJZmJl3McOEeyJug1Xc,633
8
8
  codenerix_email/urls.py,sha256=M760qDSVV3EoY9aIPdnk8DtUv5tyWO-FQWdody4KTeM,3996
@@ -827,8 +827,8 @@ codenerix_email/.mypy_cache/3.10/zoneinfo/_common.data.json,sha256=e4xbNKL_yQ5h5
827
827
  codenerix_email/.mypy_cache/3.10/zoneinfo/_common.meta.json,sha256=5K19XWobpSjKwiv7bZFZRcxsEfoh7b-FhYcmqB-2Iic,1737
828
828
  codenerix_email/.mypy_cache/3.10/zoneinfo/_tzpath.data.json,sha256=CFx7Q1XfUhhuNX69prkxyirG8rfvEDCNgEHWQigKC_A,5632
829
829
  codenerix_email/.mypy_cache/3.10/zoneinfo/_tzpath.meta.json,sha256=d1HJ_xFBI1orlZSVhH0gHWLI-dJG3zY-ZOlctOl62yU,1765
830
- codenerix_email/__pycache__/__init__.cpython-310.pyc,sha256=4Wfu3OPrtZL9KkiDuxn4RIFgwhgX1EmlADVyvq9Yuis,313
831
- codenerix_email/__pycache__/__init__.cpython-311.pyc,sha256=iUtdykFr4peG8K_L1soz0F66KIqGCi8AmrbCw-GF3F4,337
830
+ codenerix_email/__pycache__/__init__.cpython-310.pyc,sha256=k1lbJmd6AzPiOFX5CRq4PIwZW8vbA-YZBbSFW9LT9ZI,313
831
+ codenerix_email/__pycache__/__init__.cpython-311.pyc,sha256=AOATmmotNvoV4tjzklJFH1L5O36W1TIZp-vuczwanmA,337
832
832
  codenerix_email/__pycache__/__init__.cpython-35.pyc,sha256=dl9lYAgrokJptUj3JAhiqTlX7d_CbncOxZeTc1USc88,308
833
833
  codenerix_email/__pycache__/__init__.cpython-37.pyc,sha256=5d1CeFU5DrfnwrRpvSw1bHvLN9hoHXjUA3ln3rXCDo8,306
834
834
  codenerix_email/__pycache__/__init__.cpython-39.pyc,sha256=0c6KWU_eOTlF5l9fNWv8l41b0LcfVQNUsqDvJTv2YyU,300
@@ -867,7 +867,7 @@ codenerix_email/management/__pycache__/__init__.cpython-311.pyc,sha256=OtPcxwWjt
867
867
  codenerix_email/management/__pycache__/__init__.cpython-35.pyc,sha256=sBoEWs6zdI0al-7t1deW9SE_Ln2RNDl2LyIiOO9gfRA,160
868
868
  codenerix_email/management/__pycache__/__init__.cpython-39.pyc,sha256=uPXklfliVd3b8pLOJQT9ZeKcqmJMrGychvt68BsPulY,168
869
869
  codenerix_email/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
870
- codenerix_email/management/commands/recv_emails.py,sha256=MzCmos2cC6j3w1o7o0_ZIKRUDF5ehDFSlVY2oomv5h8,24568
870
+ codenerix_email/management/commands/recv_emails.py,sha256=RsUfv5s0XMReQ1Y0LjfLp-LJ4F7nFX2z_T1-QAAWcYY,24897
871
871
  codenerix_email/management/commands/send_emails.py,sha256=hotzGEkuDILwKgZgHFOaSCeAZDIyoPcM7VDs3Z-5Vvg,7950
872
872
  codenerix_email/management/commands/test_email.py,sha256=1WtVkSuq9Doy8W2uyCTevdSrVrAdztvwWjcNJhCsIlE,5612
873
873
  codenerix_email/management/commands/.mypy_cache/.gitignore,sha256=amnaZw0RUw038PDP3HvtMLeOpkNOJPenMgi5guKdMiw,34
@@ -1610,6 +1610,7 @@ codenerix_email/management/commands/.mypy_cache/3.10/zoneinfo/_tzpath.meta.json,
1610
1610
  codenerix_email/management/commands/__pycache__/__init__.cpython-310.pyc,sha256=3-VfdLuaiBIg4KTIy7GETYTt2-AbfCU0vlH6fFZx7_M,189
1611
1611
  codenerix_email/management/commands/__pycache__/__init__.cpython-311.pyc,sha256=yiqmtIhQMYXWx7g7XT-mvQNgGu_X2ymasWvVxIqPsBE,211
1612
1612
  codenerix_email/management/commands/__pycache__/recv_emails.cpython-310.pyc,sha256=qzj8puxw6pRAz_ptltybySs2mybOwdoZ8LB7Fw8YMGc,9897
1613
+ codenerix_email/management/commands/__pycache__/recv_emails.cpython-311.pyc,sha256=LBMH_iYJ9A60KPpUpDzfW_RZgRRdm-aklGpdDPp36TI,20952
1613
1614
  codenerix_email/management/commands/__pycache__/send_emails.cpython-311.pyc,sha256=xh2ontFVtLWHZOoVf1YJrNbBNPtIyV2KQEk5Bf6mY_c,6884
1614
1615
  codenerix_email/management/commands/__pycache__/test_email.cpython-310.pyc,sha256=5X7qBWFWs7AsNgTo1DyQE0zi5gtLxiFIcwdnboZIUSg,3154
1615
1616
  codenerix_email/migrations/0001_initial.py,sha256=bu1RU_FLeGKBjAXvOPHLUj2Ej9Ibns9PvE1CTVJf6qU,5816
@@ -1679,8 +1680,8 @@ codenerix_email/migrations/__pycache__/__init__.cpython-35.pyc,sha256=2g70xiMW6o
1679
1680
  codenerix_email/migrations/__pycache__/__init__.cpython-39.pyc,sha256=qNj2NH0YvoWPnCKxkVZPsEFsbM05y7t1njMskNISdVQ,168
1680
1681
  codenerix_email/static/codenerix_email/emailmessages_rows.html,sha256=NyZpKPSHAAIywJX2ncS0H2bkqOVtMUwAdbYmkC4dKmk,2202
1681
1682
  codenerix_email/static/codenerix_email/emailreceiveds_rows.html,sha256=k7-Qe7Y9mrKRJXl69aVe5hHUvGdyrLbMoh9gkpyCG2U,1976
1682
- django_codenerix_email-4.0.32.dist-info/LICENSE,sha256=IXMIpi75XsrJt1Sznt4EftT9c_4X0C9eqK4tHhH8H48,11339
1683
- django_codenerix_email-4.0.32.dist-info/METADATA,sha256=JafJkTP4iapOSMtrVRBgWiB7EhMbAfcw48z3JGNFhcA,2676
1684
- django_codenerix_email-4.0.32.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
1685
- django_codenerix_email-4.0.32.dist-info/top_level.txt,sha256=lljSA0iKE_UBEM5gIrGQwioC_i8Jjnp-aR1LFElENgw,16
1686
- django_codenerix_email-4.0.32.dist-info/RECORD,,
1683
+ django_codenerix_email-4.0.34.dist-info/LICENSE,sha256=IXMIpi75XsrJt1Sznt4EftT9c_4X0C9eqK4tHhH8H48,11339
1684
+ django_codenerix_email-4.0.34.dist-info/METADATA,sha256=G8OP3M3XLLHfmF6teKzcW_ITufCtR9SnPWmfOgIzjcM,2676
1685
+ django_codenerix_email-4.0.34.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
1686
+ django_codenerix_email-4.0.34.dist-info/top_level.txt,sha256=lljSA0iKE_UBEM5gIrGQwioC_i8Jjnp-aR1LFElENgw,16
1687
+ django_codenerix_email-4.0.34.dist-info/RECORD,,