private static int RunRenameAndReturnExitCode(RenameOption opts)
        {
            var nameDictionary = ReadDictionary(DictionaryFilePath);

            if (string.IsNullOrEmpty(opts.OutputDirectory))
            {
                opts.OutputDirectory = opts.InputDirectory + "_renamed";
            }

            if (!Directory.Exists(opts.OutputDirectory))
            {
                Directory.CreateDirectory(opts.OutputDirectory);
            }

            var inputFilePaths = Directory.GetFiles(opts.InputDirectory);
            int i = 1;

            foreach (var inputFilePath in inputFilePaths)
            {
                var fileName  = Path.GetFileNameWithoutExtension(inputFilePath);
                var extension = Path.GetExtension(inputFilePath);
                WriteLine(
                    string.Format("Renaming file {0}/{1}", i, inputFilePaths.Length),
                    opts.Verbose);

                ulong  hash;
                string name;
                if (ulong.TryParse(fileName, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out hash) &&
                    nameDictionary.TryGetValue(hash, out name))
                {
                    string outputFileName = name + extension;

                    WriteLine(
                        string.Format("Renamed {0} to {1}", fileName, outputFileName),
                        opts.Verbose);

                    var outputFilePath  = Path.Combine(opts.OutputDirectory, outputFileName);
                    var outputDirectory = Path.GetDirectoryName(outputFilePath);
                    if (!Directory.Exists(outputDirectory))
                    {
                        Directory.CreateDirectory(outputDirectory);
                    }

                    File.Copy(inputFilePath, outputFilePath, true);
                }
                else
                {
                    string outputFileName = fileName + extension;

                    Debug.WriteLine(string.Format("Missing name '{0}'", outputFileName));
                    WriteLine(
                        string.Format("Unable to renamed {0}. Unknown ID", outputFileName),
                        opts.Verbose);
                    var outputFilePath = Path.Combine(opts.OutputDirectory, outputFileName);
                    File.Copy(inputFilePath, outputFilePath, true);
                }
                i++;
            }
            return(0);
        }
Exemple #2
0
        public async void RenamePlaylist(string oldName, string newName, RenameOption option, object data = null)
        {
            switch (option)
            {
            case RenameOption.New:
                Playlist playlist = new Playlist(newName);
                if (data != null)
                {
                    playlist.Add(data);
                }
                await playlist.SetDisplayItemAsync();

                Playlists.Add(playlist);
                PlaylistsPage.Playlists.Add(playlist);
                foreach (var listener in PlaylistAddedListeners)
                {
                    listener.Invoke(playlist);
                }
                break;

            case RenameOption.Rename:
                if (oldName == newName)
                {
                    break;
                }
                int index = Playlists.FindIndex(p => p.Name == oldName);
                Playlists[index].Name = newName;
                PlaylistsPage.Playlists[index].Name = newName;
                break;
            }
        }
Exemple #3
0
        private void Constructor(Func <string, string, bool> confirm, RenameOption option, string defaultName)
        {
            this.InitializeComponent();
            Confirm     = confirm;
            Option      = option;
            DefaultName = defaultName;
            string dialogTitle = "", confirmContent = "";

            switch (option)
            {
            case RenameOption.New:
                dialogTitle    = "Create New Playlist";
                confirmContent = "Confirm";
                break;

            case RenameOption.Rename:
                dialogTitle    = "Rename Playlist";
                confirmContent = "Rename";
                break;
            }
            TitleTextBlock.Text         = Helper.Localize(dialogTitle);
            ConfirmButton.Content       = Helper.Localize(confirmContent);
            NewPlaylistNameTextBox.Text = defaultName;
            NewPlaylistNameTextBox.SelectAll();
        }
        private static int RunRenameAndReturnExitCode(RenameOption opts)
        {
            var nameDictionary = ReadDictionary(DictionaryFilePath);

            if (string.IsNullOrEmpty(opts.OutputDirectory))
            {
                opts.OutputDirectory = opts.InputDirectory + "_renamed";
            }

            if (!Directory.Exists(opts.OutputDirectory))
            {
                Directory.CreateDirectory(opts.OutputDirectory);
            }

            var inputFilePaths = Directory.GetFiles(opts.InputDirectory);
            int i = 1;
            foreach (var inputFilePath in inputFilePaths)
            {
                var fileName = Path.GetFileName(inputFilePath);
                var extension = Path.GetExtension(inputFilePath);
                WriteLine(
                    string.Format("Renaming file {0}/{1}", i, inputFilePaths.Length),
                    opts.Verbose);

                ulong hash;
                string name;
                if (ulong.TryParse(fileName, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out hash)
                    && nameDictionary.TryGetValue(hash, out name))
                {
                    string outputFileName = name + extension;

                    WriteLine(
                        string.Format("Renamed {0} to {1}", fileName, outputFileName),
                        opts.Verbose);

                    var outputFilePath = Path.Combine(opts.OutputDirectory, outputFileName);
                    var outputDirectory = Path.GetDirectoryName(outputFilePath);
                    if (!Directory.Exists(outputDirectory))
                    {
                        Directory.CreateDirectory(outputDirectory);
                    }

                    File.Copy(inputFilePath, outputFilePath, true);
                }
                else
                {
                    WriteLine(
                        string.Format("Unable to renamed {0}. Unknown ID", fileName),
                        opts.Verbose);
                    var outputFilePath = Path.Combine(opts.OutputDirectory, fileName);
                    File.Copy(inputFilePath, outputFilePath, true);
                }
                i++;
            }
            return 0;
        }
Exemple #5
0
 public RenameDialog(IRenameActionListener listener, RenameOption option, string defaultName)
 {
     Constructor(listener.Confirm, option, defaultName);
 }
Exemple #6
0
 public RenameDialog(Func <string, string, bool> confirm, RenameOption option, string defaultName)
 {
     Constructor(confirm, option, defaultName);
 }