WitNote / internal /cli /actions /actions_screenshot.go
AUXteam's picture
Upload folder using huggingface_hub
6a7089a verified
package actions
import (
"fmt"
"github.com/pinchtab/pinchtab/internal/cli"
"github.com/pinchtab/pinchtab/internal/cli/apiclient"
"github.com/spf13/cobra"
"net/http"
"net/url"
"os"
"time"
)
func Screenshot(client *http.Client, base, token string, cmd *cobra.Command) {
params := url.Values{}
params.Set("raw", "true")
outFile, _ := cmd.Flags().GetString("output")
if v, _ := cmd.Flags().GetString("quality"); v != "" {
params.Set("quality", v)
}
if v, _ := cmd.Flags().GetString("tab"); v != "" {
params.Set("tabId", v)
}
if outFile == "" {
outFile = fmt.Sprintf("screenshot-%s.jpg", time.Now().Format("20060102-150405"))
}
data := apiclient.DoGetRaw(client, base, token, "/screenshot", params)
if data == nil {
return
}
if err := os.WriteFile(outFile, data, 0600); err != nil {
cli.Fatal("Write failed: %v", err)
}
fmt.Println(cli.StyleStdout(cli.SuccessStyle, fmt.Sprintf("Saved %s (%d bytes)", outFile, len(data))))
}