Software /
code /
prosody-modules
Comparison
mod_migrate_http_upload/mod_migrate_http_upload.lua @ 4470:203f0f06d766
mod_migrate_http_upload: Respect the 'http_upload_path' setting
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 24 Feb 2021 18:12:12 +0100 |
parent | 4468:5d8f9cc5c6fb |
child | 4471:af7a9856950d |
comparison
equal
deleted
inserted
replaced
4469:6844733ad2f5 | 4470:203f0f06d766 |
---|---|
16 | 16 |
17 sm.initialize_host(component); | 17 sm.initialize_host(component); |
18 | 18 |
19 local new_uploads = sm.open(component, "uploads", "archive"); | 19 local new_uploads = sm.open(component, "uploads", "archive"); |
20 | 20 |
21 local legacy_storage_path = module:context(component):get_option_string("http_upload_path", paths.join(prosody.paths.data, "http_upload")); | |
22 | |
21 local legacy_uploads = {}; | 23 local legacy_uploads = {}; |
22 for user in assert(dm.users(user_host, "http_upload", "list")) do | 24 for user in assert(dm.users(user_host, "http_upload", "list")) do |
23 legacy_uploads[user] = dm.list_load(user, user_host, "http_upload"); | 25 legacy_uploads[user] = dm.list_load(user, user_host, "http_upload"); |
24 end | 26 end |
25 while true do | 27 while true do |
29 oldest_uploads, uploader = uploads, jid.join(user, user_host); | 31 oldest_uploads, uploader = uploads, jid.join(user, user_host); |
30 end | 32 end |
31 end | 33 end |
32 if not oldest_uploads then break end | 34 if not oldest_uploads then break end |
33 local item = table.remove(oldest_uploads, 1); | 35 local item = table.remove(oldest_uploads, 1); |
34 local source_directory = paths.join(prosody.paths.data, "http_upload", item.dir); | 36 local source_directory = paths.join(legacy_storage_path, item.dir); |
35 local source_filename = paths.join(prosody.paths.data, "http_upload", item.dir, item.filename); | 37 local source_filename = paths.join(source_directory, item.dir, item.filename); |
36 local target_filename = dm.getpath(item.dir, component, "http_file_share", "bin", true); | 38 local target_filename = dm.getpath(item.dir, component, "http_file_share", "bin", true); |
37 if not lfs.attributes(source_filename, "mode") then | 39 if not lfs.attributes(source_filename, "mode") then |
38 print("Not migrating missing file " .. source_filename); | 40 print("Not migrating missing file " .. source_filename); |
39 else | 41 else |
40 print("Moving " .. source_filename .. " to " .. target_filename .. " for " .. uploader); | 42 print("Moving " .. source_filename .. " to " .. target_filename .. " for " .. uploader); |