commit 30323616cb2f34d177a079189a6763cd43c050d6
parent 56d5de2e414da65d32bc5dba21a8face1f2469ba
Author: default <nobody@localhost>
Date: Sat, 19 Oct 2024 21:22:52 +0200
Also import lists.csv.
Diffstat:
2 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/data.c b/data.c
@@ -2004,6 +2004,9 @@ xs_val *list_maint(snac *user, const char *list, int op)
while (xs_list_next(lol, &v, &c)) {
if (strcmp(xs_list_get(v, 1), list) == 0) {
add = 0;
+
+ l = xs_dup(xs_list_get(v, 0));
+
break;
}
}
diff --git a/utils.c b/utils.c
@@ -766,6 +766,26 @@ void import_csv(snac *user)
xs *l = xs_strip_i(xs_readline(f));
if (*l) {
+ xs *l2 = xs_split(l, ",");
+ const char *lname = xs_list_get(l2, 0);
+ const char *acct = xs_list_get(l2, 1);
+
+ if (lname && acct) {
+ /* create the list */
+ xs *list_id = list_maint(user, lname, 1);
+
+ xs *url = NULL;
+ xs *uid = NULL;
+
+ if (valid_status(webfinger_request(acct, &url, &uid))) {
+ xs *actor_md5 = xs_md5_hex(url, strlen(url));
+
+ list_content(user, list_id, actor_md5, 1);
+ snac_log(user, xs_fmt("Added %s to list %s", url, lname));
+ }
+ else
+ snac_log(user, xs_fmt("Webfinger error while adding %s to list %s", acct, lname));
+ }
}
}