From 15f352fe8311c0b435228a99e040fdc5e1c08ed4 Mon Sep 17 00:00:00 2001 From: default Date: Mon, 25 Nov 2024 08:15:34 +0100 Subject: When importing CSV lists, also follow that accounts. --- utils.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'utils.c') diff --git a/utils.c b/utils.c index 4f5ac55..42200aa 100644 --- a/utils.c +++ b/utils.c @@ -782,6 +782,21 @@ void import_csv(snac *user) list_content(user, list_id, actor_md5, 1); snac_log(user, xs_fmt("Added %s to list %s", url, lname)); + + if (!following_check(user, url)) { + xs *msg = msg_follow(user, url); + + if (msg == NULL) { + snac_log(user, xs_fmt("Cannot follow %s -- server down?", acct)); + continue; + } + + following_add(user, url, msg); + + enqueue_output_by_actor(user, msg, url, 0); + + snac_log(user, xs_fmt("Following %s", url)); + } } else snac_log(user, xs_fmt("Webfinger error while adding %s to list %s", acct, lname)); -- cgit v1.2.3 From 2eff3ffb664d372d68ab2d953466d7ba946c96c2 Mon Sep 17 00:00:00 2001 From: default Date: Mon, 25 Nov 2024 10:08:50 +0100 Subject: Most CSV import code has been moved to their own functions. --- utils.c | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) (limited to 'utils.c') diff --git a/utils.c b/utils.c index 42200aa..b0d8193 100644 --- a/utils.c +++ b/utils.c @@ -670,13 +670,11 @@ void export_csv(snac *user) } -void import_csv(snac *user) -/* import CSV files from Mastodon */ +void import_blocked_accounts_csv(snac *user, const char *fn) +/* imports a Mastodon CSV file of blocked accounts */ { FILE *f; - const char *fn; - fn = "blocked_accounts.csv"; if ((f = fopen(fn, "r")) != NULL) { snac_log(user, xs_fmt("Importing from %s...", fn)); @@ -704,8 +702,14 @@ void import_csv(snac *user) } else snac_log(user, xs_fmt("Cannot open file %s", fn)); +} + + +void import_following_accounts_csv(snac *user, const char *fn) +/* imports a Mastodon CSV file of accounts to follow */ +{ + FILE *f; - fn = "following_accounts.csv"; if ((f = fopen(fn, "r")) != NULL) { snac_log(user, xs_fmt("Importing from %s...", fn)); @@ -757,8 +761,14 @@ void import_csv(snac *user) } else snac_log(user, xs_fmt("Cannot open file %s", fn)); +} + + +void import_list_csv(snac *user, const char *fn) +/* imports a Mastodon CSV file list */ +{ + FILE *f; - fn = "lists.csv"; if ((f = fopen(fn, "r")) != NULL) { snac_log(user, xs_fmt("Importing from %s...", fn)); @@ -808,6 +818,20 @@ void import_csv(snac *user) } else snac_log(user, xs_fmt("Cannot open file %s", fn)); +} + + +void import_csv(snac *user) +/* import CSV files from Mastodon */ +{ + FILE *f; + const char *fn; + + import_blocked_accounts_csv(user, "blocked_accounts.csv"); + + import_following_accounts_csv(user, "following_accounts.csv"); + + import_list_csv(user, "lists.csv"); fn = "bookmarks.csv"; if ((f = fopen(fn, "r")) != NULL) { -- cgit v1.2.3 From b3be8e06734c6428376514024af7cabf13774dce Mon Sep 17 00:00:00 2001 From: default Date: Mon, 25 Nov 2024 10:24:47 +0100 Subject: New cmdline ops 'import_list' and 'import_block_list'. --- utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'utils.c') diff --git a/utils.c b/utils.c index b0d8193..df3b55d 100644 --- a/utils.c +++ b/utils.c @@ -681,7 +681,7 @@ void import_blocked_accounts_csv(snac *user, const char *fn) while (!feof(f)) { xs *l = xs_strip_i(xs_readline(f)); - if (*l) { + if (*l && strchr(l, '@') != NULL) { xs *url = NULL; xs *uid = NULL; -- cgit v1.2.3