Age | Commit message (Collapse) | Author |
|
Make it easy to find out what version of the program is installed.
|
|
The French attribution from before capitalised the month name because I
have an EN locale by default. The month shouldn't be capitalised in
French. Set the `$attribution_locale` to match the language of the
attribution template string.
Hard-coding `en_US` on the English one as that's the locale I'm used to.
|
|
Now that we've handled 'multipart/relative' and HTML-only
'text/plain'-less emails, we can remove these.
|
|
Now that we're using it in two places, move it to a function. Also
remove the `unwrap` call.
|
|
We're already doing this for single-part emails. This change makes it
work additionally for multipart emails.
|
|
Now that I know the `Content-Type` header is already parsed in the
original email parse call, use that instead of looping over the headers
trying to find the content type.
|
|
When an HTML body is fed to 'whatlang', it recognises it as English.
This is likely due to the English HTML syntax. Remove all HTML tags with
a simple regex substitution to get the language recognition working more
properly.
This doesn't remove CSS, which could also confuse the language
recogniser. In a limited test, it seemed to work without having to
remove any CSS, so not bothering with that.
Still need to get this working for multipart emails.
|
|
Figuring out the different content types and subparts for different
kinds of emails.
|
|
|
|
Parse the text email body out of `multipart/alternative` parts.
|
|
Now that we're no longer using `anyhow::Error` as `Error`.
|
|
Collapse arms that return the same exit code.
|
|
Give types to the errors in `run()` and exit with appropriate error
codes.
Split out an additional error type so we can wrap errors from the
non-main functions.
Remove 'anyhow', replacing it with 'thiserror' now that we're using
error types.
|
|
|
|
Give us a way to match on the type of error so we can return an
appropriate exit code.
|
|
|
|
Include the 'anyhow' crate to add additional context to errors.
|
|
|
|
Replace the temporary error string with one that provides a hair more
context.
|
|
|
|
These print outputs were for help developing and debugging. They're no
longer necessary since the program is basically working.
|
|
Move the `main()` function contents to a new `run()` function that
returns a `Result`. This way we can easily print the error in `main()`.
|
|
|
|
Set attribution config strings for French and English. If the input
email's body language is in French, set my French attribution string.
Otherwise use English.
Write the attribution string to a config file at
`~/.local/share/ottolangy/attribution.muttrc`. We can then source this
config file to set the attribution.
|
|
|
|
Isolate this block.
|
|
The old code was from when I was testing with a multipart email and
hadn't figured out how to extract the body from it.
|
|
Now that we've worked out how to do this, I can remove my old essays.
|
|
Figured out why I was getting an empty string before: I was inputting a
multipart email. I need to actually look through each part to get the
message body. Look for the body of the "text/plain" part.
|
|
|
|
Generated with:
$ cargo init --bin
|