MCPcopy Create free account
hub / github.com/bytesizedhosting/bcd / Install

Method Install

plugins/filebot/filebot.go:40–117  ·  view source on GitHub ↗
(opts *FilebotOpts)

Source from the content-addressed store, hash-verified

38}
39
40func (self *Filebot) Install(opts *FilebotOpts) error {
41 var err error
42
43 err = opts.SetDefault(self.Name)
44 if err != nil {
45 return err
46 }
47
48 // We are overwriting any given options here as the data_folder should always be the complete host for Filebot to work
49 log.Debugln("Overwriting data_folder with homefolder")
50 opts.DataFolder = opts.User.HomeDir
51
52 if opts.OutputFolder == "" {
53 opts.OutputFolder = "/host/media"
54 }
55
56 if opts.InputFolder == "" {
57 opts.InputFolder = "/host/data/completed"
58 }
59
60 if opts.FilebotAction == "" {
61 opts.InputFolder = "symlink"
62 }
63
64 err = self.WriteTemplate("plugins/filebot/data/filebot.sh", path.Join(opts.ConfigFolder, "/filebot.sh"), opts)
65 if err != nil {
66 return err
67 }
68
69 err = os.Chmod(path.Join(opts.ConfigFolder, "filebot.sh"), 0744)
70 if err != nil {
71 return err
72 }
73
74 err = self.WriteTemplate("plugins/filebot/data/filebot.conf", opts.ConfigFolder+"/filebot.conf", opts)
75 if err != nil {
76 return err
77 }
78
79 log.WithFields(log.Fields{
80 "plugin": self.Name,
81 "config_folder": opts.ConfigFolder,
82 "data_folder": opts.DataFolder,
83 "input_folder": opts.InputFolder,
84 "output_folder": opts.OutputFolder,
85 "filebot_action": opts.FilebotAction,
86 }).Debug("Plugin options")
87
88 log.Debugln("Pulling docker image", self.imageName)
89 err = self.DockerClient.PullImage(docker.PullImageOptions{Repository: self.imageName}, docker.AuthConfiguration{})
90 if err != nil {
91 return err
92 }
93
94 hostConfig := docker.HostConfig{
95 Binds: []string{opts.DataFolder + ":/host", opts.ConfigFolder + ":/config"},
96 }
97

Callers

nothing calls this directly

Calls 2

SetDefaultMethod · 0.80
WriteTemplateMethod · 0.80

Tested by

no test coverage detected