#!/usr/bin/perl use strict; use warnings FATAL => qw( all ); use lib '../files/perl/lib'; use Base::Data qw(data_file get_hash); use Base::Nifty qw(my_sort); use Twitter qw(twitter_accounts); my $link = "https://twitter.com/#!"; my %lists; for my $account (twitter_accounts) { my $account_list_file = data_file("Twitter/users/$account","lists.txt"); if (-s $account_list_file) { my %sublists = get_hash( file => $account_list_file, headings => [qw(id slug name user members_count members_change subscribers_count subscribers_change status)], ); for (keys %sublists) { next if $sublists{$_}{status} ne 'owner'; $lists{$_} = $sublists{$_}; } } } my @networks = qw(ABC CBS FOX NBC SyFy TNT USA); my $network_string = join('|',@networks); for my $list (sort { if ($a->{user} =~ /LadyAleena_($network_string|TV)/ && $a->{name} !~ /TV/) { return -1 } elsif ($b->{user} =~ /LadyAleena_($network_string|TV)/ && $b->{name} !~ /TV/) { return 1 } else { if ($a->{user} =~ /LadyAleena_($network_string)/ && $a->{name} =~ /TV shows$/) { return -1 } elsif ($b->{user} =~ /LadyAleena_($network_string)/ && $b->{name} =~ /TV shows$/) { return 1 } else { if ($a->{user} eq 'LadyAleena_TV' && $a->{name} eq 'Premium TV shows') { return -1 } elsif ($b->{user} eq 'LadyAleena_TV' && $b->{name} eq 'Premium TV shows') { return 1 } else { if ($a->{user} eq 'LadyAleena_TV' && $a->{name} eq 'TV shows') { return -1 } elsif ($b->{user} eq 'LadyAleena_TV' && $b->{name} eq 'TV shows') { return 1 } else { if ($a->{user} eq 'LadyAleena_TV' && $a->{name} eq 'TV networks') { return -1 } elsif ($b->{user} eq 'LadyAleena_TV' && $b->{name} eq 'TV networks') { return 1 } else { if ($a->{user} eq 'Lady_Aleena' && $a->{name} =~ /(Comedians|Musicians)/) { return -1 } elsif ($b->{user} eq 'Lady_Aleena' && $b->{name} =~ /(Comedians|Musicians)/) { return 1 } else { if ($a->{user} eq 'Lady_Aleena' && $a->{name} =~ /(Horror|Science fiction)/) { return -1 } elsif ($b->{user} eq 'Lady_Aleena' && $b->{name} =~ /(Horror|Science fiction)/) { return 1 } else { if ($a->{user} eq 'Lady_Aleena' && $a->{name} eq 'Ripley\'s & Guinness') { return -1 } elsif ($b->{user} eq 'Lady_Aleena' && $b->{name} eq 'Ripley\'s & Guinness') { return 1 } else { if ($a->{user} eq 'LadyAleena_home') { return -1 } elsif ($b->{user} eq 'LadyAleena_home') { return 1 } else { if ($a->{user} eq 'Lady_Aleena' && $a->{name} =~ /(Followers' businesses|List subscribers)/) { return -1 } elsif ($b->{user} eq 'Lady_Aleena' && $b->{name} =~ /(Followers' businesses|List subscribers)/) { return 1 } else { my_sort($a->{name},$b->{name},'article'); } } } } } } } } } } } values %lists) { local $\ = "\n"; my $name = $list->{name}; my $user = $list->{user}; print "$name ($user)"; }