Compare commits

...

2 Commits
v0.1 ... main

Author SHA1 Message Date
Julien Palard 3c2fabecda
Allow to pass multiple eml. 2022-11-06 09:36:30 +01:00
Julien Palard 40d003bbad
Document how to build and publish. 2022-10-15 11:38:01 +02:00
2 changed files with 30 additions and 12 deletions

View File

@ -10,3 +10,14 @@ To install signal-spam CLI, use:
## Usage
signal-spam BuyMyDogFood.eml
# Releasing
To push a new version of `signal-spam` on PyPI:
- Bump the `__version__` in `signalspam.py`.
- commit, tag, push commit, push tag.
- `python -m pip install --upgrade build twine`
- `python -m build`
- `python -m twine upload dist/*`

View File

@ -7,7 +7,7 @@ import argparse
import requests
__version__ = "0.1"
__version__ = "0.2"
CONF = Path("~/.signal-spam").expanduser()
@ -15,7 +15,9 @@ CONF = Path("~/.signal-spam").expanduser()
def parse_args():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("eml", type=Path, help="An email file to report as spam.")
parser.add_argument(
"eml", nargs="+", type=str, help="An email file to report as spam."
)
return parser.parse_args()
@ -26,17 +28,22 @@ def main():
except FileNotFoundError:
username = input("signal spam username: ")
password = getpass("signal spam password: ")
CONF.write_text(f"{username}\n{password}\n", encoding='UTF-8')
CONF.write_text(f"{username}\n{password}\n", encoding="UTF-8")
CONF.chmod(0o600)
payload = {"dossier": 0, "message": b64encode(args.eml.read_text(encoding="UTF-8").encode("UTF-8"))}
response = requests.post(
"https://www.signal-spam.fr/api/signaler",
auth=(username, password),
timeout=10,
data=payload)
print("Sent")
print(response.text)
for eml in args.eml:
print("Reporting", eml)
payload = {
"dossier": 0,
"message": b64encode(Path(eml).read_text(encoding="UTF-8").encode("UTF-8")),
}
response = requests.post(
"https://www.signal-spam.fr/api/signaler",
auth=(username, password),
timeout=10,
data=payload,
)
print(response.text)
if __name__ == '__main__':
if __name__ == "__main__":
main()