Esempio n. 1
0
        public static int RunVerb(ListOption option)
        {
            // send to server
            Request request = new Request(option.GetVerb());
            string  res     = KemiD.SendRequest(request);

            Console.WriteLine("Before pretty printing");
            Console.WriteLine(res);

            ListCommandResponse listCommandResponse = JsonConvert.DeserializeObject <ListCommandResponse>(res);


            PrettyPrintManager.PrintTable(listCommandResponse.TableHeaders.ToList(), listCommandResponse.TableRows, ConsoleColor.Red);

            // TODO implement pretty-printing
            return(0);
        }
Esempio n. 2
0
        public void ListProcesses()
        {
            var             runningProcessesDetails = new List <object>();
            List <string[]> runningProcessesData    = new List <string[]>();

            foreach (int processId in runningProcesses)
            {
                string[] processProps = { runningProcesses.IndexOf(processId).ToString(), "name", processId.ToString() };

                runningProcessesData.Add(processProps);
                runningProcessesDetails.Add(processId);
            }

            var response = new
            {
                status    = "success",
                processes = runningProcessesData
            };

            IEnumerable <string> columns = new[] { "appID", "appName", "processNumber" };
            var res = new ListCommandResponse(ResponseCode.SUCCESS, columns, runningProcessesData);

            socketManager.SendResponse(JsonConvert.SerializeObject(res));
        }
Esempio n. 3
0
        /// <summary>
        /// List command -- writes directory files listing to writer stream.
        /// </summary>
        /// <remarks>
        /// Output format:
        ///     {number of files} ({file name} {is file dir})...
        /// If directory does not exist writes -1.
        /// </remarks>
        /// <param name="path">Path to directory.</param>
        /// <param name="writer">Request network stream writer.</param>
        /// <returns>Task.</returns>
        public static async Task ListCommand(string path, StreamWriter writer)
        {
            if (!Directory.Exists(path))
            {
                await writer.WriteLineAsync("-1");

                await writer.FlushAsync();

                return;
            }

            var files       = Directory.GetFiles(path);
            var directories = Directory.GetDirectories(path);

            var response = new ListCommandResponse(
                files.Select(file => new FileResponse(file, false))
                .Concat(directories.Select(directory => new FileResponse(directory, true)))
                .ToList()
                );

            await writer.WriteLineAsync(response.ToString());

            await writer.FlushAsync();
        }