From 415f94956878d02a8d23903defc79be0ee9bd033 Mon Sep 17 00:00:00 2001
From: Felix Eckhofer <felix@eckhofer.com>
Date: Thu, 26 Dec 2024 15:02:32 +0100
Subject: [PATCH] Fix missing rename and path join

Cf. 389312057dbf83024769020d633001f3ce765d56
---
 app/jobs/pretalx/import_job.rb | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/app/jobs/pretalx/import_job.rb b/app/jobs/pretalx/import_job.rb
index 9418064..61ff365 100644
--- a/app/jobs/pretalx/import_job.rb
+++ b/app/jobs/pretalx/import_job.rb
@@ -77,7 +77,7 @@ module Pretalx
 
     def perform(conference_slug, *args)
       conference = Conference.find_by(slug: conference_slug)
-      import_schedule(conference, conference.data['schedule_url'], conference.data['filedrop'])
+      import_schedule(conference, conference.data['schedule_url'], conference.data['filedrop_url'])
       RevisionSet.create!(conference:)
     end
 
@@ -140,10 +140,12 @@ module Pretalx
         session.filedrop_files.find_or_initialize_by(name: file_data['name'], checksum: file_data['meta']['hash']).tap do |file|
           file.size = file_data['meta']['size']
           file.orig_created = parse_datetime_or_nil(file_data['meta']['created'])
-          uri = URI(filedrop_url.chomp("/"))
-          uri.path = path.start_with?("/") ? path : [uri.path, path].join("/")
-          file.download(uri)
-          file.save
+          unless file_data['url'].blank?
+            file.download(filedrop_url + file_data['url'].sub(/\A\//, ''))
+            file.save
+          else
+            Rails.logger.warn("Skipping incomplete file #{file.name} for #{session.ref_id}")
+          end
         end
       end
     end
-- 
GitLab