Compare commits

...

3 commits

3 changed files with 35 additions and 3 deletions

View file

@ -32,7 +32,7 @@ func (p Printer) PrintAccount(account model.Account, relationship *model.Account
builder.WriteString("\n\n" + p.headerFormat("METADATA:")) builder.WriteString("\n\n" + p.headerFormat("METADATA:"))
for _, field := range account.Fields { for _, field := range account.Fields {
builder.WriteString("\n" + p.fieldFormat(field.Name) + ": " + field.Value) builder.WriteString("\n" + p.fieldFormat(field.Name) + ": " + utilities.ConvertHTMLToText(field.Value))
} }
builder.WriteString("\n\n" + p.headerFormat("ACCOUNT URL:")) builder.WriteString("\n\n" + p.headerFormat("ACCOUNT URL:"))

View file

@ -13,7 +13,8 @@ import (
) )
const ( const (
minTerminalWidth = 40 minTerminalWidth = 40
noMediaDescription = "This media has no description."
) )
type theme struct { type theme struct {
@ -39,6 +40,7 @@ type Printer struct {
failureSymbol string failureSymbol string
dateFormat string dateFormat string
dateTimeFormat string dateTimeFormat string
imageIcon string
} }
func NewPrinter( func NewPrinter(
@ -62,6 +64,7 @@ func NewPrinter(
} }
return &Printer{ return &Printer{
theme: theme,
noColor: noColor, noColor: noColor,
maxTerminalWidth: maxTerminalWidth, maxTerminalWidth: maxTerminalWidth,
pager: pager, pager: pager,
@ -72,7 +75,7 @@ func NewPrinter(
failureSymbol: "\u2717", failureSymbol: "\u2717",
dateFormat: "02 Jan 2006", dateFormat: "02 Jan 2006",
dateTimeFormat: "02 Jan 2006, 15:04 (MST)", dateTimeFormat: "02 Jan 2006, 15:04 (MST)",
theme: theme, imageIcon: "\uf03e",
} }
} }

View file

@ -22,6 +22,24 @@ func (p Printer) PrintStatus(status model.Status) {
builder.WriteString("\n\n" + p.headerFormat("CONTENT:")) builder.WriteString("\n\n" + p.headerFormat("CONTENT:"))
builder.WriteString(utilities.WrapLines(utilities.ConvertHTMLToText(status.Content), "\n", p.maxTerminalWidth)) builder.WriteString(utilities.WrapLines(utilities.ConvertHTMLToText(status.Content), "\n", p.maxTerminalWidth))
// Details of media attachments (if any).
if len(status.MediaAttachments) > 0 {
builder.WriteString("\n\n" + p.headerFormat("MEDIA ATTACHMENTS:"))
for ind, media := range status.MediaAttachments {
builder.WriteString("\n\n[" + strconv.Itoa(ind) + "] " + p.fieldFormat("ID:") + " " + media.ID)
builder.WriteString("\n " + p.fieldFormat("Type:") + " " + media.Type)
description := media.Description
if description == "" {
description = noMediaDescription
}
builder.WriteString("\n " + p.fieldFormat("Description:") + " " + description)
builder.WriteString("\n " + p.fieldFormat("Media URL:") + " " + media.URL)
}
}
// If a poll exists in a status, write the contents to the builder. // If a poll exists in a status, write the contents to the builder.
if status.Poll != nil { if status.Poll != nil {
builder.WriteString(p.pollOptions(*status.Poll)) builder.WriteString(p.pollOptions(*status.Poll))
@ -79,6 +97,17 @@ func (p Printer) PrintStatusList(list model.StatusList) {
builder.WriteString(p.pollOptions(*status.Poll)) builder.WriteString(p.pollOptions(*status.Poll))
} }
for _, media := range status.MediaAttachments {
builder.WriteString("\n\n" + p.imageIcon + " Media (" + media.ID + ")" + "\n ")
description := media.Description
if description == "" {
description = noMediaDescription
}
builder.WriteString(utilities.WrapLines(description, "\n ", p.maxTerminalWidth-3))
}
builder.WriteString( builder.WriteString(
"\n\n" + "\n\n" +
p.fieldFormat("Status ID:") + " " + statusID + "\t" + p.fieldFormat("Status ID:") + " " + statusID + "\t" +