Skip to content

Commit a6ad653

Browse files
committed
Use constants string field
1 parent 80da703 commit a6ad653

7 files changed

Lines changed: 157 additions & 75 deletions

File tree

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package rawrecording
2+
3+
// Flag names for global/persistent flags
4+
const (
5+
FlagInputFile = "input-file"
6+
FlagInputDir = "input-dir"
7+
FlagInputS3 = "input-s3"
8+
FlagOutput = "output"
9+
FlagVerbose = "verbose"
10+
)
11+
12+
// Flag names for filter flags (used across multiple commands)
13+
const (
14+
FlagUserID = "user-id"
15+
FlagSessionID = "session-id"
16+
FlagTrackID = "track-id"
17+
)
18+
19+
// Flag names for processing options
20+
const (
21+
FlagFillGaps = "fill-gaps"
22+
FlagFixDtx = "fix-dtx"
23+
FlagMedia = "media"
24+
)
25+
26+
// Flag names for list-tracks command
27+
const (
28+
FlagFormat = "format"
29+
FlagTrackType = "track-type"
30+
FlagCompletionType = "completion-type"
31+
)
32+
33+
// Flag descriptions for global/persistent flags
34+
const (
35+
DescInputFile = "Raw recording zip file path"
36+
DescInputDir = "Raw recording directory path"
37+
DescInputS3 = "Raw recording S3 path"
38+
DescOutput = "Output directory"
39+
DescVerbose = "Enable verbose logging"
40+
)
41+
42+
// Flag descriptions for filter flags
43+
const (
44+
DescUserID = "Filter by user ID"
45+
DescSessionID = "Filter by session ID"
46+
DescTrackID = "Filter by track ID"
47+
)
48+
49+
// Flag descriptions for processing options
50+
const (
51+
DescFillGapsAudio = "Fill with silence when track was muted"
52+
DescFillGapsVideo = "Fill with black frame when track was muted"
53+
DescFixDtx = "Fix DTX shrink audio"
54+
DescMedia = "Filter by media type: 'user', 'display', or 'both'"
55+
)
56+
57+
// Flag descriptions for list-tracks command
58+
const (
59+
DescFormat = "Output format: table, json, users, sessions, tracks, completion"
60+
DescTrackType = "Filter by track type: audio, video"
61+
DescCompletionType = "For completion format: users, sessions, tracks"
62+
)
63+
64+
// Default values
65+
const (
66+
DefaultFormat = "table"
67+
DefaultCompletionType = "tracks"
68+
DefaultMedia = "both"
69+
)
70+
71+
// Media type values
72+
const (
73+
MediaUser = "user"
74+
MediaDisplay = "display"
75+
MediaBoth = "both"
76+
)
77+
78+
// Track type values
79+
const (
80+
TrackTypeAudio = "audio"
81+
TrackTypeVideo = "video"
82+
)

pkg/cmd/raw-recording-tool/extract_audio.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,16 @@ func extractAudioCmd() *cobra.Command {
3838
}
3939

4040
fl := cmd.Flags()
41-
fl.String("user-id", "", "Filter by user ID")
42-
fl.String("session-id", "", "Filter by session ID")
43-
fl.String("track-id", "", "Filter by track ID")
44-
fl.Bool("fill-gaps", true, "Fill with silence when track was muted")
45-
fl.Bool("fix-dtx", true, "Fix DTX shrink audio")
41+
fl.String(FlagUserID, "", DescUserID)
42+
fl.String(FlagSessionID, "", DescSessionID)
43+
fl.String(FlagTrackID, "", DescTrackID)
44+
fl.Bool(FlagFillGaps, true, DescFillGapsAudio)
45+
fl.Bool(FlagFixDtx, true, DescFixDtx)
4646

4747
// Register completions
48-
_ = cmd.RegisterFlagCompletionFunc("user-id", completeUserIDs)
49-
_ = cmd.RegisterFlagCompletionFunc("session-id", completeSessionIDs)
50-
_ = cmd.RegisterFlagCompletionFunc("track-id", completeTrackIDs)
48+
_ = cmd.RegisterFlagCompletionFunc(FlagUserID, completeUserIDs)
49+
_ = cmd.RegisterFlagCompletionFunc(FlagSessionID, completeSessionIDs)
50+
_ = cmd.RegisterFlagCompletionFunc(FlagTrackID, completeTrackIDs)
5151

5252
return cmd
5353
}
@@ -63,11 +63,11 @@ func runExtractAudio(cmd *cobra.Command, args []string) error {
6363
return err
6464
}
6565

66-
userID, _ := cmd.Flags().GetString("user-id")
67-
sessionID, _ := cmd.Flags().GetString("session-id")
68-
trackID, _ := cmd.Flags().GetString("track-id")
69-
fillGaps, _ := cmd.Flags().GetBool("fill-gaps")
70-
fixDtx, _ := cmd.Flags().GetBool("fix-dtx")
66+
userID, _ := cmd.Flags().GetString(FlagUserID)
67+
sessionID, _ := cmd.Flags().GetString(FlagSessionID)
68+
trackID, _ := cmd.Flags().GetString(FlagTrackID)
69+
fillGaps, _ := cmd.Flags().GetBool(FlagFillGaps)
70+
fixDtx, _ := cmd.Flags().GetBool(FlagFixDtx)
7171

7272
// Validate input arguments against actual recording data
7373
metadata, err := validateInputArgs(globalArgs, userID, sessionID, trackID)

pkg/cmd/raw-recording-tool/extract_video.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@ func extractVideoCmd() *cobra.Command {
3838
}
3939

4040
fl := cmd.Flags()
41-
fl.String("user-id", "", "Filter by user ID")
42-
fl.String("session-id", "", "Filter by session ID")
43-
fl.String("track-id", "", "Filter by track ID")
44-
fl.Bool("fill-gaps", true, "Fill with black frame when track was muted")
41+
fl.String(FlagUserID, "", DescUserID)
42+
fl.String(FlagSessionID, "", DescSessionID)
43+
fl.String(FlagTrackID, "", DescTrackID)
44+
fl.Bool(FlagFillGaps, true, DescFillGapsVideo)
4545

4646
// Register completions
47-
_ = cmd.RegisterFlagCompletionFunc("user-id", completeUserIDs)
48-
_ = cmd.RegisterFlagCompletionFunc("session-id", completeSessionIDs)
49-
_ = cmd.RegisterFlagCompletionFunc("track-id", completeTrackIDs)
47+
_ = cmd.RegisterFlagCompletionFunc(FlagUserID, completeUserIDs)
48+
_ = cmd.RegisterFlagCompletionFunc(FlagSessionID, completeSessionIDs)
49+
_ = cmd.RegisterFlagCompletionFunc(FlagTrackID, completeTrackIDs)
5050

5151
return cmd
5252
}
@@ -62,10 +62,10 @@ func runExtractVideo(cmd *cobra.Command, args []string) error {
6262
return err
6363
}
6464

65-
userID, _ := cmd.Flags().GetString("user-id")
66-
sessionID, _ := cmd.Flags().GetString("session-id")
67-
trackID, _ := cmd.Flags().GetString("track-id")
68-
fillGaps, _ := cmd.Flags().GetBool("fill-gaps")
65+
userID, _ := cmd.Flags().GetString(FlagUserID)
66+
sessionID, _ := cmd.Flags().GetString(FlagSessionID)
67+
trackID, _ := cmd.Flags().GetString(FlagTrackID)
68+
fillGaps, _ := cmd.Flags().GetBool(FlagFillGaps)
6969

7070
// Validate input arguments against actual recording data
7171
metadata, err := validateInputArgs(globalArgs, userID, sessionID, trackID)

pkg/cmd/raw-recording-tool/list_tracks.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ func listTracksCmd() *cobra.Command {
4040
}
4141

4242
fl := cmd.Flags()
43-
fl.String("format", "table", "Output format: table, json, users, sessions, tracks, completion")
44-
fl.String("track-type", "", "Filter by track type: audio, video")
45-
fl.String("completion-type", "tracks", "For completion format: users, sessions, tracks")
43+
fl.String(FlagFormat, DefaultFormat, DescFormat)
44+
fl.String(FlagTrackType, "", DescTrackType)
45+
fl.String(FlagCompletionType, DefaultCompletionType, DescCompletionType)
4646

4747
return cmd
4848
}
@@ -58,9 +58,9 @@ func runListTracks(cmd *cobra.Command, args []string) error {
5858
return err
5959
}
6060

61-
format, _ := cmd.Flags().GetString("format")
62-
trackType, _ := cmd.Flags().GetString("track-type")
63-
completionType, _ := cmd.Flags().GetString("completion-type")
61+
format, _ := cmd.Flags().GetString(FlagFormat)
62+
trackType, _ := cmd.Flags().GetString(FlagTrackType)
63+
completionType, _ := cmd.Flags().GetString(FlagCompletionType)
6464

6565
logger := setupLogger(globalArgs.Verbose)
6666
logger.Info("Starting list-tracks command")

pkg/cmd/raw-recording-tool/mux_av.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,17 @@ func muxAVCmd() *cobra.Command {
4444
}
4545

4646
fl := cmd.Flags()
47-
fl.String("user-id", "", "Filter by user ID")
48-
fl.String("session-id", "", "Filter by session ID")
49-
fl.String("track-id", "", "Filter by track ID")
50-
fl.String("media", "both", "Filter by media type: 'user', 'display', or 'both'")
47+
fl.String(FlagUserID, "", DescUserID)
48+
fl.String(FlagSessionID, "", DescSessionID)
49+
fl.String(FlagTrackID, "", DescTrackID)
50+
fl.String(FlagMedia, DefaultMedia, DescMedia)
5151

5252
// Register completions
53-
_ = cmd.RegisterFlagCompletionFunc("user-id", completeUserIDs)
54-
_ = cmd.RegisterFlagCompletionFunc("session-id", completeSessionIDs)
55-
_ = cmd.RegisterFlagCompletionFunc("track-id", completeTrackIDs)
56-
_ = cmd.RegisterFlagCompletionFunc("media", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
57-
return []string{"user", "display", "both"}, cobra.ShellCompDirectiveNoFileComp
53+
_ = cmd.RegisterFlagCompletionFunc(FlagUserID, completeUserIDs)
54+
_ = cmd.RegisterFlagCompletionFunc(FlagSessionID, completeSessionIDs)
55+
_ = cmd.RegisterFlagCompletionFunc(FlagTrackID, completeTrackIDs)
56+
_ = cmd.RegisterFlagCompletionFunc(FlagMedia, func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
57+
return []string{MediaUser, MediaDisplay, MediaBoth}, cobra.ShellCompDirectiveNoFileComp
5858
})
5959

6060
return cmd
@@ -71,10 +71,10 @@ func runMuxAV(cmd *cobra.Command, args []string) error {
7171
return err
7272
}
7373

74-
userID, _ := cmd.Flags().GetString("user-id")
75-
sessionID, _ := cmd.Flags().GetString("session-id")
76-
trackID, _ := cmd.Flags().GetString("track-id")
77-
media, _ := cmd.Flags().GetString("media")
74+
userID, _ := cmd.Flags().GetString(FlagUserID)
75+
sessionID, _ := cmd.Flags().GetString(FlagSessionID)
76+
trackID, _ := cmd.Flags().GetString(FlagTrackID)
77+
media, _ := cmd.Flags().GetString(FlagMedia)
7878

7979
// Validate input arguments against actual recording data
8080
metadata, err := validateInputArgs(globalArgs, userID, sessionID, trackID)

pkg/cmd/raw-recording-tool/process_all.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ func processAllCmd() *cobra.Command {
4141
}
4242

4343
fl := cmd.Flags()
44-
fl.String("user-id", "", "Filter by user ID")
45-
fl.String("session-id", "", "Filter by session ID")
46-
fl.String("track-id", "", "Filter by track ID")
44+
fl.String(FlagUserID, "", DescUserID)
45+
fl.String(FlagSessionID, "", DescSessionID)
46+
fl.String(FlagTrackID, "", DescTrackID)
4747

4848
// Register completions
49-
_ = cmd.RegisterFlagCompletionFunc("user-id", completeUserIDs)
50-
_ = cmd.RegisterFlagCompletionFunc("session-id", completeSessionIDs)
51-
_ = cmd.RegisterFlagCompletionFunc("track-id", completeTrackIDs)
49+
_ = cmd.RegisterFlagCompletionFunc(FlagUserID, completeUserIDs)
50+
_ = cmd.RegisterFlagCompletionFunc(FlagSessionID, completeSessionIDs)
51+
_ = cmd.RegisterFlagCompletionFunc(FlagTrackID, completeTrackIDs)
5252

5353
return cmd
5454
}
@@ -64,9 +64,9 @@ func runProcessAll(cmd *cobra.Command, args []string) error {
6464
return err
6565
}
6666

67-
userID, _ := cmd.Flags().GetString("user-id")
68-
sessionID, _ := cmd.Flags().GetString("session-id")
69-
trackID, _ := cmd.Flags().GetString("track-id")
67+
userID, _ := cmd.Flags().GetString(FlagUserID)
68+
sessionID, _ := cmd.Flags().GetString(FlagSessionID)
69+
trackID, _ := cmd.Flags().GetString(FlagTrackID)
7070

7171
// Validate input arguments against actual recording data
7272
metadata, err := validateInputArgs(globalArgs, userID, sessionID, trackID)

pkg/cmd/raw-recording-tool/root.go

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@ func NewRootCmd() *cobra.Command {
4646

4747
// Persistent flags (global options available to all subcommands)
4848
pf := cmd.PersistentFlags()
49-
pf.String("input-file", "", "Raw recording zip file path")
50-
pf.String("input-dir", "", "Raw recording directory path")
51-
pf.String("input-s3", "", "Raw recording S3 path")
52-
pf.String("output", "", "Output directory")
53-
pf.Bool("verbose", false, "Enable verbose logging")
49+
pf.String(FlagInputFile, "", DescInputFile)
50+
pf.String(FlagInputDir, "", DescInputDir)
51+
pf.String(FlagInputS3, "", DescInputS3)
52+
pf.String(FlagOutput, "", DescOutput)
53+
pf.Bool(FlagVerbose, false, DescVerbose)
5454

5555
// Add subcommands
5656
cmd.AddCommand(
@@ -67,11 +67,11 @@ func NewRootCmd() *cobra.Command {
6767

6868
// getGlobalArgs extracts global arguments from cobra command flags
6969
func getGlobalArgs(cmd *cobra.Command) (*GlobalArgs, error) {
70-
inputFile, _ := cmd.Flags().GetString("input-file")
71-
inputDir, _ := cmd.Flags().GetString("input-dir")
72-
inputS3, _ := cmd.Flags().GetString("input-s3")
73-
output, _ := cmd.Flags().GetString("output")
74-
verbose, _ := cmd.Flags().GetBool("verbose")
70+
inputFile, _ := cmd.Flags().GetString(FlagInputFile)
71+
inputDir, _ := cmd.Flags().GetString(FlagInputDir)
72+
inputS3, _ := cmd.Flags().GetString(FlagInputS3)
73+
output, _ := cmd.Flags().GetString(FlagOutput)
74+
verbose, _ := cmd.Flags().GetBool(FlagVerbose)
7575

7676
return &GlobalArgs{
7777
InputFile: inputFile,
@@ -85,7 +85,7 @@ func getGlobalArgs(cmd *cobra.Command) (*GlobalArgs, error) {
8585
// validateGlobalArgs validates global arguments
8686
func validateGlobalArgs(globalArgs *GlobalArgs, requireOutput bool) error {
8787
if globalArgs.InputFile == "" && globalArgs.InputDir == "" && globalArgs.InputS3 == "" {
88-
return fmt.Errorf("either --input-file or --input-dir or --input-s3 must be specified")
88+
return fmt.Errorf("either --%s or --%s or --%s must be specified", FlagInputFile, FlagInputDir, FlagInputS3)
8989
}
9090

9191
num := 0
@@ -99,11 +99,11 @@ func validateGlobalArgs(globalArgs *GlobalArgs, requireOutput bool) error {
9999
num++
100100
}
101101
if num > 1 {
102-
return fmt.Errorf("--input-file, --input-dir and --input-s3 are exclusive, only one is allowed")
102+
return fmt.Errorf("--%s, --%s and --%s are exclusive, only one is allowed", FlagInputFile, FlagInputDir, FlagInputS3)
103103
}
104104

105105
if requireOutput && globalArgs.Output == "" {
106-
return fmt.Errorf("--output directory must be specified")
106+
return fmt.Errorf("--%s directory must be specified", FlagOutput)
107107
}
108108

109109
return nil
@@ -125,7 +125,7 @@ func validateInputArgs(globalArgs *GlobalArgs, userID, sessionID, trackID string
125125

126126
// Ensure filters are mutually exclusive
127127
if filtersCount > 1 {
128-
return nil, fmt.Errorf("only one filter can be specified at a time: --user-id, --session-id, and --track-id are mutually exclusive")
128+
return nil, fmt.Errorf("only one filter can be specified at a time: --%s, --%s, and --%s are mutually exclusive", FlagUserID, FlagSessionID, FlagTrackID)
129129
}
130130

131131
var inputPath string
@@ -160,7 +160,7 @@ func validateInputArgs(globalArgs *GlobalArgs, userID, sessionID, trackID string
160160
}
161161
}
162162
if !found {
163-
return nil, fmt.Errorf("track-id '%s' not found in recording. Use 'list-tracks --format tracks' to see available track IDs", trackID)
163+
return nil, fmt.Errorf("%s '%s' not found in recording. Use 'list-tracks --%s tracks' to see available track IDs", FlagTrackID, trackID, FlagFormat)
164164
}
165165
} else if sessionID != "" {
166166
found := false
@@ -171,7 +171,7 @@ func validateInputArgs(globalArgs *GlobalArgs, userID, sessionID, trackID string
171171
}
172172
}
173173
if !found {
174-
return nil, fmt.Errorf("session-id '%s' not found in recording. Use 'list-tracks --format sessions' to see available session IDs", sessionID)
174+
return nil, fmt.Errorf("%s '%s' not found in recording. Use 'list-tracks --%s sessions' to see available session IDs", FlagSessionID, sessionID, FlagFormat)
175175
}
176176
} else if userID != "" {
177177
found := false
@@ -182,7 +182,7 @@ func validateInputArgs(globalArgs *GlobalArgs, userID, sessionID, trackID string
182182
}
183183
}
184184
if !found {
185-
return nil, fmt.Errorf("user-id '%s' not found in recording. Use 'list-tracks --format users' to see available user IDs", userID)
185+
return nil, fmt.Errorf("%s '%s' not found in recording. Use 'list-tracks --%s users' to see available user IDs", FlagUserID, userID, FlagFormat)
186186
}
187187
}
188188

@@ -217,8 +217,8 @@ func prepareWorkDir(globalArgs *GlobalArgs, logger *getstream.DefaultLogger) (st
217217

218218
// completeUserIDs provides completion for user IDs
219219
func completeUserIDs(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
220-
inputFile, _ := cmd.Flags().GetString("input-file")
221-
inputDir, _ := cmd.Flags().GetString("input-dir")
220+
inputFile, _ := cmd.Flags().GetString(FlagInputFile)
221+
inputDir, _ := cmd.Flags().GetString(FlagInputDir)
222222

223223
inputPath := inputFile
224224
if inputPath == "" {
@@ -240,8 +240,8 @@ func completeUserIDs(cmd *cobra.Command, args []string, toComplete string) ([]st
240240

241241
// completeSessionIDs provides completion for session IDs
242242
func completeSessionIDs(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
243-
inputFile, _ := cmd.Flags().GetString("input-file")
244-
inputDir, _ := cmd.Flags().GetString("input-dir")
243+
inputFile, _ := cmd.Flags().GetString(FlagInputFile)
244+
inputDir, _ := cmd.Flags().GetString(FlagInputDir)
245245

246246
inputPath := inputFile
247247
if inputPath == "" {
@@ -263,8 +263,8 @@ func completeSessionIDs(cmd *cobra.Command, args []string, toComplete string) ([
263263

264264
// completeTrackIDs provides completion for track IDs
265265
func completeTrackIDs(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
266-
inputFile, _ := cmd.Flags().GetString("input-file")
267-
inputDir, _ := cmd.Flags().GetString("input-dir")
266+
inputFile, _ := cmd.Flags().GetString(FlagInputFile)
267+
inputDir, _ := cmd.Flags().GetString(FlagInputDir)
268268

269269
inputPath := inputFile
270270
if inputPath == "" {

0 commit comments

Comments
 (0)