printer/plainprinter.go
changeset 268 4dd196a4ee7c
parent 265 05c40b36d3b2
parent 267 5b91a65ba95a
equal deleted inserted replaced
266:80973a656b81 268:4dd196a4ee7c
   173 	indentedPrint(w, indent, true, false, "Domain Name", "%s", string(*d))
   173 	indentedPrint(w, indent, true, false, "Domain Name", "%s", string(*d))
   174 	return nil
   174 	return nil
   175 }
   175 }
   176 
   176 
   177 func (p *PlainPrinter) plainPrintAccount(a *madon.Account, w io.Writer, indent string) error {
   177 func (p *PlainPrinter) plainPrintAccount(a *madon.Account, w io.Writer, indent string) error {
   178 	indentedPrint(w, indent, true, false, "Account ID", "%d (%s)", a.ID, a.Username)
   178 	indentedPrint(w, indent, true, false, "Account ID", "%s (%s)", a.ID, a.Username)
   179 	indentedPrint(w, indent, false, false, "User ID", "%s", a.Acct)
   179 	indentedPrint(w, indent, false, false, "User ID", "%s", a.Acct)
   180 	indentedPrint(w, indent, false, false, "Display name", "%s", a.DisplayName)
   180 	indentedPrint(w, indent, false, false, "Display name", "%s", a.DisplayName)
   181 	indentedPrint(w, indent, false, false, "Creation date", "%v", a.CreatedAt.Local())
   181 	indentedPrint(w, indent, false, false, "Creation date", "%v", a.CreatedAt.Local())
   182 	indentedPrint(w, indent, false, false, "URL", "%s", a.URL)
   182 	indentedPrint(w, indent, false, false, "URL", "%s", a.URL)
   183 	indentedPrint(w, indent, false, false, "Statuses count", "%d", a.StatusesCount)
   183 	indentedPrint(w, indent, false, false, "Statuses count", "%d", a.StatusesCount)
   190 		indentedPrint(w, indent, false, false, "Bot", "%v", a.Bot)
   190 		indentedPrint(w, indent, false, false, "Bot", "%v", a.Bot)
   191 	}
   191 	}
   192 	indentedPrint(w, indent, false, true, "User note", "%s", html2string(a.Note)) // XXX too long?
   192 	indentedPrint(w, indent, false, true, "User note", "%s", html2string(a.Note)) // XXX too long?
   193 	if a.Moved != nil {
   193 	if a.Moved != nil {
   194 		m := a.Moved
   194 		m := a.Moved
   195 		indentedPrint(w, indent+p.Indent, true, false, "Moved to account ID", "%d (%s)", m.ID, m.Username)
   195 		indentedPrint(w, indent+p.Indent, true, false, "Moved to account ID", "%s (%s)", m.ID, m.Username)
   196 		indentedPrint(w, indent+p.Indent, false, false, "New user ID", "%s", m.Acct)
   196 		indentedPrint(w, indent+p.Indent, false, false, "New user ID", "%s", m.Acct)
   197 		indentedPrint(w, indent+p.Indent, false, false, "New display name", "%s", m.DisplayName)
   197 		indentedPrint(w, indent+p.Indent, false, false, "New display name", "%s", m.DisplayName)
   198 	}
   198 	}
   199 	if a.Source != nil {
   199 	if a.Source != nil {
   200 		s := a.Source
   200 		s := a.Source
   216 	}
   216 	}
   217 	return nil
   217 	return nil
   218 }
   218 }
   219 
   219 
   220 func (p *PlainPrinter) plainPrintAttachment(a *madon.Attachment, w io.Writer, indent string) error {
   220 func (p *PlainPrinter) plainPrintAttachment(a *madon.Attachment, w io.Writer, indent string) error {
   221 	indentedPrint(w, indent, true, false, "Attachment ID", "%d", a.ID)
   221 	indentedPrint(w, indent, true, false, "Attachment ID", "%s", a.ID)
   222 	indentedPrint(w, indent, false, false, "Type", "%s", a.Type)
   222 	indentedPrint(w, indent, false, false, "Type", "%s", a.Type)
   223 	indentedPrint(w, indent, false, false, "Local URL", "%s", a.URL)
   223 	indentedPrint(w, indent, false, false, "Local URL", "%s", a.URL)
   224 	if a.RemoteURL != nil {
   224 	if a.RemoteURL != nil {
   225 		indentedPrint(w, indent, false, true, "Remote URL", "%s", *a.RemoteURL)
   225 		indentedPrint(w, indent, false, true, "Remote URL", "%s", *a.RemoteURL)
   226 	}
   226 	}
   267 	indentedPrint(w, indent, false, true, "URL", "%s", i.URI)
   267 	indentedPrint(w, indent, false, true, "URL", "%s", i.URI)
   268 	indentedPrint(w, indent, false, true, "Email", "%s", i.Email)
   268 	indentedPrint(w, indent, false, true, "Email", "%s", i.Email)
   269 	indentedPrint(w, indent, false, true, "Version", "%s", i.Version)
   269 	indentedPrint(w, indent, false, true, "Version", "%s", i.Version)
   270 	if i.ContactAccount != nil {
   270 	if i.ContactAccount != nil {
   271 		c := i.ContactAccount
   271 		c := i.ContactAccount
   272 		indentedPrint(w, indent+p.Indent, true, false, "Contact account ID", "%d (%s)", c.ID, c.Username)
   272 		indentedPrint(w, indent+p.Indent, true, false, "Contact account ID", "%s (%s)", c.ID, c.Username)
   273 		indentedPrint(w, indent+p.Indent, false, false, "Contact user ID", "%s", c.Acct)
   273 		indentedPrint(w, indent+p.Indent, false, false, "Contact user ID", "%s", c.Acct)
   274 		indentedPrint(w, indent+p.Indent, false, false, "Contact display name", "%s", c.DisplayName)
   274 		indentedPrint(w, indent+p.Indent, false, false, "Contact display name", "%s", c.DisplayName)
   275 	}
   275 	}
   276 	return nil
   276 	return nil
   277 }
   277 }
   280 	indentedPrint(w, indent, true, false, "Peer", "%s", *i)
   280 	indentedPrint(w, indent, true, false, "Peer", "%s", *i)
   281 	return nil
   281 	return nil
   282 }
   282 }
   283 
   283 
   284 func (p *PlainPrinter) plainPrintList(l *madon.List, w io.Writer, indent string) error {
   284 func (p *PlainPrinter) plainPrintList(l *madon.List, w io.Writer, indent string) error {
   285 	indentedPrint(w, indent, true, false, "List ID", "%d", l.ID)
   285 	indentedPrint(w, indent, true, false, "List ID", "%s", l.ID)
   286 	indentedPrint(w, indent, false, false, "Title", "%s", l.Title)
   286 	indentedPrint(w, indent, false, false, "Title", "%s", l.Title)
   287 	return nil
   287 	return nil
   288 }
   288 }
   289 
   289 
   290 func (p *PlainPrinter) plainPrintNotification(n *madon.Notification, w io.Writer, indent string) error {
   290 func (p *PlainPrinter) plainPrintNotification(n *madon.Notification, w io.Writer, indent string) error {
   291 	indentedPrint(w, indent, true, false, "Notification ID", "%d", n.ID)
   291 	indentedPrint(w, indent, true, false, "Notification ID", "%s", n.ID)
   292 	indentedPrint(w, indent, false, false, "Type", "%s", n.Type)
   292 	indentedPrint(w, indent, false, false, "Type", "%s", n.Type)
   293 	indentedPrint(w, indent, false, false, "Timestamp", "%v", n.CreatedAt.Local())
   293 	indentedPrint(w, indent, false, false, "Timestamp", "%v", n.CreatedAt.Local())
   294 	if n.Account != nil {
   294 	if n.Account != nil {
   295 		indentedPrint(w, indent+p.Indent, true, false, "Account", "(%d) @%s - %s",
   295 		indentedPrint(w, indent+p.Indent, true, false, "Account", "(%s) @%s - %s",
   296 			n.Account.ID, n.Account.Acct, n.Account.DisplayName)
   296 			n.Account.ID, n.Account.Acct, n.Account.DisplayName)
   297 	}
   297 	}
   298 	if n.Status != nil {
   298 	if n.Status != nil {
   299 		p.plainPrintStatus(n.Status, w, indent+p.Indent)
   299 		p.plainPrintStatus(n.Status, w, indent+p.Indent)
   300 	}
   300 	}
   301 	return nil
   301 	return nil
   302 }
   302 }
   303 
   303 
   304 func (p *PlainPrinter) plainPrintRelationship(r *madon.Relationship, w io.Writer, indent string) error {
   304 func (p *PlainPrinter) plainPrintRelationship(r *madon.Relationship, w io.Writer, indent string) error {
   305 	indentedPrint(w, indent, true, false, "Account ID", "%d", r.ID)
   305 	indentedPrint(w, indent, true, false, "Account ID", "%s", r.ID)
   306 	indentedPrint(w, indent, false, false, "Following", "%v", r.Following)
   306 	indentedPrint(w, indent, false, false, "Following", "%v", r.Following)
   307 	//indentedPrint(w, indent, false, false, "Showing reblogs", "%v", r.ShowingReblogs)
   307 	//indentedPrint(w, indent, false, false, "Showing reblogs", "%v", r.ShowingReblogs)
   308 	indentedPrint(w, indent, false, false, "Followed-by", "%v", r.FollowedBy)
   308 	indentedPrint(w, indent, false, false, "Followed-by", "%v", r.FollowedBy)
   309 	indentedPrint(w, indent, false, false, "Blocking", "%v", r.Blocking)
   309 	indentedPrint(w, indent, false, false, "Blocking", "%v", r.Blocking)
   310 	indentedPrint(w, indent, false, false, "Muting", "%v", r.Muting)
   310 	indentedPrint(w, indent, false, false, "Muting", "%v", r.Muting)
   313 	indentedPrint(w, indent, false, false, "Requested", "%v", r.Requested)
   313 	indentedPrint(w, indent, false, false, "Requested", "%v", r.Requested)
   314 	return nil
   314 	return nil
   315 }
   315 }
   316 
   316 
   317 func (p *PlainPrinter) plainPrintReport(r *madon.Report, w io.Writer, indent string) error {
   317 func (p *PlainPrinter) plainPrintReport(r *madon.Report, w io.Writer, indent string) error {
   318 	indentedPrint(w, indent, true, false, "Report ID", "%d", r.ID)
   318 	indentedPrint(w, indent, true, false, "Report ID", "%s", r.ID)
   319 	indentedPrint(w, indent, false, false, "Action taken", "%s", r.ActionTaken)
   319 	indentedPrint(w, indent, false, false, "Action taken", "%s", r.ActionTaken)
   320 	return nil
   320 	return nil
   321 }
   321 }
   322 
   322 
   323 func (p *PlainPrinter) plainPrintResults(r *madon.Results, w io.Writer, indent string) error {
   323 func (p *PlainPrinter) plainPrintResults(r *madon.Results, w io.Writer, indent string) error {
   340 	}
   340 	}
   341 	return nil
   341 	return nil
   342 }
   342 }
   343 
   343 
   344 func (p *PlainPrinter) plainPrintStatus(s *madon.Status, w io.Writer, indent string) error {
   344 func (p *PlainPrinter) plainPrintStatus(s *madon.Status, w io.Writer, indent string) error {
   345 	indentedPrint(w, indent, true, false, "Status ID", "%d", s.ID)
   345 	indentedPrint(w, indent, true, false, "Status ID", "%s", s.ID)
   346 	if s.Account != nil {
   346 	if s.Account != nil {
   347 		author := s.Account.Acct
   347 		author := s.Account.Acct
   348 		if s.Account.DisplayName != "" {
   348 		if s.Account.DisplayName != "" {
   349 			author += " (" + s.Account.DisplayName + ")"
   349 			author += " (" + s.Account.DisplayName + ")"
   350 		}
   350 		}
   368 	if s.Sensitive {
   368 	if s.Sensitive {
   369 		indentedPrint(w, indent, false, false, "Sensitive (NSFW)", "%v", s.Sensitive)
   369 		indentedPrint(w, indent, false, false, "Sensitive (NSFW)", "%v", s.Sensitive)
   370 	}
   370 	}
   371 
   371 
   372 	indentedPrint(w, indent, false, false, "Contents", "%s", html2string(s.Content))
   372 	indentedPrint(w, indent, false, false, "Contents", "%s", html2string(s.Content))
   373 	if s.InReplyToID != nil && *s.InReplyToID > 0 {
   373 	if s.InReplyToID != nil && *s.InReplyToID != "" {
   374 		indentedPrint(w, indent, false, false, "In-Reply-To", "%d", *s.InReplyToID)
   374 		indentedPrint(w, indent, false, false, "In-Reply-To", "%s", *s.InReplyToID)
   375 	}
   375 	}
   376 	if s.Reblogged {
   376 	if s.Reblogged {
   377 		indentedPrint(w, indent, false, false, "Reblogged", "%v", s.Reblogged)
   377 		indentedPrint(w, indent, false, false, "Reblogged", "%v", s.Reblogged)
   378 	}
   378 	}
   379 	indentedPrint(w, indent, false, false, "URL", "%s", s.URL)
   379 	indentedPrint(w, indent, false, false, "URL", "%s", s.URL)
   380 	// Display minimum details of attachments
   380 	// Display minimum details of attachments
   381 	//return p.PrintObj(s.MediaAttachments, w, indent+p.Indent)
   381 	//return p.PrintObj(s.MediaAttachments, w, indent+p.Indent)
   382 	for _, a := range s.MediaAttachments {
   382 	for _, a := range s.MediaAttachments {
   383 		indentedPrint(w, indent+p.Indent, true, false, "Attachment ID", "%d", a.ID)
   383 		indentedPrint(w, indent+p.Indent, true, false, "Attachment ID", "%s", a.ID)
   384 		if a.TextURL != nil && *a.TextURL != "" {
   384 		if a.TextURL != nil && *a.TextURL != "" {
   385 			indentedPrint(w, indent+p.Indent, true, false, "Text URL", "%s", *a.TextURL)
   385 			indentedPrint(w, indent+p.Indent, true, false, "Text URL", "%s", *a.TextURL)
   386 		} else if a.URL != "" {
   386 		} else if a.URL != "" {
   387 			indentedPrint(w, indent+p.Indent, false, false, "URL", "%s", a.URL)
   387 			indentedPrint(w, indent+p.Indent, false, false, "URL", "%s", a.URL)
   388 		} else if a.RemoteURL != nil {
   388 		} else if a.RemoteURL != nil {