You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Prowlarr/src/NzbDrone.Core/Indexers/IndexerFlag.cs

73 lines
2.0 KiB

using System;
namespace NzbDrone.Core.Indexers
{
public class IndexerFlag : IEquatable<IndexerFlag>
{
public string Name { get; set; }
public string Description { get; set; }
public IndexerFlag()
{
}
public IndexerFlag(string name, string description)
{
Name = name;
Description = description;
}
public override int GetHashCode()
{
return Name.GetHashCode();
}
public bool Equals(IndexerFlag other)
{
if (ReferenceEquals(null, other))
{
return false;
}
if (ReferenceEquals(this, other))
{
return true;
}
return Name.Equals(other.Name);
}
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj))
{
return false;
}
if (ReferenceEquals(this, obj))
{
return true;
}
return Equals(obj as IndexerFlag);
}
public static bool operator ==(IndexerFlag left, IndexerFlag right)
{
return Equals(left, right);
}
public static bool operator !=(IndexerFlag left, IndexerFlag right)
{
return !Equals(left, right);
}
public static IndexerFlag Internal => new ("internal", "Uploader is an internal release group");
public static IndexerFlag FreeLeech => new ("freeleech", "Download doesn't count toward ratio");
public static IndexerFlag NeutralLeech => new ("neutralleech", "Download and upload doesn't count toward ratio");
public static IndexerFlag HalfLeech => new ("halfleech", "Release counts 50% to ratio");
public static IndexerFlag Scene => new ("scene", "Uploader follows scene rules");
public static IndexerFlag DoubleUpload => new ("doubleupload", "Seeding counts double for release");
}
}