Skip to content

Commit a9bfcb6

Browse files
committed
clean the existing data before uploading the new one
Signed-off-by: Gaëtan Lehmann <[email protected]>
1 parent 02276d9 commit a9bfcb6

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

scripts/plane_to_grist/plane_to_grist.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,12 @@ def grist_get(path):
3636
except Exception as e:
3737
print(resp.json())
3838
raise e
39-
return resp.json()[path]
39+
data = resp.json()
40+
basename = os.path.basename(path)
41+
if basename in data:
42+
return data[basename]
43+
else:
44+
return data
4045

4146
def grist_post(path, data):
4247
resp = requests.post(f'{GRIST_URL}/{path}', headers={'Authorization': f'Bearer {args.grist_token}'}, json=data)
@@ -177,11 +182,24 @@ def table_to_var(table):
177182
]
178183
}]})
179184

185+
grist_post('tables/Members/data/delete', [r['id'] for r in grist_get('tables/Members/records')])
186+
grist_post('tables/Members/records', {'records': [{'fields': filter_columns(member)} for member in members]})
187+
188+
grist_post('tables/Labels/data/delete', [r['id'] for r in grist_get('tables/Labels/records')])
180189
grist_post('tables/Labels/records', {'records': [{'fields': filter_columns(label)} for label in labels]})
190+
191+
grist_post('tables/Modules/data/delete', [r['id'] for r in grist_get('tables/Modules/records')])
181192
grist_post('tables/Modules/records', {'records': [{'fields': filter_columns(module)} for module in modules]})
193+
194+
grist_post('tables/Types/data/delete', [r['id'] for r in grist_get('tables/Types/records')])
182195
grist_post('tables/Types/records', {'records': [{'fields': filter_columns(type)} for type in types]})
196+
197+
grist_post('tables/States/data/delete', [r['id'] for r in grist_get('tables/States/records')])
183198
grist_post('tables/States/records', {'records': [{'fields': filter_columns(state)} for state in states]})
184-
grist_post('tables/Members/records', {'records': [{'fields': filter_columns(member)} for member in members]})
199+
200+
grist_post('tables/Issues/data/delete', [r['id'] for r in grist_get('tables/Issues/records')])
201+
grist_post('tables/IssueLabels/data/delete', [r['id'] for r in grist_get('tables/IssueLabels/records')])
202+
grist_post('tables/IssueAssignees/data/delete', [r['id'] for r in grist_get('tables/IssueAssignees/records')])
185203
for subissues in make_chunks(issues, 10):
186204
grist_post('tables/Issues/records', {'records': [{'fields': filter_columns(issue)} for issue in subissues]})
187205
issue_label_records = [
@@ -204,6 +222,8 @@ def table_to_var(table):
204222
'records': issue_assignee_records
205223
},
206224
)
225+
226+
grist_post('tables/ModuleIssues/data/delete', [r['id'] for r in grist_get('tables/ModuleIssues/records')])
207227
grist_post(
208228
'tables/ModuleIssues/records',
209229
{'records': [{'fields': filter_columns(module_issue)} for module_issue in module_issues]},

0 commit comments

Comments
 (0)