コード例 #1
0
        public void CMD_SysOp_Import_Files()
        {
            //Prompt for path
            _bbs.Write("~l2~c1Import Files~l1Path:~c7");
            string path = _bbs.Input(true, false, false);

            _bbs.Write("~l1~c7P~c1ETSCII or ~c7A~c1SCII:~c7");
            bool petscii = false;
            char PA      = _bbs.GetChar();

            if (PA.ToString().ToUpper() == "P")
            {
                petscii = true;
                _bbs.WriteLine("PETSCII~c1");
            }
            else
            {
                _bbs.WriteLine("ASCII~c1");
            }
            //Open import.txt at that path
            if (File.Exists(path + "\\import.txt"))
            {
                //Show proposed import
                string[] lines = File.ReadAllLines(path + "\\import.txt");
                //Confirm
                //For each Row, create a GFileDetail entry.
                _bbs.WriteLine("~l1~c1Importing...~l1");
                List <string> badlines = new List <string>();
                foreach (string s in lines)
                {
                    int    firstspace  = s.IndexOf(' ');
                    string shortname   = s.Substring(0, firstspace);
                    string filename    = path + "\\" + shortname;
                    string description = s.Substring(firstspace + 1, s.Length - (firstspace + 1));
                    _bbs.Write("~c1Adding " + shortname + "...");
                    if (_dataInterface.AddGFile(Current_Gfile_Area, shortname, filename, description, petscii))
                    {
                        _bbs.WriteLine("~c5GOOD.");
                    }
                    else
                    {
                        badlines.Add(s);
                        _bbs.WriteLine("~c2BAD.");
                    }
                }
                if (badlines.Count > 0)
                {
                    File.WriteAllLines(path + "\\badlines.txt", badlines);
                }
            }
            else
            {
                _bbs.WriteLine("~l1~c2No ~caimport.txt~c2 found!~c1~g1");
            }
        }