upload is ok
This commit is contained in:
parent
8c0a7b1f14
commit
a9aea04a27
@ -60,7 +60,7 @@ def hdl_upload(request : FileStorage::UploadRequest, user : User) : FileStorage:
|
|||||||
# TODO: verify the rights and quotas of the user
|
# TODO: verify the rights and quotas of the user
|
||||||
|
|
||||||
# First: check if the file already exists
|
# First: check if the file already exists
|
||||||
transfer_info = Context.db_by_filedigest.get request.file.digest
|
transfer_info = Context.db_by_filedigest.get? request.file.digest
|
||||||
if transfer_info.nil?
|
if transfer_info.nil?
|
||||||
# In case file informations aren't already registered
|
# In case file informations aren't already registered
|
||||||
# which is normal at this point
|
# which is normal at this point
|
||||||
|
@ -2,12 +2,15 @@ require "../common/filestorage.cr"
|
|||||||
require "ipc"
|
require "ipc"
|
||||||
require "option_parser"
|
require "option_parser"
|
||||||
|
|
||||||
|
require "../common/utils.cr"
|
||||||
require "../server/context.cr"
|
require "../server/context.cr"
|
||||||
|
|
||||||
filename = "./README.md"
|
filename = "./README.md"
|
||||||
|
|
||||||
tags = "readme example"
|
tags = "readme example"
|
||||||
|
|
||||||
|
chunk_number_to_remove = 1
|
||||||
|
|
||||||
OptionParser.parse do |parser|
|
OptionParser.parse do |parser|
|
||||||
parser.on "-f file-to-transfer",
|
parser.on "-f file-to-transfer",
|
||||||
"--file to-transfer",
|
"--file to-transfer",
|
||||||
@ -15,6 +18,12 @@ OptionParser.parse do |parser|
|
|||||||
filename = opt
|
filename = opt
|
||||||
end
|
end
|
||||||
|
|
||||||
|
parser.on "-c chunk_number_to_remove",
|
||||||
|
"--chunk-number chunk_number_to_remove",
|
||||||
|
"Once the upload stard, we remove chunks. This test the removal of one of them in the DB." do |opt|
|
||||||
|
chunk_number_to_remove = opt.to_i
|
||||||
|
end
|
||||||
|
|
||||||
parser.on "-d database-directory",
|
parser.on "-d database-directory",
|
||||||
"--db-dir directory",
|
"--db-dir directory",
|
||||||
"DB directory" do |opt|
|
"DB directory" do |opt|
|
||||||
@ -29,24 +38,31 @@ OptionParser.parse do |parser|
|
|||||||
end
|
end
|
||||||
|
|
||||||
parser.unknown_args do |args|
|
parser.unknown_args do |args|
|
||||||
pp! args
|
pp! args if args.size > 0
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
pp! Context
|
|
||||||
|
|
||||||
fileinfo : FileStorage::FileInfo? = nil
|
fileinfo : FileStorage::FileInfo? = nil
|
||||||
|
|
||||||
File.open(filename) do |file|
|
File.open(filename) do |file|
|
||||||
fileinfo = FileStorage::FileInfo.new file, tags.split(' ')
|
fileinfo = FileStorage::FileInfo.new file, tags.split(' ')
|
||||||
end
|
end
|
||||||
|
|
||||||
pp! fileinfo
|
|
||||||
|
|
||||||
transfer_info = TransferInfo.new 1000, fileinfo.not_nil!
|
transfer_info = TransferInfo.new 1000, fileinfo.not_nil!
|
||||||
|
|
||||||
|
puts "transfer info of the file #{filename}"
|
||||||
|
puts
|
||||||
|
pp! transfer_info
|
||||||
|
|
||||||
|
puts
|
||||||
|
puts "store file info then remove a chunk (number #{chunk_number_to_remove})"
|
||||||
|
puts
|
||||||
|
|
||||||
Context.db << transfer_info
|
Context.db << transfer_info
|
||||||
|
|
||||||
|
# remove the chunk once the information is recorded in the db
|
||||||
|
remove_chunk_from_db transfer_info, chunk_number_to_remove
|
||||||
|
|
||||||
Context.db.each do |ti|
|
Context.db.each do |ti|
|
||||||
pp! ti
|
pp! ti
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user