from us_pls._variables.models import Variables

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