Skip to content

Instantly share code, notes, and snippets.

@jirutka
Created October 10, 2016 15:56
Show Gist options
  • Save jirutka/8a0ccd0538107e5d98cd83d177282aa6 to your computer and use it in GitHub Desktop.
Save jirutka/8a0ccd0538107e5d98cd83d177282aa6 to your computer and use it in GitHub Desktop.
Twitter statistics for #LinuxDays 2016

Twitter statistics for #LinuxDays 2016

Tweets between 2016-10-07 and 2016-10-10

  • Number of tweets (excluding RTs): 341

  • Number of likes: 1220

  • Number of retweets: 395

  • Number of tweeting users: 132

TOP tweeting users

List of most active users sorted by number of their tweets with hashtag #LinuxDays.

Rank User(s) Tweets

1.

@LinuxDaysCZ

18

2.

@PetrHodac

15

3.

@JakubJirutka, @taky_dos

11

4.

@over2393, @tomkukral

9

5.

@Oskar456

8

6.

@MZnamenek, @Spuny4, @hroncok, @pdostal_cz, @snipercze

6

7.

@adela_cz, @krcmar, @seidl_gabriel, @tomcejka

5

TOP liked tweets

Rank Tweet(s) Favourites

1.

@krcmar: Programátor je biologický stroj, který proměňuje kávu na kód. #LinuxDays @vtipy

43

2.

@mimi1vx: Příprava #openSUSE / #SUSE stánku na #linuxdays v plném proudu https://t.co/gpUFkQvT1r

@krcmar: Pecka! Radek Zajíc @zajdee na svou přednášku přinesl 3D model ikony na ukládání souborů. #LinuxDays https://t.co/BnL1x0BYmo

41

3.

@LinuxDaysCZ: #LinuxDays jsou za námi. Tak zase za rok. Mockrát děkujeme všem přednášejícím, přenášejícím i stánkujícím, díky vám to stojí za to.

29

4.

@adela_cz: Děkuji za supr den na #LinuxDays …​ těším se na zítřek! https://t.co/rsOWiZVAKQ

27

5.

@adela_cz: Skvělí lidé, dobré přednášky, výborná káva a spousta zajímavostí a srand …​ Nemělo to chybu! #LinuxDays @LinuxDaysCZ Děkuji za vše :)

24

6.

@krcmar: 486 na přednášce na #LinuxDays https://t.co/vC28tWjDnN

22

7.

@PetrHodac: Dekan @FIT_CTU v @RetroHerna na @LinuxDaysCZ . Sam je linuxar takze na #linuxdays je jako doma! https://t.co/q53crqsJ8j

21

TOP retweeted tweets

Rank Tweet(s) Retweets

1.

@krcmar: Programátor je biologický stroj, který proměňuje kávu na kód. #LinuxDays @vtipy

19

2.

@JakubPav: #OpenStack Cloud Application #Hackaton invite on #LinuxDays Prague by @ada_sko and @alholanova https://t.co/3J7sz5Doy7

12

3.

@LinuxDaysCZ: #LinuxDays jsou za námi. Tak zase za rok. Mockrát děkujeme všem přednášejícím, přenášejícím i stánkujícím, díky vám to stojí za to.

11

4.

@mimi1vx: Příprava #openSUSE / #SUSE stánku na #linuxdays v plném proudu https://t.co/gpUFkQvT1r

@lspdv: Okénko české Python komunity se hlásí z #LinuxDays. Přijďte se podívat na naše hry v MicroPythonu, zjistěte co všec… https://t.co/efkn8NXTVV

@PetrHodac: #linux a .cz se maji radi! @LinuxDaysCZ @CZ_NIC #LinuxDays https://t.co/X5Teg4potX

10

5.

@active24cz: Díky @bastlirna,že vychovává novou generaci technicky nadaných! Nedocenitelné dnes,kdy vše funguje "samo" #LinuxDays https://t.co/ldTbFWRiOi

@JakubJirutka: "Elektronika funguje na kouř - když vám z procesoru unikne kouř, tak přestane fungovat." @krcmar na #LinuxDays

9

6.

@PetrHodac: Dekan @FIT_CTU v @RetroHerna na @LinuxDaysCZ . Sam je linuxar takze na #linuxdays je jako doma! https://t.co/q53crqsJ8j

7

7.

@PetrHodac: Už je na @FIT_CTU Tux. @LinuxDaysCZ jsou tu! #linuxdays https://t.co/Nk7yjb9BYa

@adela_cz: Na #shellporno se nám to rozjíždí …​ u výrazu "assword" se začervenal nejeden posluchač. #LinuxDays https://t.co/wH3DlAeyrI

@Rootcz: Doplnili jsme další fotky do naší galerie ze sobotní konference #LinuxDays https://t.co/hfaOAg0uIm https://t.co/VacFturMrE

@tomkukral: Taking care of @ceph octupus with @PrometheusIO - now live at #LinuxDays room 155 and streamed… https://t.co/eKJAzVWlt3

@CESNET_CERTS: Kolega @Mek_CZ představuje na #LinuxDays nástroj Mentat pro sdílení bezpečnostních informací. https://t.co/9JqE4RbRsP

@krcmar: Pecka! Radek Zajíc @zajdee na svou přednášku přinesl 3D model ikony na ukládání souborů. #LinuxDays https://t.co/BnL1x0BYmo

6

Previous years


Generated on 2016-10-10 17:52:17 +0200.

Tweets archive for #LinuxDays 2016

@3darena_cz

  • Sun 9:17: #LinuxDays Dnes od 12:00 do 13:30 se koná v otevřené místnosti speciální repraper dílna! Přijďte se podívat…​

@AVC_SH

@AfanasjevaOlga

@CAMOSSka

@CESNET_CERTS

  • Sun 10:09: Kolega @Mek_CZ představuje na #LinuxDays nástroj Mentat pro sdílení bezpečnostních informací. https://t.co/9JqE4RbRsP

  • Sun 10:45: Ve 13:00 začíná prohlídka optické laboratoře pro návštěvníky #LinuxDays. Sraz před stánkem.

  • Sun 11:45: Ve 14:00 začíná další prohlídka optické laboratoře pro návštěvníky #LinuxDays. Sraz před stánkem.

@CESNET_cz

  • Sun 10:45: Ve 13:00 začíná prohlídka optické laboratoře pro návštěvníky #LinuxDays. Sraz před stánkem.

  • Sun 11:45: Ve 14:00 začíná další prohlídka optické laboratoře pro návštěvníky #LinuxDays. Sraz před stánkem.

@CESNET_news

  • Sun 10:45: Ve 13:00 začíná prohlídka optické laboratoře pro návštěvníky #LinuxDays. Sraz před stánkem.

  • Sun 11:45: Ve 14:00 začíná další prohlídka optické laboratoře pro návštěvníky #LinuxDays. Sraz před stánkem.

@CVUTPraha

@CaptainHanzghul

  • Sat 15:18: Na #LinuxDays jsem nebyl jediný s Macem a dokonce jsem zahlédl i Windowsy…​ jsem zklamaný

@CrackingBits

@CyberneticistM

@DaveRuzicka

  • Sun 14:58: Doteď jsem myslel, že správné ukonční vim je killall -9 vim :) #LinuxDays

@ExoSpace_cz

  • Sun 4:16: Na konferenci Linux Days 2016. Tonda Judytka s Lukášem Jelínkem na stánku Linux Marketu.

#linuxdays #linuxmarket…​ https://t.co/BFGJE9F1JZ * Sun 10:17: #linuxdays #linux #linuxmarket Redakce ExoSpace spolupracuje na LinuxDays s LinuxMarketem. Možná příští rok bude…​ https://t.co/EBtK7SyQNs * Sun 11:37: LinuxMarket, @ExoSpace_cz, @LinuxEXPRES, openSUSE, @OpenOfficecz-co mají společné? Ptejte se na stánku LinuxMarketu. #LinuxDays * Sun 17:02: LinuxDays je za námi @ExoSpace_cz děkuje přednášejícím a organizátorům. Bude mít ExoSpace příští rok vlastní stánek? Uvidíme :) #LinuxDays

@FIT_CTU

@FedoraCZ

@HalisCz

  • Sun 8:50: Některé věci získají své kouzlo až časem. Moje slidy o #tinc #vpn na #LinuxDays už to nejspíš nestihnou, protože jsem je dokončil teprve teď

@IOTLF01

@ITBurda

  • Sat 14:28: Parádní den na LinuxDays, těšim se na zítra! #LinuxDays

@ITchlap

  • Sat 12:44: Zatím nejsilnější zážitek z #LinuxDays je vůně mýdla na pánských záchodech - je tak odporná, jako banánové kondomy.

@JIRKAS

@JakubBoucek

  • Sat 8:02: #LinuxDays očekává příchod přes 1100 účastníků. Ale registrace byla zdarma, velku mizerný počasí… nečekejte účast >30% přihlášných.

  • Sat 8:38: #LinuxDays Kromě profláknutého zkracovátka bit.ly existuje jedno zrádnější: Google AMP, příklad: https://t.co/inp4fZzZqi

@JakubJirutka

  • Sat 12:23: Come to vpsFree stall at #LinuxDays to chat with me about @AlpineLinux and get nice Alpine stickers! If you don’t f… https://t.co/rsclsXRAo8

  • Sat 14:19: My lightning talk about @AlpineLinux, lightweight Linux distribution used e.g. in official Docker images, will start at 16.40! #LinuxDays

  • Sat 21:15: #LinuxDays párty jede, hrajeme Karty proti lidskosti! XD https://t.co/6JT7vID7pQ

  • Sun 10:17: Využijte volnou chvíli a běžte si zavzpomínat na své hráčské mladí do @RetroHerna! Můžete tam vidět i opravdu raritní konzole. #LinuxDays

  • Sun 10:35: Kutilové a bastlíři, za hoďku si nenechte ujít přednášku @BigClownLabs! Dozvíte se nejen jak bezpečně rozsvítit žárovku přes síť. #LinuxDays

  • Sun 10:42: Vsadím se, že @joysfera bude hltat každé slovo, #BigClown je něco pro něj! ;) #LinuxDays https://t.co/fSLFRygXpR

  • Sun 12:56: @joysfera hýří nadšením z #Lua na NodeMCU a ESP8266. :) Lua je minimalistický, velice flexibilní a rychlý skriptovací jazyk. #LinuxDays

  • Sun 12:58: "František Fuka vyrobil smart watch programovatelné v Lua ještě dřív, než termín smart watch vůbec vznikl." @joysfera na #LinuxDays

  • Sun 15:02: "Elektronika funguje na kouř - když vám z procesoru unikne kouř, tak přestane fungovat." @krcmar na #LinuxDays

  • Sun 18:31: Letos jsem se dostal jen na 3 přednášky, ale zato jsem mluvil se spoustou lidí, získal nové kontakty a hodně si to užil. Díky za #LinuxDays!

  • Sun 18:36: Jo a kdo u toho nebyl, @PetrHodac včera fakt válel na elektrickou kytaru! On se nezdá, ale něco v něm je! XD #LinuxDays

@JakubPav

@JanRubin

  • Sat 9:52: Škoda, že jsou #LinuxDays ve stejnou dobu, jako #volby. Jinak bych na nějakou přednášku i přišel.

@Jarda_H

@JiriFolta

@KarelDytrych

@Kojotak

@LMacoun

@Lairen66

@LinuxDaysCZ

@LinuxEXPRES

@LukasRypl

  • Sat 14:23: #LinuxDays streaming from room 111 is over? I wanted to see Dos & Don’ts when introducing Ansible by Christian Aistleitner. :(

  • Sun 10:37: #linuxdays jsou čím dál tím lepší #inspired https://t.co/OcymfC4T5c

@MZnamenek

  • Sat 12:03: #LinuxDays Se rozvíjí skvěle a káva byla velmi příjemným zpestřením :)

  • Sat 12:27: #LinuxDays Největší problém je že se nemůžu rozdělit …​ tolik zajímavých přednášek ve stejný čas :-/ :-)

  • Sat 12:45: #LinuxDays Nevím zda přednáška o DDoS nás má od nich odradit nebo naopak o.O :-D

  • Sat 13:07: #LinuxDays Důležité není číst…​ ale vědět málo textu a hodně vědomostí a připravenosti …​ a také Ijáček :D p.Procházka - luxus prezentace

  • Sun 8:00: #LinuxDays Málo kdo chodí do školy i o víkendu …​ snad jen ITíci :-) #Student @staypekos

  • Sun 13:54: #LinuxDays Možná jsem to neměl restartovat …​ to uvědomění že je možná celá ukázka v tahu :-D 486 x Raspberry 3

@MarekSpacirek

@MekliCZ

@MightyPork

  • Sun 7:27: heading to #LinuxDays for some IoT goodness 👍

  • Sun 9:30: Maybe the first #ESP32 board in Central Europe on display at #LinuxDays! Hope it becomes more widely available asap! Features look dope

@MozillaCZ

@Ondra42

@OndraCervinka

  • Sun 21:16: Stale ve me doznivaji #LinuxDays. Spousta sikovnych lidi. Radost je potkat. Diky @LinuxDaysCZ

@Oskar456

@OttoHollmann

@PADAMcz

  • Sat 8:06: #linuxdays #linux-containers sal 155

@PatrikValkovic

@PaulosV

  • Sat 7:50: Poprvé v životě jdu na #LinuxDays brzo…​ a přesto jsem tu vlastně pozdě…​ Ta fronta je dobrá!

  • Sat 16:34: 4. misto i pote, co mi vypadla na dve otazky wifi a nechtela nabehnout zpet. To neni spatny vysledek :) #linuxdays

  • Sun 11:45: Turnaj v #doom právě začal #linuxdays https://t.co/55HGjK4DUI

@PavelGavlik

@Pet3rMatta

@PetrDuchek

  • Sat 13:04: Bude ve slajdech Joe s hadici? Brzo uvidime…​. #LinuxDays #trustica #meloun

@PetrHodac

@RadovanIgliar

@Rootcz

@Silicon_Hill

@Spuny4

  • Sat 8:48: #linuxdays hovezi v akci, mistnost 105

  • Sat 10:55: #LinuxDays vsichni maji hlad https://t.co/I7kpX7XXH9

  • Sat 12:12: Ctvrtina rozzlobenych uzivatelu rada uziva DDoS utoky #LinuxDays

  • Sun 8:41: Jeste nekdo ma problem nebo je to zeleny? …​.Je to super zeleny #LinuxDays @davidkarban

  • Sun 14:03: RPi je rychlejsi naz 486ka ale nezazijete s nim tolik zajimavych veceru. #LinuxDays

  • Sun 17:02: Skvela prace, tesim se na dalsi rocnik #LinuxDays

@StepanPesout

@Sukovec

@Tasman_Devil_

  • Sat 14:49: #LinuxMint zklamal, nemá stánek na #LinuxDays :P

  • Sat 15:22: @CaptainHanzghul Dokonce ani MS-DOS tu nechyběl #LinuxDays

  • Sat 17:44: Super atmosféra v #Paraleln_íPolis :) Není nad to dát si po _#LinuxDays výbornou kávu k zakončení suprového dne :) Thanks for #Linux

  • Sun 8:25: Nějaká dobrá duše co by pomohla lamce zprovoznit WiFi? ZyDAS WLA-54L Distro:ubuntuMATE :) #LinuxDays

@TehEvilOne

  • Sat 9:15: Dalsi rok a dalsi #shellporn echo na prvnim slidu #LinuxDays

@TomasHlavon

@TomasKadlecNet

@VojtaMyslivec

  • Sun 19:33: #LinuxDays se letos fakt povedly. Nestihal jsem ani tweetovat.

@ZdenkaKrejcik

@Ajmen

@aaannz

  • Sat 7:33: Za pul hodky se v otevrene mistnosti pobavime o #openQA. Kdo rad testovani co testuje za nej, dorazte. #LinuxDays @LinuxDaysCZ

@active24cz

@adela_cz

@adman_X

  • Sat 11:44: How about changing password to "assword" #LinuxDays

@alian

  • Fri 10:30: Zdá sa, že rýmička je úspešne zažehnaná. Takže hurá na #LinuxDays! S kým sa vidím?

@bastlirna

@budicze

  • Sun 8:20: Zvuk ve 155 nepatří k nejlepším, zážitek z přednášek kazí silná ozvěna. #LinuxDays

@chiptronCZ

@cztko

  • Sun 9:22: #LinuxDays Workshop o Ansible, po hodině a čtvrt jsme se dostali k ssh-keygen a pak pauza, měl jsem jít na přednášky

@darnel_cz

@davidkarban

  • Sun 6:18: Chcete začít s Ansible? V 10 v místnosti 349. Těším se na vás :). #linuxdays

@fahacz

  • Sat 6:08: Bootujeme auto a valime na #LinuxDays 2016 #Praha @LinuxDaysCZ #plzen

  • Sun 9:47: První #ESP32 ve střední evropě na #LinuxDays od Petr Stehlík, děkujeme, live #Unboxing :-), pecka. https://t.co/tbc33uW5sE

  • Sun 15:26: #D_ěkujeme, stálo to určitě ohromné množství času a nebyla to vůbec blbost. :-) _#LinuxDays #komunita #linux

  • Sun 19:29: #LinuxDays tak jsme doma až na dalekém divokém západě a klaplo to na výbornou včetně km 686 #i686 :-), náhoda? Nevě… https://t.co/NlCTFsnhSz

@fang_cz

@flameeyes

@giordi63

  • Fri 15:02: grazie al @bglug_it come @libreitalia sarò presente al #LinuxDays il22ottobre 11.15/12.15 c/o università di Bergamo-viale Marconi 5 Dalmine

  • Fri 18:07: @il_bosco_acm grz spero di essere stato utile.Sono proprio curioso di vederlo finito e aperto.Se potete ci possiamo vedere al #LinuxDays

@greplz

@hackingkurzy

  • Sat 8:37: #LinuxDays XSS v akci huuaa

  • Sat 14:42: Projekty CESNETu, káva, přednáška o DDoSech, to vše bylo na #LinuxDays super.

@hladomorko

  • Sat 12:23: <script>alert(1)</script> <b>test tweet wall</b> #LinuxDays

@honzajavorek

@horcicaa

@hroncok

@jansktom

@janvaclavik

  • Sat 8:04: Nezhasneme v prednaskove mistnosti 155? Neni moc videt na projektor #LinuxDays

  • Sat 10:17: “#Linux je jako zlobři… nebo jako cibule, mají vrstvy.” Supr #bash workshop na #LinuxDays

@jardachrz

@jhelebrant

@jjermar

@josefdolezal

@joysfera

  • Sun 8:50: Už za deset minut představím na #LinuxDays #ESP32. Přijďte se mrknout - možná bude překvapení ;-)

@jsedy7

@krcmar

@krifisk

@krivochcalek

@linuxmarketcz

@lpi_w_polsce

@lspdv

@lumirbalhar

@maggie_yorke

@maja_dvorak

@matejberaneksb

@mimi1vx

@mynamewrabcak

  • Sat 14:35: Co je proaktivna bezpecnost? Ako sa branit utokom ako shellshock? Povieme si na #LinuxDays o 17:00.

@naPyvo

@over2393

  • Sat 10:43: #LinuxDays : fronta na "slichtu" kulminuje. https://t.co/JZkM0wjc68

  • Sat 10:46: #LinuxDays retro jidelna : vzorky jidel ;) https://t.co/fZZPMlQXXk

  • Sat 12:22: Tak jako minule je tu hodne macu, jaky notebook [vaha+vydrz+minimum binary driveru] doporucujete letos? #LinuxDays

  • Sat 13:35: Stream #LinuxDays pokud by se nekomu hodil: https://t.co/MkSxNv2keE

  • Sat 14:07: Zajimavej talk o #QubesOS #LinuxDays

  • Sun 9:34: #linuxdays Tomas Matejicek by moh mit min echa na mikrofonu? Pls.

  • Sun 11:49: Jenda na #Linuxdays : #BRMLAB ma urychlovac, ale nikdo nema dostatecnou znalost jaderky aby vedel co s nim, wikipedia nepomohla

  • Sun 11:50: Inner-selfie-stick ;]] Endoskop v #Brmlabu #LinuxDays

  • Sun 15:17: #LinuxDays dekujeme, dobre to bylo. #Labka #Hackerspace

@pavelkordik

@pavladuranova

@pdostal_cz

@pet84rik

@poerror

  • Sat 12:50: ping #LinuxDays -t -l 6400 ready for stage 2 #MrRobot

@rickhg12hs

  • Sat 15:32: Beard man, with a hammer, in a lecture hall. 😀😉 #LinuxDays

@roenick371

@ronnicek

  • Sat 14:55: Jsem pry jeden ze 4 (ted uz pry z 5) uzivatelu AlpineLinuxu na @vpsfree_cz 😂 #LinuxDays #alpinelinux #ftw

@seidl_gabriel

@snipercze

  • Sat 8:14: A zase na fitu. Registrace prosla rychle a uz jsem na #LinuxDays

  • Sat 10:58: Snajpa aspol. z @vpsfree_cz ukazuji na #LinuxDays nove 10gbit switche. Vypadaji moc pekne.

  • Sat 12:08: Na #LinuxDays zacina prednaska o DDoSech z pohledu ISP. Prednasi Master Internet.

  • Sun 7:58: V pul druhy prednasim na #LinuxDays a nefunguje mi demo…​jeste ze jsem zvyklej z conu, ze se prednaska da dodelat par minut pred zacatkem

  • Sun 8:39: @krcmar na #LinuxDays "Zavedte HSTS, je to super. Ale pokud to pokazite, odpalite si web"

  • Sun 11:10: Demo jsem opravil, takze za 20 minut muze moje prednaska na #LinuxDays zacit. Prijdte do 105 nebo koukejte na livestream na linuxdays.cz

@staypekos

@taky_dos

@tbedrich

  • Sat 12:47: Doufám, že účastníci #LinuxDays se již navnadili na stánku @pythoncz a teď hurá na můj rychlokurzový workshop do 349!

@tehcaster

@tomashala

@tomcejka

@tomkukral

@tylersiprova

@tziokasi

@vaclavambroz

@vesp

@vimpivo

@vondrak_m

@vpsfree_cz

@xliko

@zajdee

@zelitomas

  • Sun 20:53: Výsledek #LinuxDays? Ochraptělý hlas, bolavé nohy, ale super pocit z úžasné konference. Takže hurá na @OpenAlt! 😃


Generated on 2016-10-10 17:52:18 +0200.

#!/usr/bin/env ruby
#
# Quick & dirty script to generate some Twitter statistics for events.
#
# Usage:
# 1. gem install twitter
# 2. Register your “app” on https://apps.twitter.com/apps and set OAuth
# credentials here.
# 3. Profit!
#
# License:
# Creative Commons CC-Zero This file is made available under the Creative
# Commons CC0 1.0 Universal Public Domain Dedication.
# https://creativecommons.org/publicdomain/zero/1.0/deed.en
#
# Author: Jakub Jirutka
# Version: 2016-10-10
require 'ostruct'
require 'twitter'
require 'yaml'
######## Configuration ########
HASHTAG = '#LinuxDays'
DATE_FROM = '2016-10-07'
DATE_TO = '2016-10-10'
USERS_LIST_LIMIT = 7
FAVORITES_LIST_LIMIT = 7
RETWEETS_LIST_LIMIT = 7
CACHE_FILE = 'data.yml'
client = Twitter::REST::Client.new do |config|
config.consumer_key = 'YOUR_CONSUMER_KEY'
config.consumer_secret = 'YOUR_CONSUMER_SECRET'
config.access_token = 'YOUR_ACCESS_TOKEN'
config.access_token_secret = 'YOUR_ACCESS_SECRET'
end
year = DATE_FROM.split('-').first
######## Functions ########
def top_tweets_by(field, tweets)
tweets.lazy
.group_by { |tw| tw.public_send(field) }
.sort.reverse
.map { |count, tweets| [count, tweets.sort_by(&:created_at)] }
end
def top_users_by_tweets_count(tweets)
tweets.lazy
.group_by(&:user)
.map { |user, tweets| [user, tweets.count] }
.group_by(&:last) # group by number of tweets
.sort.reverse
.map { |count, tuples| [count, tuples.map(&:first)] } # extract users as value of the entry
.map { |count, users| [count, users.sort_by(&:screen_name)] }
end
def title(level, text)
puts "\n\n#{'=' * level} #{text}\n\n"
end
def table(headers, data, &block)
lines = ['|===', '| ' + headers.join(' | '), '']
data.each_with_index do |item, idx|
(yield item, idx + 1).each do |col|
lines << "| #{col}"
end
lines << ''
end
lines << '|===' << ''
puts lines.join("\n")
end
def format_tweet_text(text)
text.gsub(/@(\w+)/, 'https://twitter.com/\1[@\1]')
.gsub(/(#\w+)/, '_\1_')
.gsub(/^\./, '')
end
def format_date(date)
date.strftime('%a %k:%M').squeeze(' ')
end
format_user = ->(user) { "#{user.uri}[@#{user.screen_name}]" }
format_tweet = ->(tweet) { "@#{tweet.user.screen_name}: #{tweet.uri}[#{tweet.text}]" }
######## Main ########
tweets =
if File.exist? CACHE_FILE
YAML.load(File.read(CACHE_FILE))
else
client.search("#{HASHTAG} since:#{DATE_FROM} until:#{DATE_TO}", result_type: :all)
.reject(&:retweet?)
.tap { |tweets| File.write(CACHE_FILE, YAML.dump(tweets)) }
end
users = tweets.map(&:user).uniq
favourites_count = tweets.map(&:favorite_count).reduce(:+)
retweets_count = tweets.map(&:retweet_count).reduce(:+)
top_users = top_users_by_tweets_count(tweets).take(USERS_LIST_LIMIT)
top_favorites = top_tweets_by(:favorite_count, tweets).take(FAVORITES_LIST_LIMIT)
top_retweets = top_tweets_by(:retweet_count, tweets).take(RETWEETS_LIST_LIMIT)
# Print report in AsciiDoc
title 1, "Twitter statistics for #{HASHTAG} #{year}"
puts "_Tweets between #{DATE_FROM} and #{DATE_TO}_\n\n"
puts "* Number of tweets (excluding RTs): #{tweets.count}"
puts "* Number of likes: #{favourites_count}"
puts "* Number of retweets: #{retweets_count}"
puts "* Number of tweeting users: #{users.count}"
title 2, 'TOP tweeting users'
puts "List of most active users sorted by number of their tweets with hashtag #{HASHTAG}.\n\n"
table ['Rank', 'User(s)', 'Tweets'], top_users do |(count, users), idx|
["#{idx}.", users.map(&format_user).join(', '), count]
end
title 2, 'TOP liked tweets'
table ['Rank', 'Tweet(s)', 'Favourites'], top_favorites do |(count, tweets), idx|
["#{idx}.", tweets.map(&format_tweet).join("\n\n"), count]
end
title 2, 'TOP retweeted tweets'
table ['Rank', 'Tweet(s)', 'Retweets'], top_retweets do |(count, tweets), idx|
["#{idx}.", tweets.map(&format_tweet).join("\n\n"), count]
end
puts "\n\n''''"
puts "_Generated on #{Time.now}._"
title 1, "Tweets archive for #{HASHTAG} #{year}"
tweets.sort_by { |tw| [tw.user.screen_name, tw.created_at] }.group_by(&:user).each do |user, tweets|
title 2, "@#{user.screen_name}"
tweets.each do |tweet|
puts "* #{tweet.uri}[#{format_date(tweet.created_at)}]: #{format_tweet_text(tweet.text)}"
end
end
puts "\n\n''''"
puts "_Generated on #{Time.now}._"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment