in reply to Re^5: RFC on how I'm doing when it comes to writing objects?
in thread RFC on how I'm doing when it comes to writing objects?
Maybe if I showed some of the scripts where the data is used, maybe some pointers can be given on where my mind should be if I decide to try again with OO for the data.
list_links.pl
list_links sends HTML list items <li> to the clip board so I can paste them into a Tumblr post I update every once in a while to get more people to subscribe.
#!/usr/bin/perl use strict; use warnings FATAL => qw( all ); use Lingua::EN::Inflect qw(NO); use Win32::Clipboard; use lib '../files/perl/lib'; use Twitter::ListSort qw(list_compare); use Twitter::Data; my %lists = Twitter::Data::all_lists; # This is all of the lists I kee +p across all my accounts. my $board; for my $list (sort { list_compare($a,$b) } values %lists) { # Starting + the loop. next if !grep(/owner/,@{$list->{status}}); my $targ = $list->{target}; my $link = $list->{link}; my $name = length($list->{long_name}) ? $list->{long_name} : $list-> +{name}; my $targ_text = $targ > 0 ? " (".NO('subscriber',$targ)." 'til targe +t met)" : ''; my $asterisk = $list->{user} eq "Lady_Aleena" ? '*' : ''; $board .= qq(<li><a href="$link">$name</a>$asterisk$targ_text</li>\n +); } my $clip = Win32::Clipboard(); $clip->Set($board);
list_people.pl
list_people does three things.
- It tells me who I have not made members of my List subscribers list. Anyone who subscribes to one of my lists becomes a member of List subscribers. I take this group and add them to List subscribers with another script. Sometimes removed or suspended Twitter accounts remain as subscribers of a list for months or even years. I check to make sure the account exists before trying to add it (or readd it) to the List subscribers list.
- It tells me who is no longer subscribed to my lists who still remains on the List subscribers list. There is a way with Net::Twitter::Lite to remove people from the list programmatically, I just have not added it to the script yet.
- Since most of my accounts (not my main Lady_Aleena account) were created to house lists, most (if not all) of the people followed by the account is either a member or subscriber to a list. This section checks to see if the account is following someone who is neither a list member or list subscriber. The first time I ran the script with this section, I ended up creating about eight new lists.
#!/usr/bin/perl use strict; use warnings FATAL => qw( all ); use Lingua::EN::Inflect qw(WORDLIST); use Text::Table; use Win32::Clipboard; use lib '../files/perl/lib'; use Twitter::Data; my @accounts = Twitter::Data::accounts; my %lists = Twitter::Data::all_lists; my %lists_people = Twitter::Data::lists_people; my @subscribers = @{$lists{'72710881'}{members}}; local $\ = "\n"; # 1 above. print 'Subscribers not on the list'; for my $subscriber (keys %{$lists_people{subscribers}}) { my $s_lists = WORDLIST(@{$lists_people{subscribers}{$subscriber}}, { +conj=>''}); print "$subscriber - $s_lists" if !grep($_ eq $subscriber,@subscribe +rs); } print "\n"; # 2 above. print 'Non-subscribers on the list'; for my $subscriber (@subscribers) { print $subscriber if !$lists_people{subscribers}{$subscriber}; } print "\n"; # 3 above print 'People followed but not listed (by account)'; for my $account (@accounts) { next if $account =~ /^(LadyAleena_(?:eros|test))$/; my %account_people = Twitter::Data::acct_data($account,'people'); my @not_members; for my $person (values %account_people) { my $name = $person->{screen_name}; push @not_members, $name if ($person->{friends} == 1 && !$lists_pe +ople{members}{$name}); } local $\ = "\n"; if (scalar(@not_members) > 0) { print "$account"; for (sort {lc $a cmp lc $b} @not_members) { $board .= "\t$_\n"; print "\t$_"; } } }
If you see anything in there where OO would come in handy, let me know. These two scripts are probably the shortest of those I have written where I need the data.
Have a cookie and a very nice day!
Lady Aleena
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^7: RFC on how I'm doing when it comes to writing objects?
by mbethke (Hermit) on Feb 07, 2013 at 06:44 UTC | |
by Lady_Aleena (Priest) on Feb 08, 2013 at 15:20 UTC |
In Section
Seekers of Perl Wisdom