Compare commits
3 commits
0e26b65a54
...
cc4e91295e
Author | SHA1 | Date | |
---|---|---|---|
cc4e91295e | |||
c845b0a07a | |||
2a386fcda5 |
3 changed files with 35 additions and 3 deletions
|
@ -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:"))
|
||||||
|
|
|
@ -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",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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" +
|
||||||
|
|
Loading…
Reference in a new issue