示例#1
0
        public int Run(ConfigurationBase cmd)
        {
            if (!cmd.ValidateArguments(2))
            {
                return(1);
            }

            var args = new List <string>()
            {
                cmd.GetNonNullArguments()[0]
            };
            var segmentsArgument = cmd.GetArgument <SegmentsArgument>();

            if (segmentsArgument != null)
            {
                foreach (var segment in segmentsArgument.Values)
                {
                    args.Add("-d");
                    args.Add(segment);
                }
            }

            cmd.Main(cmd.GetNonNullArguments().Union(new string[] { "-d" }).ToArray());
            return(0);
        }
示例#2
0
        public int Run(ConfigurationBase cmd)
        {
            if (!cmd.ValidateArguments(2))
            {
                return(1);
            }

            // The first argument is the output - we need to use the -out switch
            var args = new List <string>(cmd.GetNonNullArguments().Skip(1));

            args.Add("-out");
            args.Add(cmd.GetNonNullArguments().First());

            var input = cmd as Configuration;

            args.Add("-num");

            if (input.NumberOfParts != null && input.NumberOfParts.HasValue())
            {
                args.Add(input.NumberOfParts.Value());
            }
            else
            {
                // Default to 2 parts
                args.Add("2");
            }

            if (input.Sequential != null && input.Sequential.HasValue())
            {
                args.Add("-seq");
            }

            cmd.Main(args.ToArray());
            return(0);
        }
示例#3
0
        public int Run(ConfigurationBase cmd)
        {
            if (!cmd.ValidateArguments(1))
            {
                return(1);
            }

            var args = new List <string>();

            if (extract)
            {
                args.Add("-extract");
            }

            var directoryTypeOption = cmd.GetOption <DirectoryTypeOption>();

            if (directoryTypeOption != null && directoryTypeOption.HasValue())
            {
                args.Add("-dir-impl");
                args.Add(directoryTypeOption.Value());
            }

            cmd.Main(cmd.GetNonNullArguments().Union(args).ToArray());
            return(0);
        }
示例#4
0
        public int Run(ConfigurationBase cmd)
        {
            if (!cmd.ValidateArguments(4))
            {
                return(1);
            }

            var input = cmd as Configuration;
            var args  = new List <string>(cmd.GetNonNullArguments());

            string querySpec = string.Empty;

            if (input.QueryOnTitle.HasValue())
            {
                querySpec += "T";
            }
            if (input.QueryOnDescription.HasValue())
            {
                querySpec += "D";
            }
            if (input.QueryOnNarrative.HasValue())
            {
                querySpec += "N";
            }

            if (!string.IsNullOrEmpty(querySpec))
            {
                args.Add(querySpec);
            }

            cmd.Main(args.ToArray());
            return(0);
        }
示例#5
0
        public int Run(ConfigurationBase cmd)
        {
            if (!cmd.ValidateArguments(2))
            {
                return(1);
            }

            cmd.Main(cmd.GetNonNullArguments());
            return(0);
        }
示例#6
0
        public int Run(ConfigurationBase cmd)
        {
            if (!cmd.ValidateArguments(1))
            {
                return(1);
            }

            cmd.Main(cmd.GetNonNullArguments().Union(new string[] { "-l" }).ToArray());
            return(0);
        }