コード例 #1
0
ファイル: filesmanager.py プロジェクト: B3rs/P2P
 def delete_files_for_user(cls, user):
     mongodbmanager.connect()
     files = cls.find_files_for_user(user)
     if files is not None:
         count = files.count()
         files.delete()
         return count
コード例 #2
0
ファイル: filesmanager.py プロジェクト: B3rs/P2P
 def create_file(cls, name, hash, user):
     mongodbmanager.connect()
     file = cls.find_file_by_hash_and_sessionid(hash, user.session_id)
     if file is None:
         # Create new file
         newFile = File(name = name, hash = hash, session_id = user.session_id)
         newFile.save()
     else:
         # Update file name
         cls.update_file(file, name)
コード例 #3
0
ファイル: filesmanager.py プロジェクト: B3rs/P2P
    def find_files_by_query(cls, query):
        mongodbmanager.connect()
        files =  File.objects(name__icontains = query)

        #do manual distinct
        returning_files = []
        returning_files_hashes = []
        for f in files:
            if f.hash not in returning_files_hashes:
                returning_files.append(f)
                returning_files_hashes.append(f.hash)

        return returning_files
コード例 #4
0
ファイル: usersmanager.py プロジェクト: B3rs/P2P
 def delete_user(cls, user):
     mongodbmanager.connect()
     user.delete()
コード例 #5
0
ファイル: usersmanager.py プロジェクト: B3rs/P2P
    def create_user(cls, ip, port):
        mongodbmanager.connect()

        new_user = User(ip=str(ip), port=port, session_id=hashing.generate_session_id())
        new_user.save()
        return new_user
コード例 #6
0
ファイル: usersmanager.py プロジェクト: B3rs/P2P
 def find_user_by_ip_and_port(cls, ip, port):
     mongodbmanager.connect()
     return User.objects(ip = ip, port = port).first()
コード例 #7
0
ファイル: usersmanager.py プロジェクト: B3rs/P2P
 def find_user_by_ip(cls, ip):
     mongodbmanager.connect()
     return User.objects(ip = ip).first()
コード例 #8
0
ファイル: filesmanager.py プロジェクト: LPCMRZ/P2P
 def delete_file(cls, file):
     mongodbmanager.connect()
     file.delete()
コード例 #9
0
ファイル: filesmanager.py プロジェクト: LPCMRZ/P2P
 def update_file(cls, file, new_name):
     mongodbmanager.connect()
     file.name = new_name
     file.save()
コード例 #10
0
ファイル: filesmanager.py プロジェクト: LPCMRZ/P2P
 def find_files_for_user(cls, user):
     mongodbmanager.connect()
     return File.objects(session_id = user.session_id)
コード例 #11
0
ファイル: filesmanager.py プロジェクト: LPCMRZ/P2P
 def count_files_by_hash(cls, hash):
     mongodbmanager.connect()
     return File.objects(hash = hash).count()
コード例 #12
0
ファイル: filesmanager.py プロジェクト: LPCMRZ/P2P
 def find_files_by_hash(cls, hash):
     mongodbmanager.connect()
     return File.objects(hash = hash).all()
コード例 #13
0
ファイル: filesmanager.py プロジェクト: LPCMRZ/P2P
 def find_file_by_hash_and_sessionid(cls, hash, session_id):
     mongodbmanager.connect()
     return File.objects(hash = hash, session_id = session_id).first()
コード例 #14
0
ファイル: filesmanager.py プロジェクト: B3rs/P2P
 def increase_download_count_for_file(cls, file):
     mongodbmanager.connect()
     file.download_count += 1
     file.save()
コード例 #15
0
ファイル: usersmanager.py プロジェクト: B3rs/P2P
 def delete_all(cls):
     mongodbmanager.connect()
     User.drop_collection()
コード例 #16
0
ファイル: usersmanager.py プロジェクト: B3rs/P2P
 def find_user_by_session_id(cls, session_id):
     mongodbmanager.connect()
     return User.objects(session_id=session_id).first()
コード例 #17
0
ファイル: filesmanager.py プロジェクト: LPCMRZ/P2P
 def find_file(cls, name, hash, user):
     mongodbmanager.connect()
     return  File.objects(name = name, hash = hash, session_id = user.session_id).first()