def open_gate(self, gate, user_id, command='open'): """Handle gate opening via web interface. """ if command == 'open': requests.get(gate.uri_open, timeout=1) elif command == 'close': requests.get(gate.uri_close, timeout=1) else: return None requests.get(gate.uri_nvr, timeout=1) snapshot = self.save_snapshot(gate.id) a = Activity() a.gate = gate.id a.snapshot = snapshot a.command = command a.success = True a.user = user_id a.meta = {'tags': ['web'] if command == 'open' else ['close', 'web']} db.session.add(a) db.session.commit() return a.success