Hasan Iqbal
Added OpenFactCheck library
8360ec7 unverified
raw
history blame
1.41 kB
import logging
class FactCheckerState:
"""
A class to manage the state of a fact checking system. It holds a question
and its corresponding response, and provides methods to set and get these
attributes dynamically.
Parameters
----------
question : str
The question to be fact-checked.
response : str
The response to the question.
"""
def __init__(self, question: str = None, response: str = None):
"""
Initialize the FactCheckerState object.
"""
self.question: str = question
self.response: str = response
def set(self, name, value):
"""
Set an attribute of the state object.
"""
if hasattr(self, name):
logging.warning(f"FactCheckerState.set: Modifying existing attribute {name}")
setattr(self, name, value)
def get(self, name):
"""
Get an attribute of the state object.
"""
if not hasattr(self, name):
raise ValueError(f"FactCheckerState.get: Attribute {name} does not exist")
return getattr(self, name, None)
def __str__(self):
"""
Return a string representation of the state object.
"""
return str(self.__dict__)
def to_dict(self):
"""
Return a dictionary representation of the state object.
"""
return self.__dict__