first commit
This commit is contained in:
428
makefile
Normal file
428
makefile
Normal file
@@ -0,0 +1,428 @@
|
||||
#--------------------------------------------------------
|
||||
# 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)
|
||||
Reference in New Issue
Block a user