From 9469e7d387d624a47a01efeebd1011afe463f90b Mon Sep 17 00:00:00 2001
From: Alexandre Morignot <erdnaxeli@cervoi.se>
Date: Wed, 5 Oct 2016 21:02:07 +0200
Subject: [PATCH] IRC print

---
 site/youtube.go              |   3 +-
 transport/irc/.events.go.swp | Bin 12288 -> 0 bytes
 transport/irc/.print.go.swp  | Bin 12288 -> 0 bytes
 transport/irc/events.go      |   2 +-
 transport/irc/print.go       |  60 +++++++++++++++++++++++++++++++++--
 5 files changed, 61 insertions(+), 4 deletions(-)
 delete mode 100644 transport/irc/.events.go.swp
 delete mode 100644 transport/irc/.print.go.swp

diff --git a/site/youtube.go b/site/youtube.go
index c872b47..4f96853 100644
--- a/site/youtube.go
+++ b/site/youtube.go
@@ -46,7 +46,8 @@ func (yt Youtube) Read(url string) (*Content, error) {
 
 	return &Content{
 		Author:   video.Snippet.ChannelTitle,
-		Duration: duration + 1,
+		Duration: duration,
+		Title:    video.Snippet.Title,
 		Source:   "youtube",
 		SourceId: video.Id,
 		Url:      "https://www.youtube.com/watch?v=" + video.Id,
diff --git a/transport/irc/.events.go.swp b/transport/irc/.events.go.swp
deleted file mode 100644
index 92779672c8ec1df79889d67ee8382586b7a777ee..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12288
zcmeI2L2DC16vwB6hlo|Fg4c0H*re%fQ!hpAp$bY%m8w+_rO0M?vK_LSiL;YpTUrl_
z;9c<xc=987)DPgrFQF&FUcC9AWD`(msK?4%^3O2y-o7{QH=Dzf*PMN{bcfH2S%&Kz
zW4~$#k9STjv#*XZX;U3PlezM?G1rz#Wj@9}H0_T9Mu|z|ohUO=VUs9RPADaHA+&T+
z$5@qV<K|`?ji{T)+fCylXJcJ-jdhX24RT9rSBT6EBhyF(h`?9^J=dC<pJZ3(8vUR8
z<=_%OKlO0zEo3ADM1Tko0U|&IhyW2F0z}~dBH+3c>^Vw0QI-{y<HTQMIi-OJ5CI}U
z1c(3;AOb{y2oM1xKm>>Y5jchf;*>Fcnz5-#Y##sr58wX}&NB8B`VM`DK0)uGx6m8t
z9yAS|gnpcX9r^&hhF(E0p%>5sGy_dTHRv1ie1Sef@1cEY4|)LIhZ@jD=mO;T)Zf=J
z<Vss60z`la5CI}U1c(3;AOb|-I1t!l6?`gAbgk0vrqK?~#$hrTtE|#8mX|YrZGodP
zIg`VMg6}d`$qa9b)z}ttMQIu4_!4(j(ysGPk<~}ORk)Uc3LmKxw`G`Y#+ug(<)kQ6
zBW2T@oj@aWvF;tT%r{sC!TfqZ{G!c@^#&G8^T@Ck+f2H!%33|0@X+zvl1<iz-PBc%
zBDWC8*N41luJ&nly&rWj_cc^~U7+H`)1Gqt`V4orCl8C6s=|kpiIeFO1AF2qPb{Ws
z8001wiRlD&zP?d7oI<v{2MWmk2LZmoF(2GG0(2`*oUz;Dwsbd)3j<%#sJA@uQT*1#
zvQfIv8Yl;$S4@^kD^~rXx5B_X@GAxOP!ffgKlvx41)p+o_)e5Q{`e2!{7*oTD>y<^
zynjmYzFt9%-1~3#nx0$K%6qL=F40~OOO)hjt#<)a9p69CL&mys(vI=a!peRFroA~6

diff --git a/transport/irc/.print.go.swp b/transport/irc/.print.go.swp
deleted file mode 100644
index 853d46928d8b839cbf92af3320f486514dd72286..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12288
zcmeI&%TC)s6b9gvN-U@fRP+Hl7$G^d*a_W4Y%3N)f`SC?+Hoe<2s7i3C%qvqZ^H|K
zcoCj}?%0w&92>ifEUYeD^pEswlFXSC%_n6Mc?O-&{cX_;I>h5O(agKam-ClfbmNGm
z9qQ<ZOjWVgFutjwOdHngrPDtR!`KX?Utwax+{R&|T%eTHd7z~WkBn7`Hg3Js?S@$z
z{Tvt<IveRcGuDNQH)K|67bK=`j2QwDXcic|(OPegKCE}kpZc=5B;G6@H1EMG1Rwwb
z2tWV=5P$##An>dNT-Ks9KGBQnR14MInwqP(m>>WF2tWV=5P$##AOHafKmY;|_zwl5
zA<@M=(F3P={$Kz9pYV%&&K>7B=azHLx#C=MzH|0CpEx_5x11KI=<|wa3<y8~0uX=z
z1Rwwb2tWV=5P-lxByd8rsY!y};zIez_cpCHc0;V>-g_afZPRG1W8pio+PCq3eFwcQ
z$_waavCm~isj+QwOf=Q6>?=}}a?h{aGd9{u?V9_3d@Ay*VzHVlCxhzK@>|+8>;1*0
d`C^|(T+2uFNF5dT=Y>y{Me$*jNWoX>=@Bb7kWc^s

diff --git a/transport/irc/events.go b/transport/irc/events.go
index 6457110..86c1867 100644
--- a/transport/irc/events.go
+++ b/transport/irc/events.go
@@ -29,6 +29,6 @@ func (t *IrcTransport) privmsg(conn *irc.Conn, line *irc.Line) {
 	go b.ParseLine(line.Nick, msg, contents)
 
 	for content := range contents {
-		t.printContent(content)
+		t.printContent(conn, content, channel)
 	}
 }
diff --git a/transport/irc/print.go b/transport/irc/print.go
index e7cc912..ec899b0 100644
--- a/transport/irc/print.go
+++ b/transport/irc/print.go
@@ -1,13 +1,69 @@
 package irc
 
 import (
+	"fmt"
 	"log"
 
+	irc "github.com/fluffle/goirc/client"
+
 	"git.iiens.net/morignot2011/playbot/site"
 )
 
-func (t *IrcTransport) printContent(content *site.Content) {
-	log.Printf("Print lol: %q", content)
+const (
+	NORMAL    string = "\x0f"
+	BOLD      string = "\x02"
+	UNDERLINE string = "\x1f"
+	REVERSE   string = "\x16"
+	ITALIC    string = "\x1d"
+	FIXED     string = "\x11"
+	BLINK     string = "\x06"
+
+	WHITE       string = "\x0300"
+	BLACK       string = "\x0301"
+	BLUE        string = "\x0302"
+	GREEN       string = "\x0303"
+	RED         string = "\x0304"
+	BROWN       string = "\x0305"
+	PURPLE      string = "\x0306"
+	ORANGE      string = "\x0307"
+	YELLOW      string = "\x0308"
+	LIGHT_GREEN string = "\x0309"
+	TEAL        string = "\x0310"
+	LIGHT_CYAN  string = "\x0311"
+	LIGHT_BLUE  string = "\x0312"
+	PINK        string = "\x0313"
+	GREY        string = "\x0314"
+	LIGHT_GREY  string = "\x0315"
+)
+
+func (t *IrcTransport) printContent(conn *irc.Conn, content *site.Content, channel string) {
+	msg := fmt.Sprintf("%s[%d] %s%s", YELLOW, content.Id, GREEN, content.Title)
+
+	if content.Author != "" {
+		msg += " | " + content.Author
+	}
+
+	if content.Duration > 0 {
+		h := content.Duration / 3600
+		m := (content.Duration % 3600) / 60
+		s := (content.Duration % 3600) % 60
+
+		msg += LIGHT_BLUE + " ("
+
+		if h > 0 {
+			msg += fmt.Sprintf("%02d:", h)
+		}
+
+		if m > 0 {
+			msg += fmt.Sprintf("%02d:", m)
+		}
+
+		msg += fmt.Sprintf("%02d)%s", s, NORMAL)
+	}
+
+	msg += " => " + content.Url + ORANGE
+
+	conn.Privmsg(channel, msg)
 }
 
 func (t *IrcTransport) printError(err error) {
-- 
GitLab