bryan-stearns commited on
Commit ·
9bedfdd
1
Parent(s): 9a7eb03
Fixing print for prim-exists obj class
Browse files- Inspect_Logic.py +4 -2
- smem_obj.py +23 -10
Inspect_Logic.py
CHANGED
|
@@ -51,9 +51,10 @@ def get_filter_features_dict(root_obj):
|
|
| 51 |
# Get the content to filter on
|
| 52 |
features_dict = get_filter_features_dict(st.session_state.col_obj_list[0])
|
| 53 |
filters_expander = st.expander(label="Filters")
|
| 54 |
-
filters_cols = filters_expander.columns(len(features_dict))
|
| 55 |
filters_dict = {}
|
| 56 |
-
for key
|
|
|
|
| 57 |
filters_dict[key] = col.multiselect(label=key, options=["(none)"]+sorted(features_dict[key]))
|
| 58 |
|
| 59 |
|
|
@@ -102,6 +103,7 @@ for i,col in enumerate(cols):
|
|
| 102 |
obj = st.session_state.col_obj_list[i]
|
| 103 |
obj_str,obj_label,obj_desc = obj.to_string()
|
| 104 |
sub_objs = list(obj.get_child_objects(compact=True))
|
|
|
|
| 105 |
# print(obj.obj_type)
|
| 106 |
if len(sub_objs) > 0:
|
| 107 |
col.markdown("**"+get_header_str(sub_objs[0].obj_type)+"**",)
|
|
|
|
| 51 |
# Get the content to filter on
|
| 52 |
features_dict = get_filter_features_dict(st.session_state.col_obj_list[0])
|
| 53 |
filters_expander = st.expander(label="Filters")
|
| 54 |
+
filters_cols = filters_expander.columns(min(len(features_dict), 5)) # Show 5 filters per row
|
| 55 |
filters_dict = {}
|
| 56 |
+
for i,key in enumerate(features_dict):
|
| 57 |
+
col = filters_cols[i % len(filters_cols)]
|
| 58 |
filters_dict[key] = col.multiselect(label=key, options=["(none)"]+sorted(features_dict[key]))
|
| 59 |
|
| 60 |
|
|
|
|
| 103 |
obj = st.session_state.col_obj_list[i]
|
| 104 |
obj_str,obj_label,obj_desc = obj.to_string()
|
| 105 |
sub_objs = list(obj.get_child_objects(compact=True))
|
| 106 |
+
sub_objs.sort(key=lambda x:x.to_string()[1])
|
| 107 |
# print(obj.obj_type)
|
| 108 |
if len(sub_objs) > 0:
|
| 109 |
col.markdown("**"+get_header_str(sub_objs[0].obj_type)+"**",)
|
smem_obj.py
CHANGED
|
@@ -43,17 +43,24 @@ class SMEM_Obj():
|
|
| 43 |
for child in children:
|
| 44 |
_, short_label, desc = child.to_string()
|
| 45 |
# Trim the label based on the object type
|
| 46 |
-
if child.
|
| 47 |
if desc and desc != "()":
|
| 48 |
str_to_use = desc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
else:
|
| 50 |
str_to_use = short_label
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
|
|
|
| 57 |
# Merge this dict of sets with results from each branch of children
|
| 58 |
child_dict = child.get_referenced_features(dict_of_values)
|
| 59 |
for key, val in child_dict.items():
|
|
@@ -156,14 +163,20 @@ class SMEM_Obj():
|
|
| 156 |
if len(self.wme_list) == 0:
|
| 157 |
return "", ""
|
| 158 |
if negate:
|
| 159 |
-
|
|
|
|
|
|
|
|
|
|
| 160 |
else:
|
| 161 |
-
|
|
|
|
|
|
|
|
|
|
| 162 |
if self.class_str == None:
|
| 163 |
self.get_class()
|
| 164 |
|
| 165 |
retval_long, retval_short, retval_desc = ["(", "(", None]
|
| 166 |
-
if self.class_str == "prim":
|
| 167 |
group_str, attr_str, val_str = ["","",""]
|
| 168 |
for (attr,val) in self.wme_list:
|
| 169 |
if attr == "^group":
|
|
|
|
| 43 |
for child in children:
|
| 44 |
_, short_label, desc = child.to_string()
|
| 45 |
# Trim the label based on the object type
|
| 46 |
+
if child.get_class() == "prim":
|
| 47 |
if desc and desc != "()":
|
| 48 |
str_to_use = desc
|
| 49 |
+
try:
|
| 50 |
+
ind = str_to_use.index(" is ")
|
| 51 |
+
feature, value = str_to_use.replace("(","").replace(")","").split(" is ",maxsplit=1)
|
| 52 |
+
dict_of_values[feature].add(value)
|
| 53 |
+
except:
|
| 54 |
+
print("ERROR: str_to_use missing 'is'. Value was: '"+str(str_to_use)+"'")
|
| 55 |
else:
|
| 56 |
str_to_use = short_label
|
| 57 |
+
try:
|
| 58 |
+
ind = str_to_use.index(" = ")
|
| 59 |
+
feature, value = str_to_use.replace("(","").replace(")","").split(" = ",maxsplit=1)
|
| 60 |
+
dict_of_values[feature].add(value)
|
| 61 |
+
except:
|
| 62 |
+
print("ERROR: str_to_use missing '='. Value was: '"+str(str_to_use)+"'")
|
| 63 |
+
|
| 64 |
# Merge this dict of sets with results from each branch of children
|
| 65 |
child_dict = child.get_referenced_features(dict_of_values)
|
| 66 |
for key, val in child_dict.items():
|
|
|
|
| 163 |
if len(self.wme_list) == 0:
|
| 164 |
return "", ""
|
| 165 |
if negate:
|
| 166 |
+
if self.class_str == "prim-exists":
|
| 167 |
+
op_join_str = " not provided"
|
| 168 |
+
else:
|
| 169 |
+
op_join_str = " is not "
|
| 170 |
else:
|
| 171 |
+
if self.class_str == "prim-exists":
|
| 172 |
+
op_join_str = " provided"
|
| 173 |
+
else:
|
| 174 |
+
op_join_str = " is "
|
| 175 |
if self.class_str == None:
|
| 176 |
self.get_class()
|
| 177 |
|
| 178 |
retval_long, retval_short, retval_desc = ["(", "(", None]
|
| 179 |
+
if self.class_str == "prim" or self.class_str == "prim-exists":
|
| 180 |
group_str, attr_str, val_str = ["","",""]
|
| 181 |
for (attr,val) in self.wme_list:
|
| 182 |
if attr == "^group":
|