Exemplo n.º 1
0
        private bool IsEligibleForMultiVersion(string folderName, string testFilePath)
        {
            string testFilename = Path.GetFileNameWithoutExtension(testFilePath);

            if (testFilename.StartsWith(folderName, StringComparison.OrdinalIgnoreCase))
            {
                // Remove the folder name before cleaning as we don't care about cleaning that part
                if (folderName.Length <= testFilename.Length)
                {
                    testFilename = testFilename.Substring(folderName.Length).Trim();
                }

                if (CleanStringParser.TryClean(testFilename, _options.CleanStringRegexes, out var cleanName))
                {
                    testFilename = cleanName.Trim().ToString();
                }

                // The CleanStringParser should have removed common keywords etc.
                return(string.IsNullOrEmpty(testFilename) ||
                       testFilename[0] == '-' ||
                       testFilename[0] == '_' ||
                       Regex.IsMatch(testFilename, @"^\[([^]]*)\]"));
            }

            return(false);
        }
Exemplo n.º 2
0
        private bool IsEligibleForMultiVersion(string folderName, string?testFilename)
        {
            testFilename = Path.GetFileNameWithoutExtension(testFilename) ?? string.Empty;

            if (testFilename.StartsWith(folderName, StringComparison.OrdinalIgnoreCase))
            {
                if (CleanStringParser.TryClean(testFilename, _options.CleanStringRegexes, out var cleanName))
                {
                    testFilename = cleanName.ToString();
                }

                testFilename = testFilename.Substring(folderName.Length).Trim();
                return(string.IsNullOrEmpty(testFilename) ||
                       testFilename[0].Equals('-') ||
                       testFilename[0].Equals('_') ||
                       string.IsNullOrWhiteSpace(Regex.Replace(testFilename, @"\[([^]]*)\]", string.Empty)));
            }

            return(false);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Tries to clean name of clutter.
 /// </summary>
 /// <param name="name">Raw name.</param>
 /// <param name="namingOptions">The naming options.</param>
 /// <param name="newName">Clean name.</param>
 /// <returns>True if cleaning of name was successful.</returns>
 public static bool TryCleanString([NotNullWhen(true)] string?name, NamingOptions namingOptions, out string newName)
 {
     return(CleanStringParser.TryClean(name, namingOptions.CleanStringRegexes, out newName));
 }
Exemplo n.º 4
0
 /// <summary>
 /// Tries to clean name of clutter.
 /// </summary>
 /// <param name="name">Raw name.</param>
 /// <param name="newName">Clean name.</param>
 /// <returns>True if cleaning of name was successful.</returns>
 public bool TryCleanString([NotNullWhen(true)] string?name, out ReadOnlySpan <char> newName)
 {
     return(CleanStringParser.TryClean(name, _options.CleanStringRegexes, out newName));
 }
Exemplo n.º 5
0
 public bool TryCleanString(string name, out ReadOnlySpan <char> newName)
 {
     return(CleanStringParser.TryClean(name, _options.CleanStringRegexes, out newName));
 }