Use more explicit key name for items
This commit is contained in:
parent
c2fd9bc6d0
commit
9b7b224f79
@ -87,7 +87,7 @@ module RemoteStorage
|
|||||||
lua_script = <<-EOF
|
lua_script = <<-EOF
|
||||||
local user = ARGV[1]
|
local user = ARGV[1]
|
||||||
local directory = ARGV[2]
|
local directory = ARGV[2]
|
||||||
local items = redis.call("smembers", "rs:m:"..user..":"..directory.."/:i")
|
local items = redis.call("smembers", "rs:m:"..user..":"..directory.."/:items")
|
||||||
local listing = {}
|
local listing = {}
|
||||||
|
|
||||||
for index, name in pairs(items) do
|
for index, name in pairs(items) do
|
||||||
@ -403,7 +403,7 @@ module RemoteStorage
|
|||||||
def update_metadata_object(user, directory, key, metadata)
|
def update_metadata_object(user, directory, key, metadata)
|
||||||
redis_key = "rs:m:#{user}:#{directory}/#{key}"
|
redis_key = "rs:m:#{user}:#{directory}/#{key}"
|
||||||
redis.hmset(redis_key, *metadata)
|
redis.hmset(redis_key, *metadata)
|
||||||
redis.sadd "rs:m:#{user}:#{directory}/:i", key
|
redis.sadd "rs:m:#{user}:#{directory}/:items", key
|
||||||
|
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
@ -421,7 +421,7 @@ module RemoteStorage
|
|||||||
key = "rs:m:#{user}:#{dir}/"
|
key = "rs:m:#{user}:#{dir}/"
|
||||||
metadata = {e: etag, m: timestamp}
|
metadata = {e: etag, m: timestamp}
|
||||||
redis.hmset(key, *metadata)
|
redis.hmset(key, *metadata)
|
||||||
redis.sadd "rs:m:#{user}:#{parent_directory_for(dir)}:i", "#{top_directory(dir)}/"
|
redis.sadd "rs:m:#{user}:#{parent_directory_for(dir)}:items", "#{top_directory(dir)}/"
|
||||||
end
|
end
|
||||||
|
|
||||||
true
|
true
|
||||||
@ -438,7 +438,7 @@ module RemoteStorage
|
|||||||
def delete_metadata_objects(user, directory, key)
|
def delete_metadata_objects(user, directory, key)
|
||||||
redis_key = "rs:m:#{user}:#{directory}/#{key}"
|
redis_key = "rs:m:#{user}:#{directory}/#{key}"
|
||||||
redis.del(redis_key)
|
redis.del(redis_key)
|
||||||
redis.srem "rs:m:#{user}:#{directory}/:i", key
|
redis.srem "rs:m:#{user}:#{directory}/:items", key
|
||||||
end
|
end
|
||||||
|
|
||||||
def delete_dir_objects(user, directory)
|
def delete_dir_objects(user, directory)
|
||||||
@ -450,7 +450,7 @@ module RemoteStorage
|
|||||||
do_delete_request("#{url_for_directory(user, dir)}/")
|
do_delete_request("#{url_for_directory(user, dir)}/")
|
||||||
end
|
end
|
||||||
redis.del "rs:m:#{user}:#{directory}/"
|
redis.del "rs:m:#{user}:#{directory}/"
|
||||||
redis.srem "rs:m:#{user}:#{parent_directory_for(dir)}:i", "#{dir}/"
|
redis.srem "rs:m:#{user}:#{parent_directory_for(dir)}:items", "#{dir}/"
|
||||||
else
|
else
|
||||||
unless dir == ""
|
unless dir == ""
|
||||||
res = do_put_request("#{url_for_directory(user, dir)}/", timestamp.to_s, "text/plain")
|
res = do_put_request("#{url_for_directory(user, dir)}/", timestamp.to_s, "text/plain")
|
||||||
@ -467,7 +467,7 @@ module RemoteStorage
|
|||||||
|
|
||||||
def dir_empty?(user, dir)
|
def dir_empty?(user, dir)
|
||||||
if directory_backend(user).match(/new/)
|
if directory_backend(user).match(/new/)
|
||||||
redis.smembers("rs:m:#{user}:#{dir}/:i").empty?
|
redis.smembers("rs:m:#{user}:#{dir}/:items").empty?
|
||||||
else
|
else
|
||||||
do_get_request("#{container_url_for(user)}/?format=plain&limit=1&path=#{escape(dir)}/") do |res|
|
do_get_request("#{container_url_for(user)}/?format=plain&limit=1&path=#{escape(dir)}/") do |res|
|
||||||
return res.headers[:content_length] == "0"
|
return res.headers[:content_length] == "0"
|
||||||
|
@ -85,7 +85,7 @@ class Migrator
|
|||||||
end
|
end
|
||||||
|
|
||||||
def add_item_to_parent_dir(dir, item)
|
def add_item_to_parent_dir(dir, item)
|
||||||
key = "rs:m:#{username}:#{parent_directory_for(dir)}:i"
|
key = "rs:m:#{username}:#{parent_directory_for(dir)}:items"
|
||||||
logger.debug "Adding item #{item} to #{key}"
|
logger.debug "Adding item #{item} to #{key}"
|
||||||
redis.sadd(key, item) unless dry_run
|
redis.sadd(key, item) unless dry_run
|
||||||
end
|
end
|
||||||
|
@ -58,12 +58,12 @@ describe "App" do
|
|||||||
metadata["e"].must_equal "bla"
|
metadata["e"].must_equal "bla"
|
||||||
metadata["m"].length.must_equal 13
|
metadata["m"].length.must_equal 13
|
||||||
|
|
||||||
food_items = redis.smembers "rs:m:phil:food/:i"
|
food_items = redis.smembers "rs:m:phil:food/:items"
|
||||||
food_items.each do |food_item|
|
food_items.each do |food_item|
|
||||||
["camaron", "aguacate"].must_include food_item
|
["camaron", "aguacate"].must_include food_item
|
||||||
end
|
end
|
||||||
|
|
||||||
root_items = redis.smembers "rs:m:phil:/:i"
|
root_items = redis.smembers "rs:m:phil:/:items"
|
||||||
root_items.must_equal ["food/"]
|
root_items.must_equal ["food/"]
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -202,10 +202,10 @@ describe "App" do
|
|||||||
metadata["m"].length.must_equal 13
|
metadata["m"].length.must_equal 13
|
||||||
metadata["m"].wont_equal old_metadata["m"]
|
metadata["m"].wont_equal old_metadata["m"]
|
||||||
|
|
||||||
food_items = redis.smembers "rs:m:phil:food/:i"
|
food_items = redis.smembers "rs:m:phil:food/:items"
|
||||||
food_items.must_equal ["camaron"]
|
food_items.must_equal ["camaron"]
|
||||||
|
|
||||||
root_items = redis.smembers "rs:m:phil:/:i"
|
root_items = redis.smembers "rs:m:phil:/:items"
|
||||||
root_items.must_equal ["food/"]
|
root_items.must_equal ["food/"]
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -226,10 +226,10 @@ describe "App" do
|
|||||||
metadata = redis.hgetall "rs:m:phil:food/"
|
metadata = redis.hgetall "rs:m:phil:food/"
|
||||||
metadata.must_be_empty
|
metadata.must_be_empty
|
||||||
|
|
||||||
food_items = redis.smembers "rs:m:phil:food/:i"
|
food_items = redis.smembers "rs:m:phil:food/:items"
|
||||||
food_items.must_be_empty
|
food_items.must_be_empty
|
||||||
|
|
||||||
root_items = redis.smembers "rs:m:phil:/:i"
|
root_items = redis.smembers "rs:m:phil:/:items"
|
||||||
root_items.must_be_empty
|
root_items.must_be_empty
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user