mirror of
https://codeberg.org/scip/ephemerup.git
synced 2025-12-18 21:11:04 +01:00
simplified appends
This commit is contained in:
@@ -66,12 +66,17 @@ func WriteTable(w io.Writer, headers []string, data [][]string) {
|
||||
fmt.Fprintln(w, tableString.String())
|
||||
}
|
||||
|
||||
// output like psql \x
|
||||
func WriteExtended(w io.Writer, uploads *common.Uploads) {
|
||||
/* Print output like psql \x
|
||||
|
||||
Prints all Uploads and Forms which exist in common.Response,
|
||||
however, we expect only one kind of them to be actually filled, so
|
||||
the function can be used for forms and uploads.
|
||||
*/
|
||||
func WriteExtended(w io.Writer, response *common.Response) {
|
||||
format := fmt.Sprintf("%%%ds: %%s\n", Maxwidth)
|
||||
|
||||
// we shall only have 1 element, however, if we ever support more, here we go
|
||||
for _, entry := range uploads.Entries {
|
||||
for _, entry := range response.Uploads {
|
||||
expire := prepareExpire(entry.Expire, entry.Uploaded)
|
||||
fmt.Fprintf(w, format, "Id", entry.Id)
|
||||
fmt.Fprintf(w, format, "Expire", expire)
|
||||
@@ -81,37 +86,39 @@ func WriteExtended(w io.Writer, uploads *common.Uploads) {
|
||||
fmt.Fprintf(w, format, "Url", entry.Url)
|
||||
fmt.Fprintln(w)
|
||||
}
|
||||
|
||||
// FIXME: add response.Forms loop here
|
||||
}
|
||||
|
||||
// extract an common.Uploads{} struct from json response
|
||||
func GetUploadsFromResponse(resp *req.Response) (*common.Uploads, error) {
|
||||
uploads := common.Uploads{}
|
||||
func GetResponse(resp *req.Response) (*common.Response, error) {
|
||||
response := common.Response{}
|
||||
|
||||
if err := json.Unmarshal([]byte(resp.String()), &uploads); err != nil {
|
||||
if err := json.Unmarshal([]byte(resp.String()), &response); err != nil {
|
||||
return nil, errors.New("Could not unmarshall JSON response: " + err.Error())
|
||||
}
|
||||
|
||||
if !uploads.Success {
|
||||
return nil, errors.New(uploads.Message)
|
||||
if !response.Success {
|
||||
return nil, errors.New(response.Message)
|
||||
}
|
||||
|
||||
return &uploads, nil
|
||||
return &response, nil
|
||||
}
|
||||
|
||||
// turn the Uploads{} struct into a table and print it
|
||||
func RespondTable(w io.Writer, resp *req.Response) error {
|
||||
uploads, err := GetUploadsFromResponse(resp)
|
||||
func UploadsRespondTable(w io.Writer, resp *req.Response) error {
|
||||
response, err := GetResponse(resp)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if uploads.Message != "" {
|
||||
fmt.Fprintln(w, uploads.Message)
|
||||
if response.Message != "" {
|
||||
fmt.Fprintln(w, response.Message)
|
||||
}
|
||||
|
||||
// tablewriter
|
||||
data := [][]string{}
|
||||
for _, entry := range uploads.Entries {
|
||||
for _, entry := range response.Uploads {
|
||||
data = append(data, []string{
|
||||
entry.Id, entry.Expire, entry.Context, entry.Uploaded.Format("2006-01-02 15:04:05"),
|
||||
})
|
||||
@@ -124,16 +131,16 @@ func RespondTable(w io.Writer, resp *req.Response) error {
|
||||
|
||||
// turn the Uploads{} struct into xtnd output and print it
|
||||
func RespondExtended(w io.Writer, resp *req.Response) error {
|
||||
uploads, err := GetUploadsFromResponse(resp)
|
||||
response, err := GetResponse(resp)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if uploads.Message != "" {
|
||||
fmt.Fprintln(w, uploads.Message)
|
||||
if response.Message != "" {
|
||||
fmt.Fprintln(w, response.Message)
|
||||
}
|
||||
|
||||
WriteExtended(w, uploads)
|
||||
WriteExtended(w, response)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user