diff --git a/.gitignore b/.gitignore index de4fe8f..1322e5c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ __pycache__/ -config.json \ No newline at end of file +config.json +result \ No newline at end of file diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..7e27ba5 --- /dev/null +++ b/default.nix @@ -0,0 +1,2 @@ +{ pkgs ? import {} }: +pkgs.callPackage ./derivation.nix {} \ No newline at end of file diff --git a/derivation.nix b/derivation.nix new file mode 100644 index 0000000..9a0a3c3 --- /dev/null +++ b/derivation.nix @@ -0,0 +1,10 @@ +{ lib, python3Packages }: +with python3Packages; +buildPythonApplication { + pname = "groupme_sync"; + version = "1.0"; + + propagatedBuildInputs = [ websockets requests ]; + + src = ./.; +} \ No newline at end of file diff --git a/groupme_sync/__init__.py b/groupme_sync/__init__.py index e69de29..9731c5c 100644 --- a/groupme_sync/__init__.py +++ b/groupme_sync/__init__.py @@ -0,0 +1,39 @@ +from sys import argv +import json + +from .groupme import GroupMe +from .emailwrap import send_email + +def main() -> None: + filename = argv[1] + with open(filename, "r") as file: + data = json.loads(file.read()) + + chats = GroupMe(data["token"]) + for message in chats: + title = "[GroupMe] {} sent a message in {}".format(message["name"], message["group_name"]) + body = """ + Greetings, + + {} sent a message in group {} -- it reads as follows: + + {} + + Much regards, + the internal beepboop.systems mail system + """.format( + message["name"], + message["group_name"], + message["text"] + ) + + send_email( + title=title, + body=body, + smtp_server=data["smtp_server"], + smtp_username=data["smtp_username"], + smtp_password=data["smtp_password"], + from_addr=data["from_addr"], + to_addr=data["to_addr"], + ) + print(message) \ No newline at end of file diff --git a/groupme_sync/__main__.py b/groupme_sync/__main__.py index f9521e0..878197e 100644 --- a/groupme_sync/__main__.py +++ b/groupme_sync/__main__.py @@ -1,41 +1,4 @@ -from sys import argv -import json +from . import main -from .groupme import GroupMe -from .emailwrap import send_email - -def main() -> None: - filename = argv[1] - with open(filename, "r") as file: - data = json.loads(file.read()) - - chats = GroupMe(data["token"]) - for message in chats: - title = "[GroupMe] {} sent a message in {}".format(message["name"], message["group_name"]) - body = """ - Greetings, - - {} sent a message in group {} -- it reads as follows: - - {} - - Much regards, - the internal beepboop.systems mail system - """.format( - message["name"], - message["group_name"], - message["text"] - ) - - send_email( - title=title, - body=body, - smtp_server=data["smtp_server"], - smtp_username=data["smtp_username"], - smtp_password=data["smtp_password"], - from_addr=data["from_addr"], - to_addr=data["to_addr"], - ) - print(message) - -main() \ No newline at end of file +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..22e1677 --- /dev/null +++ b/setup.py @@ -0,0 +1,11 @@ +from distutils.core import setup + +setup( + name="groupme_sync", + version="0.0.1", + entry_points={ + 'console_scripts': [ + 'groupme_sync = groupme_sync:main', + ] + } +) \ No newline at end of file