-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ce4ea85
commit 73e1eb0
Showing
8 changed files
with
142 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,6 @@ | ||
__pycache__/ | ||
*.pyc | ||
*.pyc | ||
|
||
build/ | ||
dist/ | ||
*.egg-info/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
include LICENSE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
# EML Extractor | ||
|
||
EML Extractor is a CLI tool to extract attachments from .eml files (email messages saved as files). | ||
|
||
|
||
## Features | ||
|
||
* Find .eml files (recursively or not) in a selected folder; | ||
* Select individuals .eml files to extraction; | ||
* Save all attachments in a single main folder; | ||
* Organize the attachments by email subject subfolder. | ||
|
||
|
||
## Requirements | ||
|
||
Python 3.6+ | ||
|
||
|
||
## Installation | ||
|
||
```console | ||
$ pip install eml-extractor | ||
``` | ||
|
||
|
||
## Usage | ||
|
||
By default, the current working directory is used as the source for .eml files as well as destination for extracted attachments. You can set different optional arguments to change this behavior: | ||
|
||
```console | ||
usage: eml-extractor [OPTIONS] | ||
|
||
Extracts attachments from .eml files | ||
|
||
optional arguments: | ||
-h, --help show this help message and exit | ||
-s PATH, --source PATH | ||
the directory containing the .eml files to extract | ||
attachments (default: current working directory) | ||
-r, --recursive allow recursive search for .eml files under SOURCE | ||
directory | ||
-f FILE [FILE ...], --files FILE [FILE ...] | ||
specify an .eml file or a list of .eml files to extract | ||
attachments | ||
-d PATH, --destination PATH | ||
the directory to extract attachments to (default: | ||
current working directory) | ||
``` | ||
|
||
|
||
## Examples | ||
|
||
### 1. Find all .eml files in current working dir, extract the attachments and save them in the same dir: | ||
```console | ||
$ eml-extractor | ||
``` | ||
|
||
The command above is equivalent to: | ||
```console | ||
$ eml-extractor --source . --destination . | ||
``` | ||
|
||
### 2. Set another path for searching .eml files: | ||
```console | ||
$ eml-extractor --source /path/to/eml/files/ | ||
``` | ||
|
||
### 3. Allow recursive searching: | ||
```console | ||
$ eml-extractor --source /path/to/eml/files/ --recursive | ||
``` | ||
|
||
### 4. Define manually from which files the attachments will be extracted: | ||
```console | ||
$ eml-extractor --files /path/to/file1.eml /path/to/file2.eml | ||
``` | ||
|
||
### 5. Change the path where to save the extracted attachments: | ||
```console | ||
$ eml-extractor --destination /path/to/extracted/attachments/ | ||
``` | ||
|
||
|
||
## License | ||
|
||
This project is licensed under the terms of the [MIT License](https://github.com/diogo-alves/eml-extractor/blob/main/LICENSE). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
[build-system] | ||
requires = [ | ||
"setuptools >= 42", | ||
"wheel", | ||
] | ||
build-backend = "setuptools.build_meta" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
[metadata] | ||
name = eml-extractor | ||
version = 0.1.1 | ||
author = Diogo Alves | ||
author_email = [email protected] | ||
description = A CLI tool to extract attachments from .eml files (email messages saved as files) | ||
long_description = file: README.md | ||
long_description_content_type = text/markdown | ||
url = https://github.com/diogo-alves/eml-extractor | ||
platform = any | ||
keywords = cli, eml, email, attachments, extract | ||
license = MIT | ||
license_files = LICENSE | ||
classifiers = | ||
Environment :: Console | ||
Programming Language :: Python | ||
Programming Language :: Python :: 3 :: Only | ||
Programming Language :: Python :: 3.6 | ||
Programming Language :: Python :: 3.7 | ||
Programming Language :: Python :: 3.8 | ||
Programming Language :: Python :: 3.9 | ||
Operating System :: OS Independent | ||
Intended Audience :: End Users/Desktop | ||
License :: OSI Approved :: MIT License | ||
Natural Language :: English | ||
Topic :: Communications :: Email | ||
Topic :: Utilities | ||
|
||
[options] | ||
py_modules = eml_extractor | ||
python_requires = >=3.6 | ||
packages = find: | ||
|
||
[options.entry_points] | ||
console_scripts = | ||
eml-extractor = eml_extractor:main |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
from setuptools import setup | ||
|
||
setup() |