public ProcessTorrent ( string file, string birth ) : |
||
file | string | |
birth | string | |
return |
public Torrent ProcessTorrent(string file, string birth)
{
/*Directory Switches:
***********************************
%a - Artist Name %l = Live
%s = Soundtrack %c = Compilation
%e = EP %r = Remix
%v = Interview %n = Single
%x = Bootleg %u = Unknown
%m = Mixtape
%f = Album
%y = Year
%t = Album Name %i = Artist's First Initial
%b = Bitrate %p = Physical Format (CD/Vinyl)
%d = Bitrate Format (MP3/FLAC)
%z = All release formats (live,EP,comp,etc)
***********************************/
string directoryName = null;
char[] directoryArray = SettingsHandler.GetCustomDirectory().ToCharArray();
if (!SettingsHandler.GetDownloadDirectory().EndsWith("\\"))
{
SettingsHandler.SetDownloadFolder(SettingsHandler.GetDownloadDirectory() + "\\");
}
for (int a = 0; a < directoryArray.Length; a++)
{
if (directoryArray[a] == ('%'))
{
if (information[14] == "true")
goto ReturnTorrent;
switch (directoryArray[a + 1])
{
case ('a'):
{
string artist = ExtractArtist(birth, file);
artist = DirectoryHandler.GetHTMLLookUp(artist);
information[0] = artist;
if (SettingsHandler.GetArtistFlip())
{
if (information[0].StartsWith("The") || information[0].StartsWith("A "))
{
string[] modifiedArtist = information[0].Split(' ');
artist = "";
for (int b = 1; b < modifiedArtist.Length; b++)
{
artist += modifiedArtist[b];
if (!((b + 1) == modifiedArtist.Length))
{
artist += " ";
}
}
artist += ", " + modifiedArtist[0];
information[0] = artist;
}
}
else if (SettingsHandler.GetDeleteThe())
{
if (information[0].StartsWith("The"))
{
string[] modifiedArtist = information[0].Split(' ');
artist = "";
for (int b = 1; b < modifiedArtist.Length; b++)
{
artist += modifiedArtist[b];
if (!((b + 1) == modifiedArtist.Length))
{
artist += " ";
}
}
information[0] = artist;
}
}
directoryName += information[0];
a++;
} break;
case ('y'):
{
string year = ExtractYear(birth, file);
directoryName += year;
information[4] = year;
a++;
} break;
case ('b'):
{
string bitrate = ExtractBitrate(birth, file);
directoryName += bitrate;
information[3] = bitrate;
a++;
} break;
case ('d'):
{
string bitformat = ExtractBitformat(birth, file);
directoryName += bitformat;
information[6] = bitformat;
a++;
} break;
case ('p'):
{
string pformat = ExtractPhysicalFormat(birth, file);
directoryName += pformat;
information[5] = pformat;
a++;
} break;
case ('t'):
{
string album = ExtractAlbum(birth, file);
album = DirectoryHandler.GetHTMLLookUp(album);
directoryName += album;
information[1] = album;
a++;
} break;
case ('z'):
{
string format = (information[2] == null) ? ExtractAlbumFormat(birth, file, file.Contains("[CSL]--Temp")) : information[2];
directoryName += SettingsHandler.GetReleaseFormat(format);
information[2] = format;
a++;
} break;
case ('l'):
{
string format = (information[2] == null) ? ExtractAlbumFormat(birth, file, file.Contains("[CSL]--Temp")) : information[2];
if (format == Live)
{
directoryName += SettingsHandler.GetReleaseFormat(Live);
information[2] = format;
}
a++;
} break;
case ('c'):
{
string format = (information[2] == null) ? ExtractAlbumFormat(birth, file, file.Contains("[CSL]--Temp")) : information[2];
if (format == Compilation)
{
directoryName += SettingsHandler.GetReleaseFormat(Compilation);
information[2] = format;
}
a++;
} break;
case ('e'):
{
string format = (information[2] == null) ? ExtractAlbumFormat(birth, file, file.Contains("[CSL]--Temp")) : information[2];
if (format == EP)
{
directoryName += SettingsHandler.GetReleaseFormat(EP);
information[2] = format;
}
a++;
} break;
case ('r'):
{
string format = (information[2] == null) ? ExtractAlbumFormat(birth, file, file.Contains("[CSL]--Temp")) : information[2];
if (format == Remix)
{
directoryName += SettingsHandler.GetReleaseFormat(Remix);
information[2] = format;
}
a++;
} break;
case ('v'):
{
string format = (information[2] == null) ? ExtractAlbumFormat(birth, file, file.Contains("[CSL]--Temp")) : information[2];
if (format == Interview)
{
directoryName += SettingsHandler.GetReleaseFormat(Interview);
information[2] = format;
}
a++;
} break;
case ('n'):
{
string format = (information[2] == null) ? ExtractAlbumFormat(birth, file, file.Contains("[CSL]--Temp")) : information[2];
if (format == Single)
{
directoryName += SettingsHandler.GetReleaseFormat(Single);
information[2] = format;
}
a++;
} break;
case ('x'):
{
string format = (information[2] == null) ? ExtractAlbumFormat(birth, file, file.Contains("[CSL]--Temp")) : information[2];
if (format == Bootleg)
{
directoryName += SettingsHandler.GetReleaseFormat(Bootleg);
information[2] = format;
}
a++;
} break;
case ('s'):
{
string format = (information[2] == null) ? ExtractAlbumFormat(birth, file, file.Contains("[CSL]--Temp")) : information[2];
if (format == Soundtrack)
{
directoryName += SettingsHandler.GetReleaseFormat(Soundtrack);
information[2] = format;
}
a++;
} break;
case ('m'):
{
string format = (information[2] == null) ? ExtractAlbumFormat(birth, file, file.Contains("[CSL]--Temp")) : information[2];
if (format == Mixtape)
{
directoryName += SettingsHandler.GetReleaseFormat(Mixtape);
information[2] = format;
}
a++;
} break;
case ('u'):
{
string format = (information[2] == null) ? ExtractAlbumFormat(birth, file, file.Contains("[CSL]--Temp")) : information[2];
if (format == Unknown)
{
directoryName += SettingsHandler.GetReleaseFormat(Unknown);
information[2] = format;
}
a++;
} break;
case ('f'):
{
string format = (information[2] == null) ? ExtractAlbumFormat(birth, file, file.Contains("[CSL]--Temp")) : information[2];
if (format == Album)
{
directoryName += SettingsHandler.GetReleaseFormat(Album);
information[2] = format;
}
a++;
} break;
case ('i'):
{
directoryName += (information[0] == null) ? ExtractArtist(birth, file)[0] : information[0][0];
a++;
} break;
}
}
else
{
if (information[14] == "true")
goto ReturnTorrent;
directoryName += directoryArray[a];
}
}
information[13] = SettingsHandler.GetDownloadDirectory().Trim() + directoryName.Trim();
if (SettingsHandler.GetUppercaseAllFolderNames())
information[13] = information[13].ToUpper();
else if (SettingsHandler.GetLowercaseAllFolderNames())
information[13] = information[13].ToLower();
ReturnTorrent:
information[10] = file;
information[11] = DirectoryHandler.GetFileName(file, true);
information[12] = birth;
return new Torrent(information);
}
TorrentBuilder::ProcessTorrent ( |