CSL.TorrentBuilder.ExtractBitrate C# (CSharp) Method

ExtractBitrate() public method

public ExtractBitrate ( string birth, FileInfo file ) : string
birth string
file System.IO.FileInfo
return string
        public string ExtractBitrate(string birth, FileInfo file)
        {
            switch (birth)
            {
                case "waffles":
                    {
                        if (file.Name.Contains("(VBR)"))
                        {
                            if (file.Name.Contains("V0"))
                            {
                                string structure = SettingsHandler.GetBitrate("VBR");
                                string bitrate = "V0(VBR)";
                                if (structure.Contains("#"))
                                {
                                    bitrate = "";

                                    while (structure.Contains("#"))
                                        structure = structure.Replace('#', '0');

                                    bitrate = structure;
                                }
                                return bitrate;
                            }
                            else if (file.Name.Contains("V10"))
                            {
                                string structure = SettingsHandler.GetBitrate("VBR");
                                string bitrate = "V10(VBR)";
                                if (structure.Contains("#"))
                                {
                                    bitrate = "";

                                    while (structure.Contains("#"))
                                        structure = structure.Replace("#", "10");

                                    bitrate = structure;
                                }
                                return bitrate;
                            }
                            else if (file.Name.Contains("V2"))
                            {
                                string structure = SettingsHandler.GetBitrate("VBR");
                                string bitrate = "V2(VBR)";
                                if (structure.Contains("#"))
                                {
                                    bitrate = "";

                                    while (structure.Contains("#"))
                                        structure = structure.Replace('#', '2');

                                    bitrate = structure;
                                }
                                return bitrate;
                            }
                            else if (file.Name.Contains("V4"))
                            {
                                string structure = SettingsHandler.GetBitrate("VBR");
                                string bitrate = "V4(VBR)";
                                if (structure.Contains("#"))
                                {
                                    bitrate = "";

                                    while (structure.Contains("#"))
                                        structure = structure.Replace('#', '4');

                                    bitrate = structure;
                                }
                                return bitrate;
                            }
                            else if (file.Name.Contains("V6"))
                            {
                                string structure = SettingsHandler.GetBitrate("VBR");
                                string bitrate = "V6(VBR)";
                                if (structure.Contains("#"))
                                {
                                    bitrate = "";

                                    while (structure.Contains("#"))
                                        structure = structure.Replace('#', '6');

                                    bitrate = structure;
                                }
                                return bitrate;
                            }
                            else if (file.Name.Contains("V8"))
                            {
                                string structure = SettingsHandler.GetBitrate("VBR");
                                string bitrate = "V8(VBR)";
                                if (structure.Contains("#"))
                                {
                                    bitrate = "";

                                    while (structure.Contains("#"))
                                        structure = structure.Replace('#', '8');

                                    bitrate = structure;
                                }
                                return bitrate;
                            }
                        }
                        else if (file.Name.Contains("Lossless]"))
                            return SettingsHandler.GetBitrate("Lossless");
                        else
                        {
                            Match match = Regex.Match(file.Name, "[-][1-3]{1}[0-9]{2}");

                            if (match.Success)
                            {
                                string value = match.Value;
                                string bitrate = match.Value.Substring(1, 3);
                                value = value.Substring(1, 3);

                                if (int.Parse(value) > 191 && int.Parse(value) < 321)
                                {
                                    string structure = SettingsHandler.GetBitrate("CBR");

                                    if (structure.Contains("###"))
                                    {
                                        bitrate = "";
                                        while (structure.Contains("###"))
                                        {
                                            structure = structure.Replace("###", value);
                                        }
                                        bitrate = structure;
                                    }

                                    return bitrate;
                                }
                                else
                                {
                                    return IssueError("Can't parse bitrate", file);
                                }
                            }
                            else
                            {
                                return IssueError("Can't parse bitrate", file);
                            }
                        }
                    }
                    return IssueError("Can't parse bitrate", file);
                case "what":
                    {
                        try
                        {
                            if (file.Name.Contains("(VBR)"))
                            {
                                if (file.Name.Contains("V0"))
                                {
                                    string structure = SettingsHandler.GetBitrate("VBR");
                                    string bitrate = "V0(VBR)";
                                    if (structure.Contains("#"))
                                    {
                                        bitrate = "";

                                        while (structure.Contains("#"))
                                            structure = structure.Replace('#', '0');

                                        bitrate = structure;
                                    }
                                    return bitrate;
                                }
                                else if (file.Name.Contains("V10"))
                                {
                                    string structure = SettingsHandler.GetBitrate("VBR");
                                    string bitrate = "V10(VBR)";
                                    if (structure.Contains("#"))
                                    {
                                        bitrate = "";

                                        while (structure.Contains("#"))
                                            structure = structure.Replace("#", "10");

                                        bitrate = structure;
                                    }
                                    return bitrate;
                                }
                                else if (file.Name.Contains("V1"))
                                {
                                    string structure = SettingsHandler.GetBitrate("VBR");
                                    string bitrate = "V1(VBR)";
                                    if (structure.Contains("#"))
                                    {
                                        bitrate = "";

                                        while (structure.Contains("#"))
                                            structure = structure.Replace('#', '1');

                                        bitrate = structure;
                                    }
                                    return bitrate;
                                }
                                else if (file.Name.Contains("V2"))
                                {
                                    string structure = SettingsHandler.GetBitrate("VBR");
                                    string bitrate = "V2(VBR)";
                                    if (structure.Contains("#"))
                                    {
                                        bitrate = "";

                                        while (structure.Contains("#"))
                                            structure = structure.Replace('#', '2');

                                        bitrate = structure;
                                    }
                                    return bitrate;
                                }
                                else if (file.Name.Contains("V4"))
                                {
                                    string structure = SettingsHandler.GetBitrate("VBR");
                                    string bitrate = "V4(VBR)";
                                    if (structure.Contains("#"))
                                    {
                                        bitrate = "";

                                        while (structure.Contains("#"))
                                            structure = structure.Replace('#', '4');

                                        bitrate = structure;
                                    }
                                    return bitrate;
                                }
                                else if (file.Name.Contains("V6"))
                                {
                                    string structure = SettingsHandler.GetBitrate("VBR");
                                    string bitrate = "V6(VBR)";
                                    if (structure.Contains("#"))
                                    {
                                        bitrate = "";

                                        while (structure.Contains("#"))
                                            structure = structure.Replace('#', '6');

                                        bitrate = structure;
                                    }
                                    return bitrate;
                                }
                                else if (file.Name.Contains("V8"))
                                {
                                    string structure = SettingsHandler.GetBitrate("VBR");
                                    string bitrate = "V8(VBR)";
                                    if (structure.Contains("#"))
                                    {
                                        bitrate = "";

                                        while (structure.Contains("#"))
                                            structure = structure.Replace('#', '8');

                                        bitrate = structure;
                                    }
                                    return bitrate;
                                }

                                else if (file.Name.Contains("APX(VBR)"))
                                    return SettingsHandler.GetBitrate("APX");
                                else if (file.Name.Contains("APS(VBR)"))
                                    return SettingsHandler.GetBitrate("APS");
                                else if (file.Name.Contains("q8.x(VBR)"))
                                    return SettingsHandler.GetBitrate("q8.x");
                                else
                                    return IssueError("Can't parse bitrate", file);
                            }
                            else if (file.Name.Contains("24bit Lossless"))
                                return SettingsHandler.GetBitrate("24bitLossless");
                            else if (file.Name.Contains("FLAC"))
                                return SettingsHandler.GetBitrate("Lossless");
                            else
                            {
                                Match match = Regex.Match(file.Name, "[1-3]{1}[0-9]{2}[)]");
                                if (match.Success)
                                {
                                    string value = match.Value;
                                    value = value.Substring(0, 3);
                                    string bitrate = value;

                                    if (int.Parse(value) > 191 && int.Parse(value) < 321)
                                    {
                                        string structure = SettingsHandler.GetBitrate("CBR");
                                        if (structure.Contains("###"))
                                        {
                                            bitrate = "";
                                            while (structure.Contains("###"))
                                            {
                                                structure = structure.Replace("###", value);
                                            }
                                            bitrate = structure;
                                        }
                                        return bitrate;
                                    }
                                    else
                                    {
                                        return IssueError("Can't parse bitrate", file);
                                    }
                                }
                                else
                                    return IssueError("Can't parse bitrate", file);
                            }
                        }
                        catch (Exception e)
                        {
                            ew.IssueGeneralWarning("Error parsing bitrate", "Please report", e.Message + "\n" + e.StackTrace);
                            return IssueError("Can't parse bitrate", file);
                        }
                    }
                default:
                    return IssueError("Can't parse bitrate", file);
            }
        }