Wrong upload of the script
This commit is contained in:
parent
0373959df8
commit
d2183a79e0
@ -1,109 +0,0 @@
|
||||
import json
|
||||
import os
|
||||
import glob
|
||||
|
||||
def update_jr_button_paths(file_path):
|
||||
# Read the JSON file
|
||||
with open(file_path, 'r', encoding='utf-8') as f:
|
||||
data = json.load(f)
|
||||
|
||||
# Counter for changes
|
||||
changes_made = 0
|
||||
total_jr_found = 0
|
||||
|
||||
# Function to recursively search and update paths
|
||||
def update_paths(obj):
|
||||
nonlocal changes_made, total_jr_found
|
||||
if isinstance(obj, dict):
|
||||
# Check if this is a JR component by looking at meta.name
|
||||
if 'meta' in obj and 'name' in obj['meta']:
|
||||
name = obj['meta']['name']
|
||||
# Check if name contains JR
|
||||
if 'JR' in name:
|
||||
total_jr_found += 1
|
||||
print(f"Found JR component #{total_jr_found}: {name}")
|
||||
# Check for path in props
|
||||
if 'props' in obj and 'path' in obj['props']:
|
||||
current_path = obj['props']['path']
|
||||
print(f" Current path: '{current_path}'")
|
||||
if current_path == 'Symbol-Views/Equipment-Views/Estop':
|
||||
obj['props']['path'] = 'Symbol-Views/Equipment-Views/JR_Button'
|
||||
changes_made += 1
|
||||
print(f" ✓ Changed path for: {name}")
|
||||
else:
|
||||
print(f" ✗ Not changed - different path")
|
||||
else:
|
||||
print(f" ✗ Not changed - no path found")
|
||||
for value in obj.values():
|
||||
update_paths(value)
|
||||
elif isinstance(obj, list):
|
||||
for item in obj:
|
||||
update_paths(item)
|
||||
|
||||
# Update paths in the data
|
||||
update_paths(data)
|
||||
|
||||
# Write the updated data back to the file
|
||||
with open(file_path, 'w', encoding='utf-8') as f:
|
||||
json.dump(data, f, indent=2)
|
||||
|
||||
print(f"\nSummary:")
|
||||
print(f"Total JR components found: {total_jr_found}")
|
||||
print(f"Components updated: {changes_made}")
|
||||
|
||||
return changes_made
|
||||
|
||||
def find_view_files():
|
||||
# Search for view.json files only in the Detailed-Views directory
|
||||
base_path = r"C:\Program Files\Inductive Automation\Ignition\data\projects\MTN6_SCADA\com.inductiveautomation.perspective\views\Detailed-Views"
|
||||
view_files = []
|
||||
|
||||
for root, dirs, files in os.walk(base_path):
|
||||
for file in files:
|
||||
if file == 'view.json':
|
||||
view_files.append(os.path.join(root, file))
|
||||
|
||||
return view_files
|
||||
|
||||
def main():
|
||||
# Find all view.json files
|
||||
view_files = find_view_files()
|
||||
|
||||
if not view_files:
|
||||
print("No view.json files found!")
|
||||
return
|
||||
|
||||
# Display available files
|
||||
print("\nAvailable view.json files:")
|
||||
for i, file_path in enumerate(view_files, 1):
|
||||
# Show only the folder name and view.json for cleaner display
|
||||
folder_name = os.path.basename(os.path.dirname(file_path))
|
||||
print(f"{i}. {folder_name}/view.json")
|
||||
|
||||
# Get user selection
|
||||
while True:
|
||||
try:
|
||||
choice = input("\nEnter the number of the file you want to update (or 'q' to quit): ")
|
||||
if choice.lower() == 'q':
|
||||
break
|
||||
|
||||
choice = int(choice)
|
||||
if 1 <= choice <= len(view_files):
|
||||
selected_file = view_files[choice - 1]
|
||||
try:
|
||||
print(f"\nProcessing file: {selected_file}")
|
||||
changes = update_jr_button_paths(selected_file)
|
||||
print(f"\nUpdated {changes} JR button paths in {os.path.basename(os.path.dirname(selected_file))}/view.json")
|
||||
except Exception as e:
|
||||
print(f"\nError processing {selected_file}: {str(e)}")
|
||||
else:
|
||||
print("Invalid selection! Please try again.")
|
||||
except ValueError:
|
||||
print("Please enter a valid number or 'q' to quit.")
|
||||
|
||||
# Ask if user wants to process another file
|
||||
if input("\nDo you want to process another file? (y/n): ").lower() != 'y':
|
||||
break
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Loading…
x
Reference in New Issue
Block a user