@@ -56,6 +56,7 @@ def main(args):
5656 app = knackpy .App (app_id = APP_ID , api_key = API_KEY )
5757
5858 # 1. Check for work orders to be copied.
59+ # Note that this view is already pre-filtered in Knack to PM records that need to be copied.
5960 pm_records = app .get (container )
6061 if not pm_records :
6162 logger .info ("No PM records need to be copied, did nothing." )
@@ -97,7 +98,9 @@ def main(args):
9798 # Grabbing some useful knack field names
9899 copied_field_name = find_knack_field_name ("COPIED_TO_SECONDARY" , pm_field_names )
99100 signal_field_name = find_knack_field_name ("signal" , pm_field_names )
100- modified_date_field_name = find_knack_field_name ("MODIFIED_DATE" , signal_field_names )
101+ modified_date_field_name = find_knack_field_name (
102+ "MODIFIED_DATE" , signal_field_names
103+ )
101104
102105 knack_todos = []
103106 for pm in pm_records :
@@ -119,25 +122,36 @@ def main(args):
119122 new_rec [key ] = pm .data [f"{ key } _raw" ]
120123 elif pm .fields [key ].field_def .type in ["connection" ]:
121124 new_rec [key ] = [entry ["id" ] for entry in pm .data [f"{ key } _raw" ]]
122- elif pm .fields [key ].field_def .type in ["auto_increment" , "concatenation" ]:
125+ elif pm .fields [key ].field_def .type in [
126+ "auto_increment" ,
127+ "concatenation" ,
128+ ]:
123129 continue
124130 else :
125131 new_rec [key ] = pm .data [key ]
126132 # Tagging the signal with the secondary signal's knack record ID
127133 new_rec [signal_field_name ] = secondary ["id" ]
128- knack_todos .append ({"method" : "create" , "obj" : config ["object" ], "data" : new_rec })
134+ knack_todos .append (
135+ {"method" : "create" , "obj" : config ["object" ], "data" : new_rec }
136+ )
129137
130138 # Update the modified date of the secondary traffic signal, so the data is refreshed on the ODP.
131139 data = {"id" : secondary ["id" ], modified_date_field_name : current_date }
132- knack_todos .append ({"method" : "update" , "obj" : config ["signal_object_id" ], "data" : data })
140+ knack_todos .append (
141+ {"method" : "update" , "obj" : config ["signal_object_id" ], "data" : data }
142+ )
133143
134144 # Sending updates/creates to knack
135145 logger .info (f"Updating/creating { len (knack_todos )} knack records" )
136146 count = 0
137147 for knack_job in knack_todos :
138148 if count % 10 == 0 :
139149 logger .info (f"Uploading record { count } of { len (knack_todos )} " )
140- res = record_to_knack (record = knack_job ["data" ], object_id = knack_job ["obj" ], method = knack_job ["method" ])
150+ res = record_to_knack (
151+ record = knack_job ["data" ],
152+ object_id = knack_job ["obj" ],
153+ method = knack_job ["method" ],
154+ )
141155 count += 1
142156
143157
0 commit comments