diff options
| author | 2024-10-19 21:22:52 +0200 | |
|---|---|---|
| committer | 2024-10-19 21:22:52 +0200 | |
| commit | 30323616cb2f34d177a079189a6763cd43c050d6 (patch) | |
| tree | 9a2b9e85ab37e3cccf2056ef6bf0065017b806f6 | |
| parent | Also import following_accounts.csv. (diff) | |
| download | penes-snac2-30323616cb2f34d177a079189a6763cd43c050d6.tar.gz penes-snac2-30323616cb2f34d177a079189a6763cd43c050d6.tar.xz penes-snac2-30323616cb2f34d177a079189a6763cd43c050d6.zip | |
Also import lists.csv.
| -rw-r--r-- | data.c | 3 | ||||
| -rw-r--r-- | utils.c | 20 |
2 files changed, 23 insertions, 0 deletions
| @@ -2004,6 +2004,9 @@ xs_val *list_maint(snac *user, const char *list, int op) | |||
| 2004 | while (xs_list_next(lol, &v, &c)) { | 2004 | while (xs_list_next(lol, &v, &c)) { |
| 2005 | if (strcmp(xs_list_get(v, 1), list) == 0) { | 2005 | if (strcmp(xs_list_get(v, 1), list) == 0) { |
| 2006 | add = 0; | 2006 | add = 0; |
| 2007 | |||
| 2008 | l = xs_dup(xs_list_get(v, 0)); | ||
| 2009 | |||
| 2007 | break; | 2010 | break; |
| 2008 | } | 2011 | } |
| 2009 | } | 2012 | } |
| @@ -766,6 +766,26 @@ void import_csv(snac *user) | |||
| 766 | xs *l = xs_strip_i(xs_readline(f)); | 766 | xs *l = xs_strip_i(xs_readline(f)); |
| 767 | 767 | ||
| 768 | if (*l) { | 768 | if (*l) { |
| 769 | xs *l2 = xs_split(l, ","); | ||
| 770 | const char *lname = xs_list_get(l2, 0); | ||
| 771 | const char *acct = xs_list_get(l2, 1); | ||
| 772 | |||
| 773 | if (lname && acct) { | ||
| 774 | /* create the list */ | ||
| 775 | xs *list_id = list_maint(user, lname, 1); | ||
| 776 | |||
| 777 | xs *url = NULL; | ||
| 778 | xs *uid = NULL; | ||
| 779 | |||
| 780 | if (valid_status(webfinger_request(acct, &url, &uid))) { | ||
| 781 | xs *actor_md5 = xs_md5_hex(url, strlen(url)); | ||
| 782 | |||
| 783 | list_content(user, list_id, actor_md5, 1); | ||
| 784 | snac_log(user, xs_fmt("Added %s to list %s", url, lname)); | ||
| 785 | } | ||
| 786 | else | ||
| 787 | snac_log(user, xs_fmt("Webfinger error while adding %s to list %s", acct, lname)); | ||
| 788 | } | ||
| 769 | } | 789 | } |
| 770 | } | 790 | } |
| 771 | 791 | ||