github.com/ncw/rclone@v1.48.1-0.20190724201158-a35aa1360e3e/cmd/serve/dlna/dlnaflags/dlnaflags.go (about)

     1  package dlnaflags
     2  
     3  import (
     4  	"github.com/ncw/rclone/fs/config/flags"
     5  	"github.com/ncw/rclone/fs/rc"
     6  	"github.com/spf13/pflag"
     7  )
     8  
     9  // Help contains the text for the command line help and manual.
    10  var Help = `
    11  ### Server options
    12  
    13  Use --addr to specify which IP address and port the server should
    14  listen on, eg --addr 1.2.3.4:8000 or --addr :8080 to listen to all
    15  IPs.
    16  
    17  Use --name to choose the friendly server name, which is by
    18  default "rclone (hostname)".
    19  
    20  Use --log-trace in conjunction with -vv to enable additional debug
    21  logging of all UPNP traffic.
    22  `
    23  
    24  // Options is the type for DLNA serving options.
    25  type Options struct {
    26  	ListenAddr   string
    27  	FriendlyName string
    28  	LogTrace     bool
    29  }
    30  
    31  // DefaultOpt contains the defaults options for DLNA serving.
    32  var DefaultOpt = Options{
    33  	ListenAddr:   ":7879",
    34  	FriendlyName: "",
    35  	LogTrace:     false,
    36  }
    37  
    38  // Opt contains the options for DLNA serving.
    39  var (
    40  	Opt = DefaultOpt
    41  )
    42  
    43  func addFlagsPrefix(flagSet *pflag.FlagSet, prefix string, Opt *Options) {
    44  	rc.AddOption("dlna", &Opt)
    45  	flags.StringVarP(flagSet, &Opt.ListenAddr, prefix+"addr", "", Opt.ListenAddr, "ip:port or :port to bind the DLNA http server to.")
    46  	flags.StringVarP(flagSet, &Opt.FriendlyName, prefix+"name", "", Opt.FriendlyName, "name of DLNA server")
    47  	flags.BoolVarP(flagSet, &Opt.LogTrace, prefix+"log-trace", "", Opt.LogTrace, "enable trace logging of SOAP traffic")
    48  }
    49  
    50  // AddFlags add the command line flags for DLNA serving.
    51  func AddFlags(flagSet *pflag.FlagSet) {
    52  	addFlagsPrefix(flagSet, "", &Opt)
    53  }