commit 53f339a
default
·
2024-09-18 10:28:58 +0000 UTC
parent 748d604
Also export lists.csv.
1 files changed,
+35,
-0
M
utils.c
M
utils.c
+35,
-0
1@@ -618,6 +618,41 @@ void export_csv(snac *user)
2 }
3 else
4 snac_log(user, xs_fmt("Cannot create file %s", fn));
5+
6+ fn = "lists.csv";
7+ if ((f = fopen(fn, "w")) != NULL) {
8+ snac_log(user, xs_fmt("Creating %s...", fn));
9+
10+ xs *lol = list_maint(user, NULL, 0);
11+ const xs_list *li;
12+
13+ xs_list_foreach(lol, li) {
14+ const char *lid = xs_list_get(li, 0);
15+ const char *ltitle = xs_list_get(li, 1);
16+
17+ xs *actors = list_content(user, lid, NULL, 0);
18+ const char *md5;
19+
20+ xs_list_foreach(actors, md5) {
21+ xs *actor = NULL;
22+
23+ if (valid_status(object_get_by_md5(md5, &actor))) {
24+ const char *id = xs_dict_get(actor, "id");
25+ xs *uid = NULL;
26+ int status;
27+
28+ if (valid_status((status = webfinger_request(id, NULL, &uid))))
29+ fprintf(f, "%s,%s\n", ltitle, uid);
30+ else
31+ snac_log(user, xs_fmt("Error resolving list member %s %d", id, status));
32+ }
33+ }
34+ }
35+
36+ fclose(f);
37+ }
38+ else
39+ snac_log(user, xs_fmt("Cannot create file %s", fn));
40 }
41
42