commit 53f339a

default  ·  2024-09-18 10:28:58 +0000 UTC
parent 748d604
Also export lists.csv.
1 files changed,  +35, -0
+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