"""Constants related to reports.""" from enum import Enum class ReportStatus(str, Enum): """Report status.""" REQUESTED = "REQUESTED" GENERATED = "GENERATED" ERROR = "ERROR" class FileFormat(str, Enum): """Report file format.""" XLS = "xls" TXT = "txt" class ReportSource(str, Enum): """Report source.""" LEGACY = "LEGACY" ABACUS = "ABACUS" class NumberFormat(str, Enum): """Report number format.""" US = "us" EU = "eu" class TriggerType(str, Enum): """Report run trigger type.""" AUTO = "AUTO" MANUAL = "MANUAL" # noqa - https://docs.google.com/spreadsheets/d/1c6cK-KHp8AtO3RQ5dS98L32d0DB0ZsDz8tI7SW_io6M/edit#gid=590840433 TRANSACTION_TYPES_PERFORMANCE_RIGHTS = [ "RC", # Performance Royalty Collections "EH", # Performance Royalty Collections - Ephemeral Portion "PX", # Audiovisual "CC", # Cable Radio "CX", # Copyright Term Extension "ER", # Exclusive Rights "RW", # Internet Radio and Webcasting "MA", # Making Available / Streaming "MD", # Music Dubbing "NC", # Non-Controlled Rights Owner Income "PA", # Private Copying - Audio "PV", # Private Copying - Audiovisual "PP", # Public Performance "RR", # Radio Broadcast "RL", # Rental & Lending "SL", # Satellite Radio "TV", # TV Broadcast "UP", # Unidentified Private Copying "UN", # Unidentified Public Performance and Broadcast ] MAX_REPORT_PERIOD_DIFFERENCE = 5 MAX_PERIOD_DIFFERENCE_FALLBACK = 36