#!/usr/bin/python3

from gi.repository import GLib

import dbus
import dbus.mainloop.glib
import sys
import datetime
import os

with open('/var/spool/sms', 'a') as spool:
	spool.write('# smsd started at %s\n' % datetime.datetime.now())

def incoming_message(message, details, path, interface):
# format of spool lines: 2020-05-22 15:34:67 (self) => +18165179265 all fixed! flushed twice and started the dish washer!
	with open('/var/spool/sms', 'a') as spool:
		spool.write("%s %s < %s\n" % (details['LocalSentTime'], details['Sender'], message.encode('utf-8')))
	os.system("ring text %s" % (details['Sender']))

if __name__ == '__main__':
	dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)

	bus = dbus.SystemBus()

	bus.add_signal_receiver(incoming_message,
					bus_name="org.ofono",
					signal_name = "ImmediateMessage",
						path_keyword="path",
						interface_keyword="interface")

	bus.add_signal_receiver(incoming_message,
					bus_name="org.ofono",
					signal_name = "IncomingMessage",
						path_keyword="path",
						interface_keyword="interface")

	mainloop = GLib.MainLoop()
	mainloop.run()
# TODO on keyboard interrupt or exception, write a comment about smsd crashing/ending to the spool
