def __init__(self): self.__obs = Observable() conf = Configuration() self.__rfid = RfidReader(conf.rfid.serialPort) self.__acceptor = CoinAcceptor(conf.coinAcceptor.serialPort, conf.coinAcceptor.inhibitPin, conf.coinMap) self.__memberService = MemberService(conf.db.username, conf.db.password, conf.db.hostname, conf.db.port, conf.db.database) self.__popMachine = PopMachine(conf.popMachine.relayPin) self.__webService = WebService(conf.web.bindAddress, conf.web.port) self.__acceptor.inhibit(True) self.__popCost = self.__popMachine.getPopCost() self.__obs.on("CardSwiped", self.__onCardRead) self.__obs.on("CoinAccepted", self.__onCoinAccepted) self.__obs.on("MemberNotFound", self.__onMemberNotFound) self.__obs.on("PopPaid", self.__onPopPaid) self.__obs.on("CreditCompleted", self.__onCreditCompleted) self.__creditOnlyPin = conf.general.creditOnlyPin GPIO.setup(self.__creditOnlyPin, GPIO.IN)
'3d_printer': False, 'laser_cutter': False, 'mill': False, 'vinyl_cutter': False, 'soldering_iron': False, 'drill_press': False, 'sewing_machine': False, 'oscilloscope': False, 'user': False, 'superuser': False, 'banned': False }, 'rfid_regex': r'^[0-9A-z]+\n[0-9A-z]{10}$' } rfid_reader = RfidReader(SETTINGS['rfid_regex']) db = RedisConnection( uid_regex=SETTINGS['rfid_regex'], user_privileges=SETTINGS['user_privileges'], ) display = DisplayManager(db=db, user_privileges=SETTINGS['user_privileges']) dct = { '4808739405663507168\n2cef529fab': { "uni": 'ye2184', "first_name": 'Yonah', "last_name": 'Elorza', "user": 1, "drill": 1, "mill": 1, "sewing": 1,