Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge branch 'master' into gh-pages
  • Loading branch information
davorg committed Aug 17, 2014
2 parents e08cbd3 + 537154d commit 4ad5e36
Show file tree
Hide file tree
Showing 17 changed files with 865 additions and 20 deletions.
60 changes: 60 additions & 0 deletions bin/create_lists
@@ -0,0 +1,60 @@
#!/usr/bin/perl

use strict;
use warnings;
use 5.010;
use lib 'lib';

use TwittElection::Twitter;
use TwittElection::Schema;

my $sch = TwittElection::Schema->connect(
"dbi:mysql:$ENV{TE_DB}", $ENV{TE_USER}, $ENV{TE_PASS},
) or die;

my $con_rs = $sch->resultset('Constituency');

my $t = TwittElection::Twitter->new(
traits => [ 'API::RESTv1_1', 'OAuth' ],
ssl => 1,
consumer_key => $ENV{TE_TW_API_KEY},
consumer_secret => $ENV{TE_TW_API_SEC},
);

$t->authorise;

foreach my $con ($con_rs->all) {
next unless $con->candidates->count;
say $con->name;

eval {
if ($con->list_id) {
say 'Delete ', $con->list_name;
$t->delete_list({
list_id => $con->list_id,
});
}
};
say 'Create ', $con->name;
my $list = $t->create_list({
owner_screen_name => 'twittelection',
name => $con->name,
});
say "Created $list->{slug} ($list->{id})";
sleep 2;

$con->update({
list_name => $list->{slug},
list_id => $list->{id},
});

foreach my $cand ($con->candidates) {
next unless $cand->twitter;
say ' -> ', $cand->name;
$t->add_list_member({
list_id => $list->{id},
screen_name => $cand->twitter,
});
sleep 2;
}
}
21 changes: 21 additions & 0 deletions bin/delete_list
@@ -0,0 +1,21 @@
#!/usr/bin/perl

use strict;
use warnings;
use 5.010;
use lib 'lib';

use TwittElection::Twitter;

my $t = TwittElection::Twitter->new(
traits => [ 'API::RESTv1_1', 'OAuth' ],
ssl => 1,
consumer_key => $ENV{TE_TW_API_KEY},
consumer_secret => $ENV{TE_TW_API_SEC},
);

$t->authorise;

$t->delete_list({
list_id => +shift,
});
22 changes: 22 additions & 0 deletions bin/delete_lists
@@ -0,0 +1,22 @@
#!/usr/bin/perl

use strict;
use warnings;
use 5.010;
use lib 'lib';

use TwittElection::Twitter;

my $t = TwittElection::Twitter->new(
traits => [ 'API::RESTv1_1', 'OAuth' ],
ssl => 1,
consumer_key => $ENV{TE_TW_API_KEY},
consumer_secret => $ENV{TE_TW_API_SEC},
);

$t->authorise;

foreach my $list (@{$t->list_ownerships->{lists}}) {
say $list->{name}, ' (', $list->{id}, ')';
$t->delete_list({ list_id => $list->{id} });
}
24 changes: 24 additions & 0 deletions bin/list_lists
@@ -0,0 +1,24 @@
#!/usr/bin/perl

use strict;
use warnings;
use 5.010;
use lib 'lib';

use TwittElection::Twitter;

my $t = TwittElection::Twitter->new(
traits => [ 'API::RESTv1_1', 'OAuth' ],
ssl => 1,
consumer_key => $ENV{TE_TW_API_KEY},
consumer_secret => $ENV{TE_TW_API_SEC},
);

$t->authorise;

foreach my $list (@{$t->list_ownerships->{lists}}) {
say $list->{name}, ' (', $list->{id}, ')';
foreach my $mem (@{$t->list_members({ list_id => $list->{id} })->{users}}) {
say "* \@$mem->{screen_name}";
}
}
96 changes: 96 additions & 0 deletions c/aberavon.html
@@ -0,0 +1,96 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>TwittElection: Aberavon</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="/css/bootstrap.min.css">
<style>
body {
padding-top: 50px;
padding-bottom: 20px;
}
</style>
<link rel="stylesheet" href="/css/bootstrap-theme.min.css">
<link rel="stylesheet" href="/css/main.css">

<script src="/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>
</head>
<body>
<!--[if lt IE 7]>
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">TwittElection</a>
</div>
<div class="navbar-collapse collapse">
<!-- form class="navbar-form navbar-right" role="form">
<div class="form-group">
<input type="text" placeholder="Email" class="form-control">
</div>
<div class="form-group">
<input type="password" placeholder="Password" class="form-control">
</div>
<button type="submit" class="btn btn-success">Sign in</button>
</form -->
</div><!--/.navbar-collapse -->
</div>
</div>

<!-- Main jumbotron for a primary marketing message or call to action -->
<div class="jumbotron">
<div class="container">
<h1>Aberavon</h1>
<div class="row">
<div class="col-md-8">
<a class="twitter-timeline" href="https://twitter.com/TwittElection/lists/aberavon" data-widget-id="464129893937082368" data-list-owner-screen-name="TwittElection" data-list-slug="aberavon">Tweets from https://twitter.com/TwittElection/lists/aberavon</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</div>
<div class="col-md-4">
<ul>
<li>Stephen Kinnock (Labour)<br><a href="https://twitter.com/SKinnock">@SKinnock</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="footer">
<div class="container">
<p class="muted">Made by <a href="https://twitter.com/davorg/">@davorg</a></p>
</div>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="/js/vendor/jquery-1.11.0.min.js"><\/script>')</script>

<script src="/js/vendor/bootstrap.min.js"></script>

<script src="/js/plugins.js"></script>
<script src="/js/main.js"></script>

<!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-56332-52', 'twittelection.co.uk');
ga('send', 'pageview');

</script>
</body>
</html>
96 changes: 96 additions & 0 deletions c/aberconwy.html
@@ -0,0 +1,96 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>TwittElection: Aberconwy</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="/css/bootstrap.min.css">
<style>
body {
padding-top: 50px;
padding-bottom: 20px;
}
</style>
<link rel="stylesheet" href="/css/bootstrap-theme.min.css">
<link rel="stylesheet" href="/css/main.css">

<script src="/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>
</head>
<body>
<!--[if lt IE 7]>
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">TwittElection</a>
</div>
<div class="navbar-collapse collapse">
<!-- form class="navbar-form navbar-right" role="form">
<div class="form-group">
<input type="text" placeholder="Email" class="form-control">
</div>
<div class="form-group">
<input type="password" placeholder="Password" class="form-control">
</div>
<button type="submit" class="btn btn-success">Sign in</button>
</form -->
</div><!--/.navbar-collapse -->
</div>
</div>

<!-- Main jumbotron for a primary marketing message or call to action -->
<div class="jumbotron">
<div class="container">
<h1>Aberconwy</h1>
<div class="row">
<div class="col-md-8">
<a class="twitter-timeline" href="https://twitter.com/TwittElection/lists/aberconwy" data-widget-id="464129893937082368" data-list-owner-screen-name="TwittElection" data-list-slug="aberconwy">Tweets from https://twitter.com/TwittElection/lists/aberconwy</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</div>
<div class="col-md-4">
<ul>
<li>Guto Bebb (Conservative)<br><a href="https://twitter.com/GutoBebb">@GutoBebb</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="footer">
<div class="container">
<p class="muted">Made by <a href="https://twitter.com/davorg/">@davorg</a></p>
</div>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="/js/vendor/jquery-1.11.0.min.js"><\/script>')</script>

<script src="/js/vendor/bootstrap.min.js"></script>

<script src="/js/plugins.js"></script>
<script src="/js/main.js"></script>

<!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-56332-52', 'twittelection.co.uk');
ga('send', 'pageview');

</script>
</body>
</html>

0 comments on commit 4ad5e36

Please sign in to comment.