Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add recursive option, db-to-html option for msg-db files. #1

Closed
wants to merge 11 commits into from

Conversation

jhaisley
Copy link

This is a simple update which adds a recursion flag and a db-to-html option.

Add db-to-html
Add support for recursion, skip files if they've already been created.
@dunnkers
Copy link
Owner

Hi @jhaisley ! I like the recursive option! That should come in useful for multiple usecases.
However I'm thinking whether to solve this in the code, or include better documentation to explain CLI glob usage.

For example, with this directory structure:

$$ tree test_emails
test_emails
├── nested
│   └── test_email_2 copy.eml
├── test_email_1.eml
└── test_email_2.eml

1 directory, 3 files

... if we run:

eml-to-html test_emails/**/*.eml

... produces:

$$ tree test_emails                          
test_emails
├── nested
│   ├── test_email_2 copy.eml
│   └── test_email_2 copy.html
├── test_email_1.eml
├── test_email_1.html
├── test_email_2.eml
└── test_email_2.html

1 directory, 6 files

Does that also solve your usecase?

→ In that case, we can make sure to better document this usage in the README to assist with such usecases.

@dunnkers
Copy link
Owner

Additionally, about the db-to-html tool. I'd like to keep this eml-to-html tool very single-purpose. Such that it keeps doing 1 thing and 1 thing properly.

Perhaps that is an idea for a different micropackage?

@jhaisley
Copy link
Author

My use case (converting from a GYB archive) could be solved with globing although not with your proposed command.

$ tree .
.
├── 2023
│ ├── 11
│ │ ├── 14
│ │ │ ├── 18bd03b3cb9a7d54.eml
│ │ │ ├── 18bd03b3d3153e8e.eml
│ │ │ ├── 18bd03b4644c5576.eml
│ │ │ └── 18bd03bb6dc534d7.eml
│ │ ├── 15
│ │ │ ├── 18bd04b7f469a581.eml
│ │ │ ├── 18bd04b81dc687c2.eml
│ │ │ └── 18bd441249955d3c.eml
│ │ ├── 16
│ │ │ ├── 18bd9422a8fbb1aa.eml
│ │ │ ├── 18bd94332a9a6470.eml
│ │ │ ├── 18bd948021852bf8.eml
│ │ │ ├── 18bd9563fe2a11a6.eml
│ │ │ ├── 18bd9568455932ac.eml
│ │ │ ├── 18bd9568460ed04b.eml
│ │ │ ├── 18bd9568552d2ca5.eml
│ │ │ └── 18bd95a41cdca6ed.eml
│ │ ├── 17
│ │ │ ├── 18bddd60780d84e9.eml
│ │ │ ├── 18bddf6bac3c970c.eml
│ │ │ └── 18bde67f3293fc51.eml
│ │ ├── 19
│ │ │ └── 18be5fcbca239a53.eml
│ │ ├── 20
│ │ │ ├── 18bece78360f7b9a.eml
│ │ │ ├── 18bece7c1ed040eb.eml
│ │ │ ├── 18bece80c8e1e210.eml
│ │ │ ├── 18bece8685dca3c5.eml
│ │ │ ├── 18bed5327f21d5dd.eml
│ │ │ ├── 18bed5334d26a77b.eml
│ │ │ ├── 18bed5e76942ad91.eml
│ │ │ ├── 18bed5eb622eb1fb.eml
│ │ │ ├── 18bed5eeefa1bbcc.eml
│ │ │ ├── 18bed5f26201a027.eml
│ │ │ ├── 18bed7189fc26afa.eml
│ │ │ ├── 18bed8fc06c50d5f.eml
│ │ │ ├── 18bed8fc683b76a6.eml
│ │ │ ├── 18bed918bcec0dc1.eml
│ │ │ ├── 18bed92e0109544b.eml
│ │ │ ├── 18bed95971dc88e1.eml
│ │ │ ├── 18bed96eac2aa658.eml
│ │ │ ├── 18beda8236f15fca.eml
│ │ │ ├── 18bedaaee4060038.eml
│ │ │ ├── 18bedee5f9b55f8f.eml
│ │ │ ├── 18bee177b89d32e7.eml
│ │ │ ├── 18bee1eae3761913.eml
│ │ │ ├── 18bee28e875474a2.eml
│ │ │ └── 18bee2b86cd589ba.eml
│ │ ├── 21
│ │ │ ├── 18bf369c9266230e.eml
│ │ │ └── 18bf373ff399bb16.eml
│ │ ├── 22
│ │ │ ├── 18bf74bb07926455.eml
│ │ │ ├── 18bf7b066859fbe1.eml
│ │ │ ├── 18bf7b6a7e3dabb1.eml
│ │ │ ├── 18bf89ad77fc402d.eml
│ │ │ └── 18bf8c1ff7d14b86.eml
│ │ ├── 23
│ │ │ └── 18bfdc13956a142b.eml
│ │ ├── 25
│ │ │ └── 18c042370975911a.eml
│ │ ├── 26
│ │ │ ├── 18c0d346c536919f.eml
│ │ │ └── 18c0d4dd7b9dde76.eml
│ │ ├── 27
│ │ │ ├── 18c10fad8a50cf8f.eml
│ │ │ ├── 18c110019bd318db.eml
│ │ │ ├── 18c111f46f6ad9e1.eml
│ │ │ ├── 18c11298dc221fb8.eml
│ │ │ ├── 18c1140d01fb8a49.eml
│ │ │ ├── 18c114bda2cdc7b1.eml
│ │ │ ├── 18c1152a54018e5d.eml
│ │ │ ├── 18c1157c4ff72639.eml
│ │ │ ├── 18c117fa75a9d64d.eml
│ │ │ ├── 18c11805136494df.eml
│ │ │ └── 18c119715abc2a95.eml
│ │ ├── 28
│ │ │ ├── 18c16185bfaa9ae1.eml
│ │ │ ├── 18c162159be6ff65.eml
│ │ │ ├── 18c1623ba5166faf.eml
│ │ │ ├── 18c16254e608eab5.eml
│ │ │ ├── 18c1626f998c1e80.eml
│ │ │ ├── 18c1634cb58756e7.eml
│ │ │ ├── 18c1662ad326d666.eml
│ │ │ ├── 18c16a316c2e15f8.eml
│ │ │ ├── 18c175cd04195062.eml
│ │ │ └── 18c17d3b4d52b0ac.eml
│ │ ├── 29
│ │ │ ├── 18c18a30dec307c4.eml
│ │ │ ├── 18c1b36202630434.eml
│ │ │ ├── 18c1cdc8ab684492.eml
│ │ │ └── 18c1cebb205d391f.eml
│ │ └── 30
│ │ ├── 18c2029bf3e3a675.eml
│ │ ├── 18c20b3ec46d5b21.eml
│ │ ├── 18c20f5b761b0352.eml
│ │ └── 18c222d39af7f651.eml
│ └── 12
│ ├── 1
│ │ ├── 18c24ae959e607ac.eml
│ │ ├── 18c25b13652e8643.eml
│ │ ├── 18c2600940884021.eml
│ │ ├── 18c261c0da1006ae.eml
│ │ ├── 18c261c349e0bd15.eml
│ │ └── 18c2637abf4ecb36.eml
│ ├── 11
│ │ ├── 18c58f571cd70c0c.eml
│ │ ├── 18c59dafe123beee.eml
│ │ ├── 18c5a782e8e337e5.eml
│ │ ├── 18c5a79953c48fb6.eml
│ │ ├── 18c5ad9056584ad0.eml
│ │ ├── 18c5ae00fea16552.eml
│ │ └── 18c5aeae7214efe6.eml
│ ├── 12
│ │ ├── 18c5e178bc6317d9.eml
│ │ └── 18c5e3ea3e5ffbaa.eml
│ ├── 13
│ │ ├── 18c6348282bd526b.eml
│ │ ├── 18c63801f78c3db6.eml
│ │ ├── 18c64c98bed4e51a.eml
│ │ └── 18c64ff05e1356d0.eml
│ ├── 14
│ │ └── 18c689d29640b008.eml
│ ├── 17
│ │ └── 18c7539502b943db.eml
│ ├── 18
│ │ ├── 18c7cc9dd6192b84.eml
│ │ ├── 18c7da65262a28b8.eml
│ │ └── 18c7db19539a074f.eml
│ ├── 19
│ │ ├── 18c82519042baecc.eml
│ │ ├── 18c825bf27256ae9.eml
│ │ ├── 18c82cb020b0058e.eml
│ │ ├── 18c82eae7f3b6f5b.eml
│ │ ├── 18c83efb69fadfef.eml
│ │ └── 18c83f08594c21f4.eml
│ ├── 20
│ │ ├── 18c87539090d3b9f.eml
│ │ ├── 18c87d813ddee183.eml
│ │ ├── 18c887c338cf9984.eml
│ │ ├── 18c887d99a6c7e2c.eml
│ │ ├── 18c88d5e77cfad55.eml
│ │ ├── 18c88d7612106141.eml
│ │ ├── 18c88eedb69ae0d7.eml
│ │ └── 18c895f8610d9571.eml
│ ├── 21
│ │ ├── 18c89d3c5533d6be.eml
│ │ ├── 18c8c71b08fd109d.eml
│ │ ├── 18c8cc296abf13f5.eml
│ │ ├── 18c8df48e77efe44.eml
│ │ ├── 18c8e002c9379956.eml
│ │ ├── 18c8e33b40642466.eml
│ │ └── 18c8e4c6e395a011.eml
│ ├── 22
│ │ ├── 18c91a295cc29c37.eml
│ │ ├── 18c91d3ba2220ff2.eml
│ │ ├── 18c93015aef9c715.eml
│ │ ├── 18c93b1ed291bbf3.eml
│ │ ├── 18c93b1f3ed5575c.eml
│ │ └── 18c93f2005c5d107.eml
│ ├── 28
│ │ └── 18cb0b9d823bbdf2.eml
│ ├── 4
│ │ ├── 18c352231b2891c5.eml
│ │ ├── 18c358a4316779ec.eml
│ │ ├── 18c36882c6203156.eml
│ │ ├── 18c36df5c5ff6314.eml
│ │ └── 18c36eabfe4b13d0.eml
│ ├── 5
│ │ ├── 18c3a79a7a0b00bf.eml
│ │ ├── 18c3af4fcafe5945.eml
│ │ ├── 18c3b442bf475219.eml
│ │ ├── 18c3bbe5d5e040c4.eml
│ │ ├── 18c3c35caf68bf92.eml
│ │ └── 18c3c3a6833ede1b.eml
│ ├── 6
│ │ ├── 18c3fa21fa0fe35c.eml
│ │ ├── 18c3fc9846260b69.eml
│ │ ├── 18c410ebb43904dd.eml
│ │ └── 18c4182b93bd24b2.eml
│ ├── 7
│ │ ├── 18c44ef45af2a405.eml
│ │ ├── 18c450766e232386.eml
│ │ ├── 18c45100ee64f964.eml
│ │ ├── 18c45131cfcd8182.eml
│ │ ├── 18c45138d673e34f.eml
│ │ ├── 18c4514961a370be.eml
│ │ ├── 18c4515dc90da5d5.eml
│ │ ├── 18c4516d2b5a6d6f.eml
│ │ ├── 18c4518286be8f5a.eml
│ │ ├── 18c45187b5e41a91.eml
│ │ ├── 18c452daab923d0a.eml
│ │ └── 18c45a6b0420040c.eml
│ └── 8
│ ├── 18c49a2e86ca9567.eml
│ └── 18c4a53d97c21771.eml
├── 2024
│ ├── 1
│ │ ├── 10
│ │ │ └── 18cf34bd7230f74b.eml
│ │ ├── 11
│ │ │ ├── 18cf5e1f4eff5389.eml
│ │ │ ├── 18cfa778bcf80b2c.eml
│ │ │ └── 18cfaf3ebfdb700a.eml
│ │ ├── 15
│ │ │ ├── 18d0f69b5da1ec94.eml
│ │ │ └── 18d0f6aa7f71b519.eml
│ │ ├── 16
│ │ │ ├── 18d121aa541fc5a7.eml
│ │ │ └── 18d121c5ce15c3e8.eml
│ │ ├── 17
│ │ │ ├── 18d14d26926a630f.eml
│ │ │ ├── 18d14d432208747c.eml
│ │ │ ├── 18d18391fd09e530.eml
│ │ │ ├── 18d1926ead8b3d56.eml
│ │ │ └── 18d192ed9c880565.eml
│ │ ├── 18
│ │ │ ├── 18d1ce9ab92ab538.eml
│ │ │ ├── 18d1cf250e04f1c4.eml
│ │ │ ├── 18d1d0dce84cc4b2.eml
│ │ │ ├── 18d1d10a36ddcefc.eml
│ │ │ ├── 18d1d16af3af7699.eml
│ │ │ ├── 18d1d3dc31848dd7.eml
│ │ │ ├── 18d1d69b08bac675.eml
│ │ │ └── 18d1d843dfa7e1ca.eml
│ │ ├── 19
│ │ │ ├── 18d2153264fe7852.eml
│ │ │ ├── 18d2156c83af24b6.eml
│ │ │ ├── 18d218f126caf258.eml
│ │ │ ├── 18d2190ec39c4c0b.eml
│ │ │ └── 18d22c0b0320aa77.eml
│ │ ├── 2
│ │ │ ├── 18ccad45fe9b5530.eml
│ │ │ ├── 18ccaf30584de0a6.eml
│ │ │ ├── 18ccaf3a7138fe99.eml
│ │ │ ├── 18ccaf46f2ce175d.eml
│ │ │ ├── 18ccaf64e0f476c4.eml
│ │ │ ├── 18ccaf67f202e3ca.eml
│ │ │ ├── 18ccaf789fe5e641.eml
│ │ │ ├── 18ccba9868468875.eml
│ │ │ ├── 18ccc1e458648891.eml
│ │ │ └── 18ccc210b6a27986.eml
│ │ ├── 22
│ │ │ └── 18d31022d6776b69.eml
│ │ ├── 23
│ │ │ ├── 18d360a51f0b7187.eml
│ │ │ ├── 18d361959ce531b9.eml
│ │ │ ├── 18d361a99eed854c.eml
│ │ │ ├── 18d36e852acdcaa4.eml
│ │ │ ├── 18d36e96d27d3d3e.eml
│ │ │ ├── 18d372942e662c20.eml
│ │ │ ├── 18d372f27f45a4a4.eml
│ │ │ └── 18d37a75a4ac0c63.eml
│ │ ├── 24
│ │ │ ├── 18d38eefc486f135.eml
│ │ │ ├── 18d38f2935d4dc76.eml
│ │ │ ├── 18d3904aebf1c791.eml
│ │ │ ├── 18d3be271de78592.eml
│ │ │ ├── 18d3be6f775f9f84.eml
│ │ │ ├── 18d3bf60c0ada109.eml
│ │ │ ├── 18d3bf6dea3cf482.eml
│ │ │ ├── 18d3bf7c5df61998.eml
│ │ │ └── 18d3d7f9a99b6406.eml
│ │ ├── 25
│ │ │ ├── 18d3e01ac3b1663a.eml
│ │ │ ├── 18d4053c125ec6c2.eml
│ │ │ ├── 18d405482bab570a.eml
│ │ │ ├── 18d40ceb4a6deb19.eml
│ │ │ ├── 18d416a5bcdb0aff.eml
│ │ │ └── 18d41972ffb5737f.eml
│ │ ├── 26
│ │ │ ├── 18d4730e2547abf2.eml
│ │ │ └── 18d474165887aa26.eml
│ │ ├── 29
│ │ │ ├── 18d556b98bb8aa48.eml
│ │ │ ├── 18d568864401c8c1.eml
│ │ │ ├── 18d568aed8d41190.eml
│ │ │ └── 18d5794d5c9406bc.eml
│ │ ├── 3
│ │ │ ├── 18ccfab276d593f7.eml
│ │ │ ├── 18ccfacadef1ac03.eml
│ │ │ ├── 18cd055ab17faedf.eml
│ │ │ ├── 18cd0b9e17fdabb3.eml
│ │ │ ├── 18cd165fe97938de.eml
│ │ │ └── 18cd1ba6208c107e.eml
│ │ ├── 30
│ │ │ ├── 18d5a5a5cfc3e240.eml
│ │ │ ├── 18d5b00bdc4bf989.eml
│ │ │ └── 18d5c3badb5ff218.eml
│ │ ├── 31
│ │ │ ├── 18d61694f607a949.eml
│ │ │ ├── 18d616aac4efe8ca.eml
│ │ │ └── 18d617e5b9d1f75c.eml
│ │ ├── 4
│ │ │ ├── 18cd237ac156f06a.eml
│ │ │ ├── 18cd45c589231818.eml
│ │ │ ├── 18cd516c7265d28f.eml
│ │ │ ├── 18cd54fcf42218dc.eml
│ │ │ ├── 18cd6d3c829dbc5b.eml
│ │ │ └── 18cd6d49fbebe6c2.eml
│ │ ├── 5
│ │ │ ├── 18cd97ff1eace5e9.eml
│ │ │ ├── 18cda3f3dea9f2ad.eml
│ │ │ ├── 18cda74ef89a0458.eml
│ │ │ ├── 18cdb7ad40b6e195.eml
│ │ │ └── 18cdb7bd4530df20.eml
│ │ └── 8
│ │ ├── 18ce91b5d68fa8f5.eml
│ │ ├── 18cea18729799d4a.eml
│ │ ├── 18cea3c5317b754a.eml
│ │ └── 18ceb02df154f7de.eml
│ ├── 2
│ │ ├── 1
│ │ │ ├── 18d62ad599fb4904.eml
│ │ │ ├── 18d64ee8ce75ee1c.eml
│ │ │ ├── 18d669202499d731.eml
│ │ │ └── 18d6696857d3bae4.eml
│ │ ├── 13
│ │ │ ├── 18da31ab01386a31.eml
│ │ │ ├── 18da327115237cd5.eml
│ │ │ ├── 18da34a41b7160e9.eml
│ │ │ ├── 18da34b0bcb0909b.eml
│ │ │ ├── 18da34f4e12d5223.eml
│ │ │ └── 18da47b7e3539cd9.eml
│ │ ├── 14
│ │ │ ├── 18da7e8ad1f60d64.eml
│ │ │ └── 18da8bf33a6f2490.eml
│ │ ├── 15
│ │ │ ├── 18dadb14b30f51d0.eml
│ │ │ └── 18daea16c3c7f7b8.eml
│ │ ├── 16
│ │ │ ├── 18db20f3c021be61.eml
│ │ │ ├── 18db2d7f0d7a063b.eml
│ │ │ └── 18db3d0e5b040105.eml
│ │ ├── 17
│ │ │ └── 18db761700045f63.eml
│ │ ├── 19
│ │ │ ├── 18dc2594c2e74901.eml
│ │ │ └── 18dc33bcdb9be782.eml
│ │ ├── 2
│ │ │ ├── 18d67858e1261611.eml
│ │ │ ├── 18d6792edb8c05a3.eml
│ │ │ ├── 18d67a74e4cb71e8.eml
│ │ │ ├── 18d6a712604c2cf6.eml
│ │ │ ├── 18d6a8c9e24faea0.eml
│ │ │ ├── 18d6a8cb868b55ba.eml
│ │ │ ├── 18d6aa82c101e43a.eml
│ │ │ └── 18d6c2c968e7b3ab.eml
│ │ ├── 20
│ │ │ ├── 18dc7e55a3036d5a.eml
│ │ │ ├── 18dc7e776f13a5b2.eml
│ │ │ └── 18dc8240ba02284b.eml
│ │ ├── 21
│ │ │ ├── 18dcc2bae48ae754.eml
│ │ │ ├── 18dcca9906f9574a.eml
│ │ │ ├── 18dccac1cad9d7e4.eml
│ │ │ └── 18dcdcef1f4817e8.eml
│ │ ├── 22
│ │ │ ├── 18dd0c9a1a084bd3.eml
│ │ │ ├── 18dd327e6529556d.eml
│ │ │ └── 18dd33973dff7b6d.eml
│ │ ├── 23
│ │ │ ├── 18dd5cfec999bec7.eml
│ │ │ └── 18dd69a822a07d33.eml
│ │ ├── 28
│ │ │ └── 18df17a04f4f9852.eml
│ │ ├── 29
│ │ │ ├── 18df5a9a7ff5e09b.eml
│ │ │ ├── 18df5ac7eac49262.eml
│ │ │ ├── 18df5b2ea31e68d8.eml
│ │ │ └── 18df5c9b323f4471.eml
│ │ ├── 3
│ │ │ └── 18d6cd0d6ef5a231.eml
│ │ ├── 6
│ │ │ └── 18d7f809e8297d0f.eml
│ │ └── 7
│ │ ├── 18d843a48d94745b.eml
│ │ ├── 18d84635ed6d4f01.eml
│ │ ├── 18d8524dd466ba7a.eml
│ │ └── 18d8527aa66ecbd9.eml
│ ├── 3
│ │ ├── 1
│ │ │ ├── 18dfabeb580a7745.eml
│ │ │ ├── 18dfabef67bc4dfd.eml
│ │ │ ├── 18dfada3e74854c6.eml
│ │ │ └── 18dfadaa6684e791.eml
│ │ ├── 12
│ │ │ ├── 18e33d0f201dfacc.eml
│ │ │ └── 18e33dbe08ba9ba1.eml
│ │ ├── 13
│ │ │ ├── 18e389a469f4c38f.eml
│ │ │ ├── 18e389bcf87361c6.eml
│ │ │ └── 18e38c81e68d2970.eml
│ │ ├── 15
│ │ │ └── 18e3febac84c5ef4.eml
│ │ ├── 18
│ │ │ ├── 18e527a0430781e1.eml
│ │ │ └── 18e528d7404abd9f.eml
│ │ ├── 19
│ │ │ └── 18e578cdc2fa255f.eml
│ │ ├── 5
│ │ │ ├── 18e0f9f664ab574a.eml
│ │ │ └── 18e109172f1d9b2e.eml
│ │ ├── 7
│ │ │ ├── 18e19442bb410986.eml
│ │ │ └── 18e1ad3558b46901.eml
│ │ └── 8
│ │ ├── 18e1f3ca1a31b099.eml
│ │ └── 18e1feb7fcf33add.eml
│ └── 4
│ ├── 11
│ │ ├── 18eccb130bc035ce.eml
│ │ └── 18ecd37896e863ef.eml
│ ├── 18
│ │ ├── 18ef1774c8b0208b.eml
│ │ └── 18ef1bd4b23a5315.eml
│ ├── 22
│ │ └── 18f063ab56bf9f6c.eml
│ ├── 3
│ │ └── 18ea4da310ec518f.eml
│ ├── 4
│ │ ├── 18ea9dd99ac559cc.eml
│ │ └── 18eab8997396c804.eml
│ └── 8
│ ├── 18ebdfdcfc2a4de9.eml
│ ├── 18ebedb3f11d317c.eml
│ └── 18ebedfc31e0cf57.eml
└── msg-db.sqlite

93 directories, 339 files

@jhaisley
Copy link
Author

Additionally, about the db-to-html tool. I'd like to keep this eml-to-html tool very single-purpose. Such that it keeps doing 1 thing and 1 thing properly.

Perhaps that is an idea for a different micropackage

I understand that perspective. My purpose is a bit different than yours I guess, in that my goal is to convert an entire archive of a gmail account to html so that it can be preserved off of Google's system.

@dunnkers
Copy link
Owner

Hi!

My use case (converting from a GYB archive) could be solved with globing although not with your proposed command.

Ah that's that's great. Did you end up globbing in the code or using the terminal/shell ?

@dunnkers
Copy link
Owner

Also, I see you're doing a great job integrating your desired additions/changes into a separate package. Shall we then close this PR?

@dunnkers dunnkers closed this Jun 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants