--- /dev/null
+import pathlib
+
+from p7s import bitwarden
+from p7s.mail import mbsync
+
+
+def generate_config():
+ gmail = bitwarden.get_item("https://bitwarden.pdp7.net", "alex@corcoles.net", "cad137b0-cfd5-4d5c-b167-98a9e792f4cc")["login"]
+ yahoo = bitwarden.get_item("https://bitwarden.pdp7.net", "alex@corcoles.net", "e24727e7-c0ef-4c97-afd0-8497d547304c")["login"]
+ (pathlib.Path.home() / (".mbsyncrc")).write_text(
+ mbsync.mbsync_gmail(gmail["username"], gmail["password"], "~/Mail") +
+ "\n" +
+ mbsync.mbsync_yahoo(yahoo["username"], yahoo["password"], "~/Mail")
+ )
--- /dev/null
+import textwrap
+
+
+def mbsync_gmail(login, password, store_path):
+ return textwrap.dedent(f"""
+ IMAPAccount {login}
+ Host imap.gmail.com
+ SSLType IMAPS
+ User {login}
+ Pass {password}
+
+ IMAPStore {login}-remote
+ Account {login}
+
+ MaildirStore {login}-local
+ SubFolders Verbatim
+ Path {store_path}/{login}/
+ Inbox {store_path}/{login}/Inbox
+
+ Channel {login}
+ Far :{login}-remote:
+ Near :{login}-local:
+ Patterns *
+ Create Both
+ Expunge Both
+ SyncState *
+ """).lstrip()
+
+
+def mbsync_yahoo(login, password, store_path):
+ return textwrap.dedent(f"""
+ IMAPAccount {login}
+ Host imap.mail.yahoo.com
+ SSLType IMAPS
+ User {login}
+ Pass {password}
+ PipelineDepth 5
+
+ IMAPStore {login}-remote
+ Account {login}
+
+ MaildirStore {login}-local
+ SubFolders Verbatim
+ Path {store_path}/{login}/
+ Inbox {store_path}/{login}/Inbox
+
+ Channel {login}
+ Far :{login}-remote:
+ Near :{login}-local:
+ Patterns *
+ Create Both
+ Expunge Both
+ SyncState *
+ """).lstrip()
+++ /dev/null
-import pathlib
-import textwrap
-
-from p7s import bitwarden
-
-
-def generate_config():
- gmail_password = bitwarden.get_item("https://bitwarden.pdp7.net", "alex@corcoles.net", "cad137b0-cfd5-4d5c-b167-98a9e792f4cc")["login"]["password"]
- (pathlib.Path.home() / (".mbsyncrc")).write_text(textwrap.dedent(f"""
- IMAPStore gmail-remote
- Host imap.gmail.com
- SSLType IMAPS
- AuthMechs LOGIN
- User koalillo@gmail.com
- Pass "{gmail_password}"
-
- MaildirStore gmail-local
- Path ~/Mail/koalillo@gmail.com/
- Inbox ~/Mail/koalillo@gmail.com/INBOX
- Subfolders Verbatim
-
- Channel gmail
- Far :gmail-remote:
- Near :gmail-local:
- Create Both
- Expunge Both
- Patterns *
- SyncState *
- """))
[tool.poetry.scripts]
ruscreen = 'p7s.ruscreen:main'
-mbsync_config = 'p7s.mbsync:generate_config'
+mbsync_config = 'p7s.mail:generate_config'
db-create = 'p7s.distrobox:create'
db-enter = 'p7s.distrobox:enter'