Feat(filter): Added trait filter
This commit is contained in:
26
main.py
26
main.py
@@ -31,12 +31,14 @@ def main():
|
||||
|
||||
filter_name_list = input("Enter the name of the item you want to filter (e.g. 'Force Sword,Surge Force'): ").strip().split(",")
|
||||
filter_score_str = input("Enter the minimum base (excluding perks etc) score of the item you want to filter (e.g. 350): ")
|
||||
filter_trait_list = input("Enter the trait/blessing name of the item you want to filter (e.g. 'Terrifying Barrage,Riposte'): ").strip().split(",")
|
||||
|
||||
# Send status
|
||||
status_str = "Starting to monitor shop items.\n\n"
|
||||
status_str += "Characters:\n%s\n\n" % "\n".join([characters[i]["name"] + " (" + characters[i]["archetype"] + ")" for i in chosen_char_index_list])
|
||||
status_str += "Filter Name: %s\n" % filter_name_list
|
||||
status_str += "Filter Score: %s\n" % filter_score_str
|
||||
status_str += "Filter Trait: %s\n" % filter_trait_list
|
||||
|
||||
if webhook_url != "":
|
||||
requests.post(webhook_url, data=status_str)
|
||||
@@ -53,7 +55,7 @@ def main():
|
||||
|
||||
# Print credit store details
|
||||
for store_item in credit_store_details_list:
|
||||
print_str += create_store_item_details(store_item, characters, chosen_char_index, filter_name_list, filter_score_str, "Credit Store (Ordo Dockets)")
|
||||
print_str += create_store_item_details(store_item, characters, chosen_char_index, filter_name_list, filter_score_str, filter_trait_list, "Credit Store (Ordo Dockets)")
|
||||
|
||||
checked_marks_store = False
|
||||
if datetime.datetime.utcnow().hour == 1 or not checked_marks_store:
|
||||
@@ -64,7 +66,7 @@ def main():
|
||||
|
||||
# Print marks store details
|
||||
for store_item in marks_store_details_list:
|
||||
print_str += create_store_item_details(store_item, characters, chosen_char_index, filter_name_list, filter_score_str, "Marks Store (Contract)")
|
||||
print_str += create_store_item_details(store_item, characters, chosen_char_index, filter_name_list, filter_score_str, filter_trait_list, "Marks Store (Contract)")
|
||||
|
||||
|
||||
if webhook_url != "":
|
||||
@@ -93,7 +95,7 @@ def main():
|
||||
time.sleep(60)
|
||||
|
||||
|
||||
def create_store_item_details(store_item: dict, characters: list, chosen_char_index: int, filter_name_list: list, filter_score_str: str, store_name: str) -> str:
|
||||
def create_store_item_details(store_item: dict, characters: list, chosen_char_index: int, filter_name_list: list, filter_score_str: str, filter_trait_list: list, store_name: str) -> str:
|
||||
print_str = ""
|
||||
item_name_display = STORE_ITEMS_DETAILS[store_item["description"]["id"]]["display_name"]
|
||||
item_base_score = store_item["description"]["overrides"]["baseItemLevel"]
|
||||
@@ -109,6 +111,24 @@ def create_store_item_details(store_item: dict, characters: list, chosen_char_in
|
||||
|
||||
if filter_score_str != "" and item_base_score < int(filter_score_str):
|
||||
return ""
|
||||
|
||||
if filter_trait_list[0] != "":
|
||||
try:
|
||||
check_trait_exist = False
|
||||
for trait_name in filter_trait_list:
|
||||
for perk in store_item["description"]["overrides"]["traits"]:
|
||||
perk_name = STORE_ITEMS_DETAILS[perk["id"]]
|
||||
trait_display_name = perk_name["display_name"]
|
||||
if trait_name in trait_display_name:
|
||||
check_trait_exist = True
|
||||
break
|
||||
if check_trait_exist:
|
||||
break
|
||||
|
||||
if not check_trait_exist:
|
||||
return ""
|
||||
except:
|
||||
return ""
|
||||
|
||||
item_name = STORE_ITEMS_DETAILS[store_item["description"]["id"]]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user