client/podium-cp-tweets.html
author veltr
Wed, 15 Feb 2012 18:52:07 +0100
changeset 3 82b4715202d1
child 4 17a9402e2dc3
permissions -rw-r--r--
Modified client side tweet scraping script
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
     1
<!DOCTYPE html>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
     2
<html lang="en">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
     3
    <head>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
     4
        <meta charset="utf-8" />
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
     5
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
     6
        <title>controlpanel</title>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
     7
        <meta name="description" content="" />
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
     8
        <link rel="stylesheet" href="css/base-metric.css" />
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
     9
        <link rel="stylesheet" href="css/controlpanel.css" />
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    10
        <style type="text/css">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    11
            #podium-container {
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    12
                width: 800px;
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    13
                margin: 200px auto 0;
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    14
            }
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    15
            #podium {
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    16
                width: 100%;
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    17
                height: 300px;
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    18
                cursor: pointer;
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    19
            }
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    20
            #podium-labels {
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    21
                float: left;
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    22
                width: 100%;
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    23
                clear: both;
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    24
                margin-top: 20px;
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    25
            }
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    26
            #podium-labels li {
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    27
                float: left;
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    28
                width: 200px;
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    29
                color: #ffffff;
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    30
                text-align: center;
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    31
                font-size: 28px;
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    32
                font-weight: bold;
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    33
            }
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    34
        </style>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    35
        <script type="text/javascript" src="lib/jquery.min.js"></script>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    36
        <script type="text/javascript" src="js/podium.js"></script>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    37
        <script type="text/javascript" src="js/tweetsource.js"></script>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    38
        <script type="text/javascript">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    39
            var tzero = new Date();
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    40
            $(function() {
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    41
                setInterval(function() {
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    42
                    var _t = Math.floor((new Date() - tzero)/1000),
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    43
                        _s = _t % 60,
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    44
                        _m = Math.floor(_t/60) % 60,
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    45
                        _h = Math.floor(_t/3600);
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    46
                    $("#btv-cp-temps").html(
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    47
                        _h  + ':' + (_m < 10 ? '0' : '') + _m + ':' + (_s < 10 ? '0' : '') + _s
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    48
                    )
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    49
                }, 500);
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    50
                var _keywords = ['Sarkozy', 'Hollande', 'candidat', 'politique']
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    51
                myTweetSource = new Btv_TweetSource({
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    52
                    keywords: _keywords
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    53
                });
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    54
                myPodium = new Btv_Podium([0,0,0,0]);
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    55
                myTweetSource.setTweetsCallback(function() {
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    56
                    $("#btv-cp-nb-tweets").html(this.count());
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    57
                    var _counts = [];
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    58
                    for (var _i = 0; _i < _keywords.length; _i++) {
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    59
                        _counts.push(this.search(_keywords[_i]).count());
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    60
                    }
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    61
                    myPodium.update(_counts);
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    62
                    $('#btv-cp-liste-tweets-tout').html(
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    63
                        this.reverse().slice(0,20).map(function(_t) {
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    64
                            return '<li onclick="addTweet(\''
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    65
                                + _t.id_str
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    66
                                + '\'); return false;"><a title="Ajouter à la sélection" href="#"><span class="btv-cp-tweet-date">'
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    67
                                + _t.created_at.match(/\d+:\d+:\d+/)[0]
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    68
                                + '</span> <span class="btv-cp-tweet-from">@'
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    69
                                + _t.from_user
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    70
                                + '</span> <span class="btv-cp-tweet-text">'
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    71
                                + _t.text
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    72
                                + '</span><div class="btv-cp-tweet-button btv-cp-tweet-add"></div></a></li>'
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    73
                        }).join('')
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    74
                    )
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    75
                });
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    76
            });
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    77
            function addTweet(tweetId) {
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    78
                var _t = myTweetSource.tweetById(tweetId);
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    79
                if (_t) {
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    80
                    $("#btv-cp-liste-tweets-selection").prepend(
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    81
                        '<li onclick="showTweet(\''
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    82
                            + _t.id_str
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    83
                            + '\'); return false;"><a title="Afficher sur l\'écran" href="#"><span class="btv-cp-tweet-date">'
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    84
                            + _t.created_at.match(/\d+:\d+:\d+/)[0]
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    85
                            + '</span> <span class="btv-cp-tweet-from">@'
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    86
                            + _t.from_user
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    87
                            + '</span> <span class="btv-cp-tweet-text">'
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    88
                            + _t.text
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    89
                            + '</span><div class="btv-cp-tweet-button btv-cp-tweet-show"></div></a></li>'
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    90
                    );
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    91
                }
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    92
            }
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    93
        </script>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    94
    </head>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    95
    <body>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    96
        <div id="btv-cp-container">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    97
            <div class="btv-cp-line">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    98
                <div class="btv-cp-element">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
    99
                    <h2>Bubble <b>TV</b></h2>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   100
                </div>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   101
                <div class="btv-cp-element" id="btv-cp-cont-filtre">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   102
                    <h3>Rechercher/Filtrer</h3>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   103
                    <input id="btv-cp-champ-filtre" />
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   104
                    <a href="#" id="btv-cp-clear-filtre">x</a>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   105
                </div>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   106
                <div class="btv-cp-element">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   107
                    <h3>Derniers tweets</h3>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   108
                    <ul class="btv-cp-liste-tweets" id="btv-cp-liste-tweets-tout">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   109
                    </ul>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   110
                </div>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   111
                <div class="btv-cp-element">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   112
                    <h3>Tweets sélectionnés</h3>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   113
                    <ul class="btv-cp-liste-tweets" id="btv-cp-liste-tweets-selection">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   114
                    </ul>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   115
                </div>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   116
                <div class="btv-cp-element btv-cp-cont-pause" id="btv-cp-cont-pause-amont">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   117
                    <h3>Arrivée des tweets</h3>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   118
                    <a class="btv-cp-play-pause btv-cp-status-pause" href="#"></a>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   119
                </div>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   120
                <div class="btv-cp-element btv-cp-cont-pause" id="btv-cp-cont-pause-aval">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   121
                    <h3>Purge des colonnes</h3>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   122
                    <a class="btv-cp-play-pause btv-cp-status-pause" href="#"></a>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   123
                </div>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   124
                <div class="btv-cp-element btv-cp-compteur">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   125
                    <h3>Nombre de tweets</h3>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   126
                    <h4 id="btv-cp-nb-tweets"></h4>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   127
                </div>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   128
                <div class="btv-cp-element btv-cp-compteur">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   129
                    <h3>Temps écoulé</h3>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   130
                    <h4 id="btv-cp-temps">0:00:00</h4>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   131
                </div>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   132
            </div>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   133
        </div>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   134
        <div id="podium-container">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   135
            <div id="podium"></div>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   136
            <ul id="podium-labels">
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   137
                <li>Sarkozy</li>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   138
                <li>Hollande</li>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   139
                <li>candidat</li>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   140
                <li>politique</li>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   141
            </ul>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   142
        </div>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   143
    </body>
82b4715202d1 Modified client side tweet scraping script
veltr
parents:
diff changeset
   144
</html>