myl 0.8.11__tar.gz → 0.8.13__tar.gz

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,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: myl
3
- Version: 0.8.11
3
+ Version: 0.8.13
4
4
  Summary: Dead simple IMAP CLI client
5
5
  Author-email: Philipp Schmitt <philipp@schmitt.co>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -688,7 +688,7 @@ Requires-Python: >=3.8
688
688
  Description-Content-Type: text/markdown
689
689
  License-File: LICENSE
690
690
  Requires-Dist: imap-tools<2.0.0,>=1.5.0
691
- Requires-Dist: myl-discovery>=0.6.0
691
+ Requires-Dist: myl-discovery>=0.6.1
692
692
  Requires-Dist: rich<14.0.0,>=13.0.0
693
693
  Requires-Dist: html2text>=2024.2.26
694
694
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: myl
3
- Version: 0.8.11
3
+ Version: 0.8.13
4
4
  Summary: Dead simple IMAP CLI client
5
5
  Author-email: Philipp Schmitt <philipp@schmitt.co>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -688,7 +688,7 @@ Requires-Python: >=3.8
688
688
  Description-Content-Type: text/markdown
689
689
  License-File: LICENSE
690
690
  Requires-Dist: imap-tools<2.0.0,>=1.5.0
691
- Requires-Dist: myl-discovery>=0.6.0
691
+ Requires-Dist: myl-discovery>=0.6.1
692
692
  Requires-Dist: rich<14.0.0,>=13.0.0
693
693
  Requires-Dist: html2text>=2024.2.26
694
694
 
@@ -1,4 +1,4 @@
1
1
  imap-tools<2.0.0,>=1.5.0
2
- myl-discovery>=0.6.0
2
+ myl-discovery>=0.6.1
3
3
  rich<14.0.0,>=13.0.0
4
4
  html2text>=2024.2.26
@@ -73,8 +73,12 @@ def parse_args():
73
73
  parser.add_argument(
74
74
  "-u", "--username", help="IMAP username", required=True
75
75
  )
76
- parser.add_argument(
77
- "-p", "--password", help="IMAP password", required=True
76
+ password_group = parser.add_mutually_exclusive_group(required=True)
77
+ password_group.add_argument("-p", "--password", help="IMAP password")
78
+ password_group.add_argument(
79
+ "--password-file",
80
+ help="IMAP password (file path)",
81
+ type=argparse.FileType("r"),
78
82
  )
79
83
  parser.add_argument(
80
84
  "-t", "--no-title", help="Do not show title", action="store_true"
@@ -119,6 +123,10 @@ def main():
119
123
  )
120
124
  LOGGER.debug(args)
121
125
 
126
+ imap_password = args.password or (
127
+ args.password_file and args.password_file.read()
128
+ )
129
+
122
130
  if args.google:
123
131
  args.server = GMAIL_IMAP_SERVER
124
132
  args.port = GMAIL_IMAP_PORT
@@ -132,7 +140,9 @@ def main():
132
140
  if args.auto:
133
141
  try:
134
142
  settings = autodiscover(
135
- args.username, password=args.password
143
+ args.username,
144
+ password=imap_password,
145
+ insecure=args.insecure,
136
146
  ).get("imap")
137
147
  except Exception:
138
148
  error_msg("Failed to autodiscover IMAP settings")
@@ -191,7 +201,7 @@ def main():
191
201
 
192
202
  try:
193
203
  with mb(**mb_kwargs).login(
194
- args.username, args.password, args.folder
204
+ args.username, imap_password, args.folder
195
205
  ) as mailbox:
196
206
  if args.MAILID:
197
207
  msg = next(
@@ -293,13 +303,18 @@ def main():
293
303
  else "???"
294
304
  ),
295
305
  )
296
- if len(table.rows) >= args.count:
306
+ if table.row_count >= args.count:
297
307
  break
298
308
 
299
309
  if args.json:
300
310
  print_json(json.dumps(json_data))
301
311
  else:
302
312
  console.print(table)
313
+ if table.row_count == 0:
314
+ print(
315
+ "[yellow italic]No messages[/yellow italic]",
316
+ file=sys.stderr,
317
+ )
303
318
  return 0
304
319
  except Exception:
305
320
  console.print_exception(show_locals=True)
@@ -17,11 +17,11 @@ classifiers = [
17
17
  ]
18
18
  dependencies = [
19
19
  "imap-tools >= 1.5.0, < 2.0.0",
20
- "myl-discovery >= 0.6.0",
20
+ "myl-discovery >= 0.6.1",
21
21
  "rich >= 13.0.0, <14.0.0",
22
22
  "html2text >= 2024.2.26"
23
23
  ]
24
- version = "0.8.11"
24
+ version = "0.8.13"
25
25
 
26
26
  [project.urls]
27
27
  homepage = "https://github.com/pschmitt/myl"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes