示例#1
0
def test_add_owner():
    # user 2 uploaded the resource
    ResourcesCache.user_upload_resource(2,"user2","file_hash2","test2.txt",1023,1,"test",0,1,3,"user2 uploaded file")
    ResourcesCache.add_owner('file_hash2',2) #the same user

    assert ResourcesCache.get_resource_owners("file_hash2")==[2]
    ResourcesCache.add_owner('file_hash2',20) #the same user
    assert ResourcesCache.get_resource_owners("file_hash2")==[2,20]

    ResourcesCache.increase_download_num("file_hash2")
    assert ResourcesCache.get_resources_list()["file_hash2"]["download_num"]==0
    ResourcesCache.increase_download_num("file_hash2")
    assert ResourcesCache.get_resources_list()["file_hash2"]["download_num"]==1
#if __name__ == "__main__":
#    test_add_owner()
示例#2
0
 def get_online_file_owner(cls, my_uid, file_hash):
     assert len(file_hash) > 0
     assert my_uid >= 0
     online_owners = filter(UserIPCache.user_online, ResourcesCache.get_resource_owners(file_hash))
     # if online_owners.count(my_uid): # remove myself
     #    online_owners.remove(my_uid)
     if (UserIPCache.user_online(my_uid)):
         my_ip = UserIPCache.get_user_ip(my_uid)
         is_ipv4 = IP.is_valid_ipv4_address(my_ip)
         if is_ipv4:
             same_ip_users = filter(lambda user: UserIPCache.get_user_ip(user) == my_ip, online_owners)
             v4_owners = [user for user in same_ip_users if
                          IP.is_valid_ipv4_address(HttpServerInfoCache.get_user_ipv4(user))]
             grep_owners = [{"uid": user, "host": HttpServerInfoCache.get_user_ipv4(user), "port": 8884} for user in
                            v4_owners]
             return grep_owners
         else:
             v6_owners = [user for user in online_owners if
                          IP.is_valid_ipv6_address(HttpServerInfoCache.get_user_ipv6(user))]
             grep_owners = [{"uid": user, "host": HttpServerInfoCache.get_user_ipv6(user), "port": 8886} for user in
                            v6_owners]
             return grep_owners
     else:
         return []
示例#3
0
 def get_online_user_cnt(cls,file_hash):
     return len(filter(UserIPCache.user_online, ResourcesCache.get_resource_owners(file_hash)))