from us_pls._variables.models import Variables

STATE_SUMMARY_DATA_VARIABLES = Variables(
    Identification=Variables(STABR="Name"),
    Population=Variables(
        Of=Variables(
            POPU_LSA="LegalServiceArea",
            F_POPLSA="F_POPLSA",
            POPU_UND="LegalServiceAreas_Unduplicated",
            POPU_ST="State_EstimateTotal",
        )
    ),
    ServiceOutlets=Variables(
        CountOf=Variables(
            CENTLIB="CentralLibraries",
            F_CENLIB="F_CENLIB",
            BRANLIB="BranchLibraries",
            F_BRLIB="F_BRLIB",
            BKMOB="Bookmobiles",
            F_BKMOB="F_BKMOB",
        )
    ),
    FullTimePaidStaff=Variables(
        MASTER="Librarians_WithMasters",
        F_MASTER="F_MASTER",
        LIBRARIA="Librarians",
        F_LIBRAR="F_LIBRAR",
        OTHPAID="Other",
        F_OTHSTF="F_OTHSTF",
        TOTSTAFF="Total",
        F_TOTSTF="F_TOTSTF",
    ),
    OperatingRevenue=Variables(
        From=Variables(
            LOCGVT="LocalGovernment",
            F_LOCGVT="F_LOCGVT",
            STGVT="State",
            F_STGVT="F_STGVT",
            FEDGVT="FederalGovernment",
            F_FEDGVT="F_FEDGVT",
            OTHINCM="Other",
            F_OTHINC="F_OTHINC",
            TOTINCM="Total",
            F_TOTINC="F_TOTINC",
        )
    ),
    OperatingExpenditures=Variables(
        Staff=Variables(
            SALARIES="Salaries",
            F_SALX="F_SALX",
            BENEFIT="EmployeeBenefits",
            F_BENX="F_BENX",
            STAFFEXP="Total",
            F_TOSTFX="F_TOSTFX",
        ),
        Collections=Variables(
            Of=Variables(
                PRMATEXP="PrintMaterials",
                F_PRMATX="F_PRMATX",
                ELMATEXP="ElectonicMaterials",
                F_ELMATX="F_ELMATX",
                OTHMATEX="OtherMaterials",
                F_OTMATX="F_OTMATX",
                TOTEXPCO="Total",
                F_TOCOLX="F_TOCOLX",
            )
        ),
        OTHOPEXP="Other",
        F_OTHOPX="F_OTHOPX",
        TOTOPEXP="Total",
        F_TOTOPX="F_TOTOPX",
    ),
    CapitalRevenue=Variables(
        From=Variables(
            LCAP_REV="LocalGovernment",
            F_LCAPRV="F_LCAPRV",
            SCAP_REV="State",
            F_SCAPRV="F_SCAPRV",
            FCAP_REV="FederalGovernment",
            F_FCAPRV="F_FCAPRV",
            OCAP_REV="Other",
            F_OCAPRV="F_OCAPRV",
            CAP_REV="Total",
            F_TCAPRV="F_TCAPRV",
        )
    ),
    CapitalExpenditures=Variables(CAPITAL="Total", F_TCAPX="F_TCAPX"),
    LibraryCollections=Variables(
        CountOf=Variables(
            BKVOL="PrintMaterials",
            F_BKVOL="F_BKVOL",
            EBOOK="EBooks",
            F_EBOOK="F_EBOOK",
            AUDIO_PH="Audio_Physical",
            F_AUD_PH="F_AUD_PH",
            AUDIO_DL="Audio_Downloadable",
            F_AUD_DL="F_AUD_DL",
            VIDEO_PH="Video_Physical",
            F_VID_PH="F_VID_PH",
            VIDEO_DL="Video_Downloadable",
            F_VID_DL="F_VID_DL",
        )
    ),
    ElectronicCollections=Variables(
        From=Variables(
            EC_LO_OT="LocalOrOther",
            F_EC_L_O="F_EC_L_O",
            EC_ST="State",
            F_EC_ST="F_EC_ST",
        ),
        ELECCOLL="Total",
        F_ELECOL="F_ELECOL",
    ),
    OtherCollections=Variables(
        SUBSCRIP="CurrentPrintSerialSubscriptions", F_PRSUB="F_PRSUB"
    ),
    Hours=Variables(HRS_OPEN="Total", F_HRS_OP="F_HRS_OP"),
    LibraryServices=Variables(
        VISITS="Visits",
        F_VISITS="F_VISITS",
        REFERENC="ReferenceTransactions",
        F_REFER="F_REFER",
        REGBOR="RegisteredUsers",
        F_REGBOR="F_REGBOR",
    ),
    Circulation=Variables(
        For=Variables(
            KIDCIRCL="ChildrenMaterials",
            F_KIDCIR="F_KIDCIR",
            ELMATCIR="ElectronicMaterials",
            F_EMTCIR="F_EMTCIR",
            PHYSCIR="PhysicalItems",
            F_PHYSCR="F_PHYSCR",
            ELINFO="ElectronicInfo_SuccessfulRetrieval",
            F_ELINFO="F_ELINFO",
            ELCONT="ElectronicContentUse",
            F_ELCONT="F_ELCONT",
        ),
        TOTCIR="Total_Transactions",
        F_TOTCIR="F_TOTCIR",
        TOTCOLL="Total_PhysicalAndElectronicCirculation_And_ElectronicSuccessfulRetrieval",
        F_TOTCOL="F_TOTCOL",
    ),
    InterLibraryLoans=Variables(
        Amount=Variables(
            LOANTO="Given",
            F_LOANTO="F_LOANTO",
            LOANFM="Received",
            F_LOANFM="F_LOANFM",
        )
    ),
    LibraryPrograms=Variables(
        For=Variables(
            KIDPRO="Children",
            F_KIDPRO="F_KIDPRO",
            YAPRO="YoungAdults",
            F_YAPRO="F_YAPRO",
        ),
        TOTPRO="Total",
        F_TOTPRO="F_TOTPRO",
        Attendance=Variables(
            TOTATTEN="Total",
            F_TOTATT="F_TOTATT",
            For=Variables(
                KIDATTEN="Children",
                F_KIDATT="F_KIDATT",
                YAATTEN="YoungAdults",
                F_YAATT="F_YAATT",
            ),
        ),
    ),
    OtherElectronicInfo=Variables(
        CountOf=Variables(
            GPTERMS="Computers",
            F_GPTERM="F_GPTERM",
            PITUSR="ComputerUses",
            F_PITUSR="F_PITUSR",
            WIFISESS="WiFiSessions",
            F_WIFISS="F_WIFISS",
            WEBVISIT="VisitsToLibraryWebsite",
        )
    ),
    Other=Variables(
        ReportingPeriod=Variables(
            STARTDAT="StartDate",
            ENDDATE="EndDate",
        ),
        INCITSST="International CommitteeForInformationTechnologyStandardsStateCode_2Digit",
        YR_SUB="SubmissionYearOfPublicLibraryData",
        OBEREG="BureauOfEconomicsAnalysisCode",
    ),
)
