429 lines
21 KiB
Makefile
429 lines
21 KiB
Makefile
#--------------------------------------------------------
|
|
# FISCAL YEAR CONFIGURATION
|
|
#--------------------------------------------------------
|
|
|
|
# 1. Calculate the actual Current and Previous FY strings based on the system date
|
|
# (Fiscal Year starts October 1st)
|
|
CALC_YYYY := $(shell date +%Y)
|
|
CALC_MM := $(shell date +%m)
|
|
|
|
ifeq ($(shell [ $(CALC_MM) -ge 10 ] && echo 1), 1)
|
|
# If October or later, CURRENT is next year, PREVIOUS is this year
|
|
ACTUAL_CURRENT_FY := FY$(shell echo $$(($(CALC_YYYY) + 1)) | cut -c 3-4)
|
|
ACTUAL_PREVIOUS_FY := FY$(shell echo $(CALC_YYYY) | cut -c 3-4)
|
|
else
|
|
# If Jan-Sept, CURRENT is this year, PREVIOUS is last year
|
|
ACTUAL_CURRENT_FY := FY$(shell echo $(CALC_YYYY) | cut -c 3-4)
|
|
ACTUAL_PREVIOUS_FY := FY$(shell echo $$(($(CALC_YYYY) - 1)) | cut -c 3-4)
|
|
endif
|
|
|
|
# 2. Set the requested year (Default to CURRENT, can be overridden: make FISCAL_YEAR=FY24)
|
|
FISCAL_YEAR ?= CURRENT
|
|
|
|
# 3. Resolve the "Labeling Year" (For folders and titles)
|
|
RESOLVED_FY := $(FISCAL_YEAR)
|
|
ifeq ($(FISCAL_YEAR), CURRENT)
|
|
RESOLVED_FY := $(ACTUAL_CURRENT_FY)
|
|
endif
|
|
ifeq ($(FISCAL_YEAR), PREVIOUS)
|
|
RESOLVED_FY := $(ACTUAL_PREVIOUS_FY)
|
|
endif
|
|
|
|
# 4. Data Source Selection (Aliases stay aliases for live-updating links)
|
|
URL_KEY := $(FISCAL_YEAR)
|
|
|
|
#--------------------------------------------------------
|
|
# EXPORT MODULE URLS (Modular Definition)
|
|
#--------------------------------------------------------
|
|
|
|
# LIVE UPDATING LINKS (Neoserra modules set to "Fiscal Year: Current" or "Previous")
|
|
# These will always point to the rolling data regardless of the actual year.
|
|
CURRENT_TRAININGS_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=189&appkey=e4c003ea-2216-48ae-ba76-2ebdef30848b
|
|
CURRENT_NBS_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=187&appkey=1ebb99d3-551c-44f1-803f-f8cd09c8286f
|
|
CURRENT_CAPITAL_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=188&appkey=1a37972c-8757-4447-b301-59e7ca65f7ea
|
|
CURRENT_CLIENT_LIST_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=186&appkey=f0e90ceb-8063-44c2-8cc9-4949ca89763a
|
|
|
|
PREVIOUS_TRAININGS_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=181&appkey=bc03174a-f36c-45a6-a933-0f6e28062e9c
|
|
PREVIOUS_NBS_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=182&appkey=9b47f8c2-1ad5-4499-812c-742eddf149b9
|
|
PREVIOUS_CAPITAL_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=183&appkey=08515f8b-8d52-4eb5-a85c-5c3b49261b4b
|
|
PREVIOUS_CLIENT_LIST_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=184&appkey=72de7830-d65f-4ce3-9b0e-ab872d1bd41e
|
|
|
|
# ARCHIVED YEAR LINKS (Static keys for specific years)
|
|
# FY22
|
|
FY22_TRAININGS_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=195&appkey=44d5cb65-dc5a-4f9a-b5ed-6c8fe4209a59
|
|
FY22_NBS_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=198&appkey=857a32f8-efbe-4953-b4b6-0ed6809f286d
|
|
FY22_CAPITAL_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=201&appkey=71bb27aa-4377-4322-8660-ae9b34b4d376
|
|
FY22_CLIENT_LIST_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=192&appkey=75045c21-fb95-46e5-8ace-a3e3d67fa15e
|
|
|
|
# FY23
|
|
FY23_TRAININGS_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=196&appkey=f372244a-7a1b-4627-b951-2241140d0e00
|
|
FY23_NBS_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=199&appkey=040dab27-3886-4f8a-8d37-b75cd31c5925
|
|
FY23_CAPITAL_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=202&appkey=16b9db95-12c8-48bc-ab8c-3dbf09803eb6
|
|
FY23_CLIENT_LIST_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=193&appkey=bf10c884-7bdc-4d4e-ab6c-9b1752581bf5
|
|
|
|
# FY24
|
|
FY24_TRAININGS_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=197&appkey=46e8bba5-4d94-460e-9a1b-e8435cf9f1d5
|
|
FY24_NBS_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=200&appkey=958b9064-2e18-4643-82b3-a821922f7037
|
|
FY24_CAPITAL_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=203&appkey=fbf5319c-c564-441d-8482-f1bd380671fb
|
|
FY24_CLIENT_LIST_URL := https://pasbdc.neoserra.com/api/export?userid=6694&appid=194&appkey=5e7c1d91-2292-4758-87b9-d4dd986e30e9
|
|
|
|
# 5. Computed Variable Selection: Fetch the URLs based on the URL_KEY
|
|
TRAININGS_EXPORT_URL := $($(URL_KEY)_TRAININGS_URL)
|
|
NBS_EXPORT_URL := $($(URL_KEY)_NBS_URL)
|
|
CAPITAL_EXPORT_URL := $($(URL_KEY)_CAPITAL_URL)
|
|
CLIENT_LIST_EXPORT_URL := $($(URL_KEY)_CLIENT_LIST_URL)
|
|
|
|
USE_EXPORT_MODULE ?= true
|
|
|
|
#--------------------------------------------------------
|
|
# CORE SETTINGS
|
|
#--------------------------------------------------------
|
|
|
|
# The home folder for this year's report
|
|
REPORT_ROOT_FOLDER := reports/$(RESOLVED_FY)
|
|
|
|
# This list defines all of the OUTPUT center names that will be seen in the final report. Some of the scripts need
|
|
# a list of center names to expect so that it can find the files on the filesystem
|
|
|
|
# Here an underscore represents a space. We have to do this as make's list syntax sees a space to separate list items
|
|
CENTERS_LIST := Z-Lead_Office \
|
|
Wilkes \
|
|
Shippensburg \
|
|
Widener \
|
|
Penn_State \
|
|
Bucknell \
|
|
St._Francis \
|
|
St._Vincent \
|
|
Gannon \
|
|
Clarion \
|
|
Temple \
|
|
Scranton \
|
|
Lehigh \
|
|
Duquesne \
|
|
Pittsburgh \
|
|
Kutztown
|
|
|
|
# Center Flags to be passed into scripts
|
|
# (loop over each center, replace _ with " ", and format as -c <center>
|
|
CENTER_FLAGS:=$(foreach x,$(CENTERS_LIST),-c "$(subst _, ,$(x))")
|
|
|
|
# The paths to each input CSV file required to produce the report
|
|
# Set to . if you want it to look in the same directory as the make file
|
|
CSV_FOLDER:=csv_files
|
|
|
|
# Dynamic CSV paths based on RESOLVED_FY
|
|
TRAININGS_CSV:=$(CSV_FOLDER)/trainings_raw_$(RESOLVED_FY).csv
|
|
CLIENT_LIST_CSV:=$(CSV_FOLDER)/client_list_raw_$(RESOLVED_FY).csv
|
|
NBS_MILESTONE_CSV:=$(CSV_FOLDER)/nbs_milestones_raw_$(RESOLVED_FY).csv
|
|
FUNDING_MILESTONE_CSV:=$(CSV_FOLDER)/funding_milestones_raw_$(RESOLVED_FY).csv
|
|
SIGNUP_TO_START_CSV:=$(CSV_FOLDER)/days_client_signup_to_start_$(RESOLVED_FY).csv
|
|
SIGNUP_TO_COUNSELLING_CSV:=$(CSV_FOLDER)/days_client_signup_to_counselling_$(RESOLVED_FY).csv
|
|
START_TO_COUNSELLING_CSV:=$(CSV_FOLDER)/days_client_start_to_counselling_$(RESOLVED_FY).csv
|
|
INITIAL_TO_FOLLOWUP_CSV:=$(CSV_FOLDER)/days_initial_to_followup_$(RESOLVED_FY).csv
|
|
TRAINING_TO_COUNSELLING_CSV:=$(CSV_FOLDER)/days_training_to_counselling_$(RESOLVED_FY).csv
|
|
SATISFACTION_SURVEY_CSV:=$(CSV_FOLDER)/satisfaction_survey_raw_$(RESOLVED_FY).csv
|
|
|
|
ifeq ($(USE_EXPORT_MODULE), true)
|
|
TRAINING_SCRIPT_ARGS := --exportmoduleurl "$(TRAININGS_EXPORT_URL)"
|
|
NBS_SCRIPT_ARGS := --exportmoduleurl "$(NBS_EXPORT_URL)"
|
|
CAPITAL_SCRIPT_ARGS := --exportmoduleurl "$(CAPITAL_EXPORT_URL)"
|
|
CLIENT_SCRIPT_ARGS := --exportmoduleurl "$(CLIENT_LIST_EXPORT_URL)"
|
|
|
|
# Arguments for the make_milestone_analysis.py script which uses different flag names
|
|
SECTION_3_MILESTONES_ARGS := --fundingexportmodule "$(CAPITAL_EXPORT_URL)" --nbsexportmodule "$(NBS_EXPORT_URL)"
|
|
|
|
# When using API, don't require local CSV files to exist
|
|
TRAININGS_CSV_DEP :=
|
|
CLIENT_LIST_CSV_DEP :=
|
|
NBS_MILESTONE_CSV_DEP :=
|
|
FUNDING_MILESTONE_CSV_DEP :=
|
|
SIGNUP_TO_START_CSV_DEP :=
|
|
SIGNUP_TO_COUNSELLING_CSV_DEP :=
|
|
START_TO_COUNSELLING_CSV_DEP :=
|
|
INITIAL_TO_FOLLOWUP_CSV_DEP :=
|
|
TRAINING_TO_COUNSELLING_CSV_DEP :=
|
|
SATISFACTION_SURVEY_CSV_DEP :=
|
|
else
|
|
TRAINING_SCRIPT_ARGS := --inputcsv $(TRAININGS_CSV)
|
|
NBS_SCRIPT_ARGS := --inputcsv $(NBS_MILESTONE_CSV)
|
|
CAPITAL_SCRIPT_ARGS := --inputcsv $(FUNDING_MILESTONE_CSV)
|
|
CLIENT_SCRIPT_ARGS := --inputcsv $(CLIENT_LIST_CSV)
|
|
|
|
# Arguments for the make_milestone_analysis.py script which uses different flag names
|
|
SECTION_3_MILESTONES_ARGS := --fundingcsv $(FUNDING_MILESTONE_CSV) --nbscsv $(NBS_MILESTONE_CSV)
|
|
|
|
# When using local files, they MUST exist
|
|
TRAININGS_CSV_DEP := $(TRAININGS_CSV)
|
|
CLIENT_LIST_CSV_DEP := $(CLIENT_LIST_CSV)
|
|
NBS_MILESTONE_CSV_DEP := $(NBS_MILESTONE_CSV)
|
|
FUNDING_MILESTONE_CSV_DEP := $(FUNDING_MILESTONE_CSV)
|
|
SIGNUP_TO_START_CSV_DEP := $(SIGNUP_TO_START_CSV)
|
|
SIGNUP_TO_COUNSELLING_CSV_DEP := $(SIGNUP_TO_COUNSELLING_CSV)
|
|
START_TO_COUNSELLING_CSV_DEP := $(START_TO_COUNSELLING_CSV)
|
|
INITIAL_TO_FOLLOWUP_CSV_DEP := $(INITIAL_TO_FOLLOWUP_CSV)
|
|
TRAINING_TO_COUNSELLING_CSV_DEP := $(TRAINING_TO_COUNSELLING_CSV)
|
|
SATISFACTION_SURVEY_CSV_DEP := $(SATISFACTION_SURVEY_CSV)
|
|
endif
|
|
|
|
#--------------------------------------------------------
|
|
# SECTION 1 VARIABLES
|
|
#--------------------------------------------------------
|
|
|
|
# What to call each subfolder containing the images for a single report
|
|
# They will each be created underneath the root folder
|
|
SECTION_1_COUNSELLING_INTERVAL_FOLDER:=section_1_counselling_interval_graphs
|
|
SECTION_1_MILESTONE_FOLDER:=section_1_milestone_analysis_graphs
|
|
SECTION_1_NAICS_FOLDER:=section_1_naics_coverage_graphs
|
|
SECTION_1_SATISFACTION_FOLDER:=section_1_satisfaction_ananlysis_graphs
|
|
SECTION_1_TRAININGS_FOLDER:=section_1_trainings_analysis_graphs
|
|
|
|
# What to call each word file within the report
|
|
# These are paths so they both say what folder to place the file in and what to call
|
|
# the file
|
|
SECTION_1_TRAININGS_WORD_FILE_NAME:=$(REPORT_ROOT_FOLDER)/section_1_trainings_analysis_$(RESOLVED_FY).docx
|
|
SECTION_1_COUNSELLING_INTERVAL_WORD_FILE_NAME:=$(REPORT_ROOT_FOLDER)/section_1_counselling_interval_analysis_$(RESOLVED_FY).docx
|
|
SECTION_1_MILESTONE_WORD_FILE_NAME:=$(REPORT_ROOT_FOLDER)/section_1_milestone_analysis_$(RESOLVED_FY).docx
|
|
SECTION_1_SATISFACTION_SURVEY_WORD_FILE_NAME:=$(REPORT_ROOT_FOLDER)/section_1_satisfaction_analysis_$(RESOLVED_FY).docx
|
|
SECTION_1_NAICS_WORD_FILE_NAME:=$(REPORT_ROOT_FOLDER)/section_1_naics_coverage_$(RESOLVED_FY).docx
|
|
|
|
#--------------------------------------------------------
|
|
# SECTION 3 VARIABLES
|
|
#--------------------------------------------------------
|
|
|
|
# What to call each subfolder containing the images for a single report
|
|
# They will each be created underneath the root folder
|
|
SECTION_3_TRAININGS_TOPICS_FOLDER:=section_3_trainings_topic_analysis_graphs
|
|
SECTION_3_TRAININGS_FOLDER:=section_3_trainings_analysis_graphs
|
|
|
|
SECTION_3_MILESTONES_GRAPH_FOLDER:=section_3_milestone_graphs
|
|
# What to call each word file within the report
|
|
# These are paths so they both say what folder to place the file in and what to call
|
|
# the file
|
|
SECTION_3_TRAININGS_TOPICS_WORD_FILE_NAME:=$(REPORT_ROOT_FOLDER)/section_3_trainings_topics_analysis_$(RESOLVED_FY).docx
|
|
SECTION_3_TRAININGS_WORD_FOLDER:=$(REPORT_ROOT_FOLDER)/section_3_trainings_analysis_word
|
|
SECTION_3_MILESTONES_WORD_FOLDER:=$(REPORT_ROOT_FOLDER)/section_3_milestone_word_docs
|
|
|
|
# Set the appropriate location to the python executable based on OS
|
|
ifeq ($(OS),Windows_NT)
|
|
VENV_PYTHON:=.venv/Scripts/python.exe
|
|
RM_CMD:=rmdir /s /q
|
|
else
|
|
VENV_PYTHON:=.venv/bin/python3
|
|
RM_CMD:=rm -rf
|
|
endif
|
|
|
|
# Build the whole report
|
|
all: $(SECTION_1_TRAININGS_WORD_FILE_NAME) \
|
|
$(SECTION_1_COUNSELLING_INTERVAL_WORD_FILE_NAME) \
|
|
$(SECTION_1_MILESTONE_WORD_FILE_NAME) \
|
|
$(SECTION_1_SATISFACTION_SURVEY_WORD_FILE_NAME) \
|
|
$(SECTION_1_NAICS_WORD_FILE_NAME) \
|
|
$(SECTION_3_TRAININGS_TOPICS_WORD_FILE_NAME) \
|
|
$(SECTION_3_TRAININGS_WORD_FOLDER) \
|
|
$(SECTION_3_MILESTONES_WORD_FOLDER)
|
|
|
|
# Modular Year Targets
|
|
fy22:
|
|
$(MAKE) FISCAL_YEAR=FY22
|
|
|
|
fy23:
|
|
$(MAKE) FISCAL_YEAR=FY23
|
|
|
|
fy24:
|
|
$(MAKE) FISCAL_YEAR=FY24
|
|
|
|
current:
|
|
$(MAKE) FISCAL_YEAR=CURRENT
|
|
|
|
previous:
|
|
$(MAKE) FISCAL_YEAR=PREVIOUS
|
|
|
|
# Utility targets
|
|
clean:
|
|
$(RM_CMD) $(REPORT_ROOT_FOLDER)
|
|
|
|
# Count how many lines of code are in the project
|
|
lines:
|
|
cat \
|
|
section_1_datasets_module/section_1_datasets_module/*.py \
|
|
section_1_graph_export_module/*.py \
|
|
section_1_graph_library_module/section_1_graph_library_module/*.py \
|
|
section_1_word_export_scripts/*.py \
|
|
section_1_word_library_module/section_1_word_library_module/*.py \
|
|
section_3_graph_export_module/*.py \
|
|
section_3_graph_library_module/section_3_graph_library_module/*.py \
|
|
section_3_word_export_scripts/*.py \
|
|
section_3_word_library_module/section_3_word_library_module/*.py \
|
|
milestone_attribution_dataset_module/milestone_attribution_dataset_module/*.py \
|
|
milestone_attribution_graph_export_module/milestone_attribution_graph_export_module/*.py \
|
|
milestone_attribution_graph_library_module/milestone_attribution_graph_library_module/*.py \
|
|
milestone_attribution_word_export_module/*.py \
|
|
shared_tools_module/shared_tools_module/*.py \
|
|
libs/pasbdc_data_cleaning/pasbdc_data_cleaning/*.py \
|
|
libs/word_library/pasbdc_word_library/*.py \
|
|
makefile \
|
|
| wc -l \
|
|
|
|
.PHONY: all lines clean fy22 fy23 fy24 current previous
|
|
|
|
$(REPORT_ROOT_FOLDER):
|
|
-mkdir -p $(REPORT_ROOT_FOLDER)
|
|
|
|
requirements.txt:
|
|
echo "Requirements target"
|
|
|
|
|
|
#--------------------------------------------------------
|
|
# SECTION 1 NETWORK WIDE REPORT
|
|
#--------------------------------------------------------
|
|
|
|
#--------------------------------------------------------
|
|
# Counselling Interval Graph Generation and word document
|
|
#--------------------------------------------------------
|
|
$(REPORT_ROOT_FOLDER)/$(SECTION_1_COUNSELLING_INTERVAL_FOLDER): requirements.txt \
|
|
$(SIGNUP_TO_START_CSV_DEP) \
|
|
$(SIGNUP_TO_COUNSELLING_CSV_DEP) \
|
|
$(START_TO_COUNSELLING_CSV_DEP) \
|
|
$(INITIAL_TO_FOLLOWUP_CSV_DEP) \
|
|
$(TRAINING_TO_COUNSELLING_CSV_DEP) | $(REPORT_ROOT_FOLDER)
|
|
ifeq ($(USE_EXPORT_MODULE), false)
|
|
$(VENV_PYTHON) section_1_graph_export_module/counselling_interval_script.py \
|
|
--signuptostartcsv $(SIGNUP_TO_START_CSV) \
|
|
--signuptocounsellingcsv $(SIGNUP_TO_COUNSELLING_CSV) \
|
|
--starttocounsellingcsv $(START_TO_COUNSELLING_CSV) \
|
|
--initialtofollowupcsv $(INITIAL_TO_FOLLOWUP_CSV) \
|
|
--trainingtocounsellingcsv $(TRAINING_TO_COUNSELLING_CSV) \
|
|
--fiscalyear $(RESOLVED_FY) --outpath $(REPORT_ROOT_FOLDER)/$(SECTION_1_COUNSELLING_INTERVAL_FOLDER)
|
|
else
|
|
@echo "Skipping Counselling Interval graphs for $(RESOLVED_FY) (USE_EXPORT_MODULE is true)"
|
|
endif
|
|
|
|
$(SECTION_1_COUNSELLING_INTERVAL_WORD_FILE_NAME): $(REPORT_ROOT_FOLDER)/$(SECTION_1_COUNSELLING_INTERVAL_FOLDER)
|
|
ifeq ($(USE_EXPORT_MODULE), false)
|
|
$(VENV_PYTHON) section_1_word_export_scripts/counselling_interval_analysis.py \
|
|
--images $(REPORT_ROOT_FOLDER)/$(SECTION_1_COUNSELLING_INTERVAL_FOLDER) \
|
|
--output $(SECTION_1_COUNSELLING_INTERVAL_WORD_FILE_NAME)
|
|
else
|
|
@echo "Skipping Counselling Interval Word doc for $(RESOLVED_FY) (USE_EXPORT_MODULE is true)"
|
|
endif
|
|
#--------------------------------------------------------
|
|
# Trainings Analysis Graph and Word Generation
|
|
#--------------------------------------------------------
|
|
$(REPORT_ROOT_FOLDER)/$(SECTION_1_TRAININGS_FOLDER): requirements.txt $(TRAININGS_CSV_DEP) | $(REPORT_ROOT_FOLDER)
|
|
$(VENV_PYTHON) section_1_graph_export_module/trainings_analysis_script.py \
|
|
--fiscalyear $(RESOLVED_FY) \
|
|
--outpath $(REPORT_ROOT_FOLDER)/$(SECTION_1_TRAININGS_FOLDER) \
|
|
$(TRAINING_SCRIPT_ARGS)
|
|
|
|
|
|
$(SECTION_1_TRAININGS_WORD_FILE_NAME): $(REPORT_ROOT_FOLDER)/$(SECTION_1_TRAININGS_FOLDER)
|
|
$(VENV_PYTHON) section_1_word_export_scripts/generate_trainings_analysis_word.py \
|
|
--images $(REPORT_ROOT_FOLDER)/$(SECTION_1_TRAININGS_FOLDER) \
|
|
--output $(SECTION_1_TRAININGS_WORD_FILE_NAME) \
|
|
|
|
#--------------------------------------------------------
|
|
# Milestone Report Graph Generation
|
|
#--------------------------------------------------------
|
|
$(REPORT_ROOT_FOLDER)/$(SECTION_1_MILESTONE_FOLDER): requirements.txt $(NBS_MILESTONE_CSV_DEP) $(FUNDING_MILESTONE_CSV_DEP) | $(REPORT_ROOT_FOLDER)
|
|
$(VENV_PYTHON) section_1_graph_export_module/nbs_analysis_script.py \
|
|
--fiscalyear $(RESOLVED_FY) \
|
|
--outpath $(REPORT_ROOT_FOLDER)/$(SECTION_1_MILESTONE_FOLDER) \
|
|
$(NBS_SCRIPT_ARGS)
|
|
|
|
$(VENV_PYTHON) section_1_graph_export_module/funding_analysis_script.py \
|
|
--fiscalyear $(RESOLVED_FY) \
|
|
--outpath $(REPORT_ROOT_FOLDER)/$(SECTION_1_MILESTONE_FOLDER) \
|
|
$(CAPITAL_SCRIPT_ARGS)
|
|
|
|
$(SECTION_1_MILESTONE_WORD_FILE_NAME): $(REPORT_ROOT_FOLDER)/$(SECTION_1_MILESTONE_FOLDER)
|
|
$(VENV_PYTHON) section_1_word_export_scripts/make_nbs_funding_analysis.py\
|
|
--images $(REPORT_ROOT_FOLDER)/$(SECTION_1_MILESTONE_FOLDER) \
|
|
--output $(SECTION_1_MILESTONE_WORD_FILE_NAME)
|
|
|
|
#--------------------------------------------------------
|
|
# Satisfaction survey Graph and Word Generation
|
|
#--------------------------------------------------------
|
|
$(REPORT_ROOT_FOLDER)/$(SECTION_1_SATISFACTION_FOLDER): requirements.txt $(SATISFACTION_SURVEY_CSV_DEP) $(CLIENT_LIST_CSV_DEP) | $(REPORT_ROOT_FOLDER)
|
|
ifeq ($(USE_EXPORT_MODULE), false)
|
|
$(VENV_PYTHON) section_1_graph_export_module/satisfaction_survey_analysis_script.py \
|
|
--inputcsv $(SATISFACTION_SURVEY_CSV) \
|
|
--clientlistcsv $(CLIENT_LIST_CSV) \
|
|
--fiscalyear $(RESOLVED_FY) \
|
|
--outpath $(REPORT_ROOT_FOLDER)/$(SECTION_1_SATISFACTION_FOLDER)
|
|
else
|
|
@echo "Skipping Satisfaction Survey graphs for $(RESOLVED_FY) (USE_EXPORT_MODULE is true)"
|
|
endif
|
|
|
|
$(SECTION_1_SATISFACTION_SURVEY_WORD_FILE_NAME): $(REPORT_ROOT_FOLDER)/$(SECTION_1_SATISFACTION_FOLDER)
|
|
ifeq ($(USE_EXPORT_MODULE), false)
|
|
$(VENV_PYTHON) section_1_word_export_scripts/satisfaction_survey_word.py \
|
|
--images $(REPORT_ROOT_FOLDER)/$(SECTION_1_SATISFACTION_FOLDER) \
|
|
--output $(SECTION_1_SATISFACTION_SURVEY_WORD_FILE_NAME)
|
|
else
|
|
@echo "Skipping Satisfaction Survey Word doc for $(RESOLVED_FY) (USE_EXPORT_MODULE is true)"
|
|
endif
|
|
|
|
#--------------------------------------------------------
|
|
# NAICS coverage report graph and word generation
|
|
#--------------------------------------------------------
|
|
$(REPORT_ROOT_FOLDER)/$(SECTION_1_NAICS_FOLDER): requirements.txt $(CLIENT_LIST_CSV_DEP) | $(REPORT_ROOT_FOLDER)
|
|
$(VENV_PYTHON) section_1_graph_export_module/naics_census_analysis_script.py \
|
|
--fiscalyear $(RESOLVED_FY) \
|
|
--outpath $(REPORT_ROOT_FOLDER)/$(SECTION_1_NAICS_FOLDER) \
|
|
$(CLIENT_SCRIPT_ARGS)
|
|
|
|
$(SECTION_1_NAICS_WORD_FILE_NAME): $(REPORT_ROOT_FOLDER)/$(SECTION_1_NAICS_FOLDER)
|
|
$(VENV_PYTHON) section_1_word_export_scripts/generate_naics_word.py \
|
|
--images $(REPORT_ROOT_FOLDER)/$(SECTION_1_NAICS_FOLDER) \
|
|
--output $(SECTION_1_NAICS_WORD_FILE_NAME) \
|
|
|
|
#--------------------------------------------------------
|
|
# SECTION 3 CENTER SPECIFIC REPORT
|
|
#--------------------------------------------------------
|
|
|
|
#--------------------------------------------------------
|
|
# Center Specific Trainings Primary Topic Report Graph and Word Generation
|
|
#--------------------------------------------------------
|
|
$(REPORT_ROOT_FOLDER)/$(SECTION_3_TRAININGS_TOPICS_FOLDER): requirements.txt $(TRAININGS_CSV_DEP) | $(REPORT_ROOT_FOLDER)
|
|
$(VENV_PYTHON) section_3_graph_export_module/trainings_topic_per_center_script.py \
|
|
--fiscalyear $(RESOLVED_FY) \
|
|
--outpath $(REPORT_ROOT_FOLDER)/$(SECTION_3_TRAININGS_TOPICS_FOLDER) \
|
|
$(TRAINING_SCRIPT_ARGS)
|
|
|
|
$(SECTION_3_TRAININGS_TOPICS_WORD_FILE_NAME): $(REPORT_ROOT_FOLDER)/$(SECTION_3_TRAININGS_TOPICS_FOLDER)
|
|
$(VENV_PYTHON) section_3_word_export_scripts/generate_center_trainings_topic_analysis_word.py \
|
|
--images $(REPORT_ROOT_FOLDER)/$(SECTION_3_TRAININGS_TOPICS_FOLDER) \
|
|
--output $(SECTION_3_TRAININGS_TOPICS_WORD_FILE_NAME) \
|
|
--fiscalyear $(RESOLVED_FY) \
|
|
$(CENTER_FLAGS)
|
|
|
|
#--------------------------------------------------------
|
|
# Center Specific Trainings Graph and Word Generation
|
|
#--------------------------------------------------------
|
|
$(REPORT_ROOT_FOLDER)/$(SECTION_3_TRAININGS_FOLDER): requirements.txt $(TRAININGS_CSV_DEP) | $(REPORT_ROOT_FOLDER)
|
|
$(VENV_PYTHON) section_3_graph_export_module/trainings_analysis_script.py \
|
|
--outpath $(REPORT_ROOT_FOLDER)/$(SECTION_3_TRAININGS_FOLDER) \
|
|
--fiscalyear $(RESOLVED_FY) \
|
|
$(TRAINING_SCRIPT_ARGS)
|
|
|
|
$(SECTION_3_TRAININGS_WORD_FOLDER): $(REPORT_ROOT_FOLDER)/$(SECTION_3_TRAININGS_FOLDER)
|
|
$(VENV_PYTHON) section_3_word_export_scripts/generate_trainings_analysis_word.py \
|
|
--images $(REPORT_ROOT_FOLDER)/$(SECTION_3_TRAININGS_FOLDER) \
|
|
--output $(SECTION_3_TRAININGS_WORD_FOLDER) \
|
|
--fiscalyear $(RESOLVED_FY) \
|
|
$(CENTER_FLAGS)
|
|
|
|
#--------------------------------------------------------
|
|
# Center Specific Milestones Report Graph and Word Generation
|
|
#--------------------------------------------------------
|
|
$(REPORT_ROOT_FOLDER)/$(SECTION_3_MILESTONES_GRAPH_FOLDER): requirements.txt $(FUNDING_MILESTONE_CSV_DEP) $(NBS_MILESTONE_CSV_DEP) | $(REPORT_ROOT_FOLDER)
|
|
$(VENV_PYTHON) milestone_attribution_graph_export_module/milestone_attribution_graph_export_module/make_milestone_analysis.py \
|
|
$(SECTION_3_MILESTONES_ARGS) \
|
|
--fiscalyear $(RESOLVED_FY) \
|
|
--outpath $(REPORT_ROOT_FOLDER)/$(SECTION_3_MILESTONES_GRAPH_FOLDER)
|
|
|
|
$(SECTION_3_MILESTONES_WORD_FOLDER): $(REPORT_ROOT_FOLDER)/$(SECTION_3_MILESTONES_GRAPH_FOLDER)
|
|
$(VENV_PYTHON) milestone_attribution_word_export_module/generate_milestones_report.py \
|
|
--images $(REPORT_ROOT_FOLDER)/$(SECTION_3_MILESTONES_GRAPH_FOLDER) \
|
|
--out $(SECTION_3_MILESTONES_WORD_FOLDER)
|