def start_recording(self): self.keyboard_listener.start() self.mouse_listener.start() self.keyboard_listener.join() self.mouse_listener.join()

def generate_license_code(): key = Fernet.generate_key() return key.decode()

def save_macro(self, filename): with open(filename, 'wb') as f: pickle.dump(self.actions, f)

def verify_license_code(license_code): try: f = Fernet(license_code.encode()) # If we reach here, the license code is valid return True except: return False