aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/conventionalrp/extractors/rule_extractor.py
diff options
context:
space:
mode:
authorHsiangNianian <i@jyunko.cn>2025-03-13 01:01:20 +0800
committerHsiangNianian <i@jyunko.cn>2025-03-13 01:01:20 +0800
commit80b74f79dfbfa9afb845172a5ea84110d75f1bc8 (patch)
tree361dcb055de78b50d82619646fde28fa618f9507 /src/conventionalrp/extractors/rule_extractor.py
parentdd873e954a92d0e3209fe98b034570b47c859589 (diff)
downloadconventional_role_play-80b74f79dfbfa9afb845172a5ea84110d75f1bc8.tar.gz
conventional_role_play-80b74f79dfbfa9afb845172a5ea84110d75f1bc8.zip
refactor(project)!: first implementation of the Conventional Role Play SDK with core components, renderers, extractors, and example usage.
Diffstat (limited to 'src/conventionalrp/extractors/rule_extractor.py')
-rw-r--r--src/conventionalrp/extractors/rule_extractor.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/conventionalrp/extractors/rule_extractor.py b/src/conventionalrp/extractors/rule_extractor.py
new file mode 100644
index 0000000..78e8505
--- /dev/null
+++ b/src/conventionalrp/extractors/rule_extractor.py
@@ -0,0 +1,24 @@
+class BaseExtractor:
+ def extract(self):
+ raise NotImplementedError("This method should be overridden by subclasses.")
+
+ def load_rules(self, rules):
+ raise NotImplementedError("This method should be overridden by subclasses.")
+
+
+class RuleExtractor(BaseExtractor):
+ def __init__(self, config_file):
+ self.config_file = config_file
+ self.rules = self.load_rules_from_file()
+
+ def load_rules_from_file(self):
+ import json
+ with open(self.config_file, 'r') as file:
+ return json.load(file)
+
+ def extract(self):
+ # Implement rule extraction logic here
+ extracted_rules = []
+ for rule in self.rules:
+ extracted_rules.append(rule) # Placeholder for actual extraction logic
+ return extracted_rules \ No newline at end of file