Skip to content

Commit

Permalink
Merge pull request #5014 from consul/machine_learning_crash
Browse files Browse the repository at this point in the history
Fix crash running machine learning with no data dir
  • Loading branch information
javierm committed Oct 19, 2022
2 parents 0b8cd15 + 669f190 commit 0b3bccc
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 11 deletions.
7 changes: 7 additions & 0 deletions app/models/machine_learning.rb
Original file line number Diff line number Diff line change
Expand Up @@ -195,17 +195,24 @@ def description_from(script_filename)

private

def create_data_folder
FileUtils.mkdir_p DATA_FOLDER
end

def export_proposals_to_json
create_data_folder
filename = DATA_FOLDER.join(MachineLearning.proposals_filename)
Proposal::Exporter.new.to_json_file(filename)
end

def export_budget_investments_to_json
create_data_folder
filename = DATA_FOLDER.join(MachineLearning.investments_filename)
Budget::Investment::Exporter.new(Array.new).to_json_file(filename)
end

def export_comments_to_json
create_data_folder
filename = DATA_FOLDER.join(MachineLearning.comments_filename)
Comment::Exporter.new.to_json_file(filename)
end
Expand Down
9 changes: 0 additions & 9 deletions spec/models/machine_learning_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -303,9 +303,6 @@ def full_sanitizer(string)

describe "#export_proposals_to_json" do
it "creates a JSON file with all proposals" do
require "fileutils"
FileUtils.mkdir_p Rails.root.join("public", "machine_learning", "data")

first_proposal = create(:proposal)
last_proposal = create(:proposal)

Expand All @@ -332,9 +329,6 @@ def full_sanitizer(string)

describe "#export_budget_investments_to_json" do
it "creates a JSON file with all budget investments" do
require "fileutils"
FileUtils.mkdir_p Rails.root.join("public", "machine_learning", "data")

first_budget_investment = create(:budget_investment)
last_budget_investment = create(:budget_investment)

Expand All @@ -359,9 +353,6 @@ def full_sanitizer(string)

describe "#export_comments_to_json" do
it "creates a JSON file with all comments" do
require "fileutils"
FileUtils.mkdir_p Rails.root.join("public", "machine_learning", "data")

first_comment = create(:comment)
last_comment = create(:comment)

Expand Down
3 changes: 1 addition & 2 deletions spec/system/admin/machine_learning_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -207,8 +207,7 @@
end

scenario "Show output files info on settins page" do
require "fileutils"
FileUtils.mkdir_p Rails.root.join("public", "machine_learning", "data")
FileUtils.mkdir_p MachineLearning::DATA_FOLDER

allow_any_instance_of(MachineLearning).to receive(:run) do
MachineLearningJob.first.update!(finished_at: 2.minutes.from_now)
Expand Down

0 comments on commit 0b3bccc

Please sign in to comment.