From bb35535262d1056582a4a7dc8204da050314fa97 Mon Sep 17 00:00:00 2001 From: Seth Call Date: Tue, 17 Mar 2015 10:55:16 -0500 Subject: [PATCH] * VRFS-2941 - fix meddling of mount_uplaoder with existing URS --- .../jam_tracks/_jam_track_track_fields.html.slim | 11 ++++++----- admin/config/initializers/jam_track_tracks.rb | 1 + ruby/lib/jam_ruby/models/jam_track_track.rb | 5 +++-- .../jam_ruby/resque/jam_tracks_builder_spec.rb | 15 ++++++++------- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/admin/app/views/admin/jam_tracks/_jam_track_track_fields.html.slim b/admin/app/views/admin/jam_tracks/_jam_track_track_fields.html.slim index c08812dcb..0ef6078ac 100644 --- a/admin/app/views/admin/jam_tracks/_jam_track_track_fields.html.slim +++ b/admin/app/views/admin/jam_tracks/_jam_track_track_fields.html.slim @@ -11,18 +11,19 @@ a href=f.object.preview_sign_url(3600) style='padding:0 0 0 20px' | Download Preview + // temporarily disable - if f.object.new_record? - p style='margin-left:10px' - i - | before you can upload, you must select 'Update JamTrack' + //p style='margin-left:10px' + //i + // | before you can upload, you must select 'Update JamTrack' - else - = f.input :url_48, :as => :file, :label => 'Track file (48kHz)' + // = f.input :url_48, :as => :file, :label => 'Track file (48kHz)' - unless f.object.nil? || f.object[:url_48].nil? .current_file_holder style='margin-bottom:10px' a href=f.object.sign_url(3600) style='padding:0 0 0 20px' | #{File.basename(f.object[:url_48])} - = f.input :url_44, :as => :file, :label => 'Track file (44kHz)' + // = f.input :url_44, :as => :file, :label => 'Track file (44kHz)' - unless f.object.nil? || f.object[:url_44].nil? .current_file_holder style='margin-bottom:10px' a href=f.object.sign_url(3600, 44) style='padding:0 0 0 20px' diff --git a/admin/config/initializers/jam_track_tracks.rb b/admin/config/initializers/jam_track_tracks.rb index dde477bad..36f82d79e 100644 --- a/admin/config/initializers/jam_track_tracks.rb +++ b/admin/config/initializers/jam_track_tracks.rb @@ -84,6 +84,7 @@ class JamRuby::JamTrackTrack s3_manager.upload(self.preview_filename, output) + self.skip_uploader = true # and finally update the JamTrackTrack with the new info self["preview_url"] = self.preview_filename self["preview_md5"] = ::Digest::MD5.file(output).hexdigest diff --git a/ruby/lib/jam_ruby/models/jam_track_track.rb b/ruby/lib/jam_ruby/models/jam_track_track.rb index 71ba7fea8..419b49c63 100644 --- a/ruby/lib/jam_ruby/models/jam_track_track.rb +++ b/ruby/lib/jam_ruby/models/jam_track_track.rb @@ -10,8 +10,9 @@ module JamRuby @@log = Logging.logger[JamTrackTrack] - mount_uploader :url_48, JamTrackTrackUploader - mount_uploader :url_44, JamTrackTrackUploader + # Because JamTrackImporter imports audio files now, and because also the mere presence of this causes serious issues when updating the model (because reset of url_44 to something bogus), I've removed these + #mount_uploader :url_48, JamTrackTrackUploader + #mount_uploader :url_44, JamTrackTrackUploader attr_accessible :jam_track_id, :track_type, :instrument, :instrument_id, :position, :part, as: :admin attr_accessible :url_44, :url_48, :md5_44, :md5_48, :length_44, :length_48, :preview_start_time_raw, as: :admin diff --git a/ruby/spec/jam_ruby/resque/jam_tracks_builder_spec.rb b/ruby/spec/jam_ruby/resque/jam_tracks_builder_spec.rb index 8cceafcc7..b737f574e 100644 --- a/ruby/spec/jam_ruby/resque/jam_tracks_builder_spec.rb +++ b/ruby/spec/jam_ruby/resque/jam_tracks_builder_spec.rb @@ -27,8 +27,8 @@ describe JamTracksBuilder do jam_track_track = FactoryGirl.create(:jam_track_track) jam_track = jam_track_track.jam_track - #uploader = JamTrackTrackUploader.new(jam_track_track, :url_48) - jam_track_track.url_48.store!(File.open(ogg_path, 'rb')) + @s3.upload(jam_track_track.manually_uploaded_filename(:url_48), ogg_path) + jam_track_track[:url_48] = jam_track_track.manually_uploaded_filename(:url_48) jam_track_track.save! jam_track_track[:url_48].should == jam_track_track.manually_uploaded_filename(:url_48) @@ -36,7 +36,7 @@ describe JamTracksBuilder do # verify it's on S3 @s3.exists?(jam_track_track[:url_48]).should be_true @s3.length(jam_track_track[:url_48]).should == File.size?(ogg_path) - @s3.exists?(jam_track_track[:url_44]).should be_false + jam_track_track[:url_44].should be_nil # Check right jam_track_right = JamTrackRight.create(:user=>user, :jam_track=>jam_track) @@ -45,7 +45,7 @@ describe JamTracksBuilder do JamTracksBuilder.perform(jam_track_right.id, 48) jam_track_right.reload jam_track_right[:url_48].should == jam_track_right.store_dir + '/' + jam_track_right.filename - @s3.exists?(jam_track_track[:url_44]).should be_false + jam_track_track[:url_44].should be_nil end describe "with bitrate 44" do @@ -59,7 +59,8 @@ describe JamTracksBuilder do # uploader = JamTrackTrackUploader.new(jam_track_track, :url_44) # uploader.store!(File.open(ogg_path, 'rb')) - jam_track_track.url_44.store!(File.open(ogg_path, 'rb')) + @s3.upload(jam_track_track.manually_uploaded_filename(:url_44), ogg_path) + jam_track_track[:url_44] = jam_track_track.manually_uploaded_filename(:url_44) jam_track_track.save! jam_track_track[:url_44].should == jam_track_track.manually_uploaded_filename(:url_44) @@ -67,7 +68,7 @@ describe JamTracksBuilder do # verify it's on S3 @s3.exists?(jam_track_track[:url_44]).should be_true @s3.length(jam_track_track[:url_44]).should == File.size?(ogg_path) - @s3.exists?(jam_track_track[:url_48]).should be_false + jam_track_track[:url_48].should be_nil # Check right jam_track_right = JamTrackRight.create(:user=>user, :jam_track=>jam_track) @@ -77,7 +78,7 @@ describe JamTracksBuilder do jam_track_right.reload jam_track_right[:url_44].should == jam_track_right.store_dir + '/' + jam_track_right.filename jam_track_right.url_44.should_not be_nil - @s3.exists?(jam_track_track[:url_48]).should be_false + jam_track_track[:url_48].should be_nil end end end \ No newline at end of file