예제 #1
0
        public RenameResult GetRenameInfo2(string in_name, System.DateTime in_disktime)
        {
            string out_name;

            System.DateTime out_disktime;

            var res = this.parse(in_name);

            if (res == null)
            {
                throw new Exception();
            }

            string name_base = System.IO.Path.GetFileNameWithoutExtension(res.Remainder);

            name_base = strip_trailing_chars(name_base, '-');

            string name_ext = System.IO.Path.GetExtension(res.Remainder);

            string name_stamp = null;

            if (res.Stamp != null)
            {
                // there is a stamp in the filename

                bool file_stamp_is_valid_date = res.Stamp.year_is_an_int && res.Stamp.month_is_an_int && res.Stamp.day_is_an_int;

                if (file_stamp_is_valid_date)
                {
                    name_stamp   = string.Format("-({0:0000}-{1:00}-{2:00})", res.Stamp.in_stamp_year, res.Stamp.in_stamp_month, res.Stamp.in_stamp_day);
                    out_disktime = new DateTime(res.Stamp.in_stamp_year, res.Stamp.in_stamp_month, res.Stamp.in_stamp_day);
                    out_name     = name_base + name_stamp + name_ext;
                }
                else
                {
                    name_stamp   = string.Format("-({0}-{1}-{2})", res.Stamp.Year, res.Stamp.Month, res.Stamp.Day);
                    out_disktime = in_disktime;
                    out_name     = name_base + name_stamp + name_ext;
                }
            }
            else
            {
                // there is no a stamp in the filename, use the lastmod

                name_stamp   = string.Format("-({0:0000}-{1:00}-{2:00})", in_disktime.Year, in_disktime.Month, in_disktime.Day);
                out_disktime = in_disktime;
                out_name     = name_base + name_stamp + name_ext;
            }

            var rr = new RenameResult();

            rr.OldName     = in_name;
            rr.NewName     = out_name;
            rr.NewDiskTime = out_disktime;

            return(rr);
        }
예제 #2
0
파일: Program.cs 프로젝트: saveenr/saveenr
        public RenameResult GetRenameInfo2(string in_name, System.DateTime in_disktime)
        {
            string out_name;
            System.DateTime out_disktime;

            var res = this.parse(in_name);
            if (res == null)
            {
                throw new Exception();
            }

            string name_base = System.IO.Path.GetFileNameWithoutExtension(res.Remainder);
            name_base = strip_trailing_chars(name_base, '-');

            string name_ext = System.IO.Path.GetExtension(res.Remainder);

            string name_stamp = null;

            if (res.Stamp != null)
            {
                // there is a stamp in the filename

                bool file_stamp_is_valid_date = res.Stamp.year_is_an_int && res.Stamp.month_is_an_int && res.Stamp.day_is_an_int;

                if (file_stamp_is_valid_date)
                {
                    name_stamp = string.Format("-({0:0000}-{1:00}-{2:00})", res.Stamp.in_stamp_year, res.Stamp.in_stamp_month, res.Stamp.in_stamp_day);
                    out_disktime = new DateTime(res.Stamp.in_stamp_year, res.Stamp.in_stamp_month, res.Stamp.in_stamp_day);
                    out_name = name_base + name_stamp + name_ext;
                }
                else
                {
                    name_stamp = string.Format("-({0}-{1}-{2})", res.Stamp.Year, res.Stamp.Month, res.Stamp.Day);
                    out_disktime = in_disktime;
                    out_name = name_base + name_stamp + name_ext;
                }

            }
            else
            {
                // there is no a stamp in the filename, use the lastmod

                name_stamp = string.Format("-({0:0000}-{1:00}-{2:00})", in_disktime.Year, in_disktime.Month, in_disktime.Day);
                out_disktime = in_disktime;
                out_name = name_base + name_stamp + name_ext;

            }

            var rr = new RenameResult();
            rr.OldName = in_name;
            rr.NewName = out_name;
            rr.NewDiskTime = out_disktime;

            return rr;
        }