bugfix
This commit is contained in:
parent
6c7dfdc460
commit
53e7e91719
@ -104,18 +104,19 @@ class FileMgr:
|
|||||||
}
|
}
|
||||||
await sor.C('file', ns)
|
await sor.C('file', ns)
|
||||||
if len(recs) == 0:
|
if len(recs) == 0:
|
||||||
# rf = RegisterFunction()
|
await self.file_uploaded(request, ns, u.userid)
|
||||||
#await rf.exe('fileuploaded', ns)
|
|
||||||
await self.file_uploaded(request, ns, userid)
|
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
async def del_folder(self, request, id):
|
async def del_folder(self, request, id):
|
||||||
db = DBPools()
|
db = DBPools()
|
||||||
dbname = get_dbname()
|
dbname = get_dbname()
|
||||||
|
delrecs = []
|
||||||
async with db.sqlorContext(dbname) as sor:
|
async with db.sqlorContext(dbname) as sor:
|
||||||
u = await get_session_userinfo(request)
|
u = await get_session_userinfo(request)
|
||||||
return await self.del_folder(sor, id, u.userorgid)
|
recs = await self._del_folder(sor, id, u.userorgid)
|
||||||
|
delrecs += delrecs
|
||||||
|
self.file_deleted(request, delrecs, u.userid)
|
||||||
|
|
||||||
async def _del_folder(self, sor, id, ownerid):
|
async def _del_folder(self, sor, id, ownerid):
|
||||||
await folders = await sor.R('folder', {'id': id})
|
await folders = await sor.R('folder', {'id': id})
|
||||||
@ -128,19 +129,27 @@ class FileMgr:
|
|||||||
e = Exception(f'Wrong owner for folder({id=}, {ownerid=}')
|
e = Exception(f'Wrong owner for folder({id=}, {ownerid=}')
|
||||||
exception(f'{e=}\n{format_exc()}')
|
exception(f'{e=}\n{format_exc()}')
|
||||||
raise e
|
raise e
|
||||||
fs = []
|
delrecs = []
|
||||||
async for f in self.sor_get_subfile(sor, id):
|
async for f in self.sor_get_subfile(sor, id):
|
||||||
await self._del_file(sor, f.id, ownerid)
|
recs = await self._del_file(sor, f.id, ownerid)
|
||||||
|
delrecs += recs
|
||||||
async for f in self.sor_get_subfolder(sor, id):
|
async for f in self.sor_get_subfolder(sor, id):
|
||||||
await self._del_folder(sor, f.id, ownerid)
|
rec = await self._del_folder(sor, f.id, ownerid)
|
||||||
|
if rec:
|
||||||
|
delrecs.append(rec)
|
||||||
await sor.D('folder', {'id': id})
|
await sor.D('folder', {'id': id})
|
||||||
|
return delrecs
|
||||||
|
|
||||||
async def del_file(self, fid):
|
async def del_file(self, request, fid):
|
||||||
db = DBPools()
|
db = DBPools()
|
||||||
dbname = get_dbname()
|
dbname = get_dbname()
|
||||||
|
delrecs = []
|
||||||
async with db.sqlorContext(dbname) as sor:
|
async with db.sqlorContext(dbname) as sor:
|
||||||
u = await get_session_userinfo(request)
|
u = await get_session_userinfo(request)
|
||||||
return await self._del_file(sor, fid, u.userorgid)
|
rec = await self._del_file(sor, fid, u.userorgid)
|
||||||
|
if rec:
|
||||||
|
delrecs.append(rec)
|
||||||
|
self.file_deleted(request, delrecs, u.userid)
|
||||||
|
|
||||||
async def _del_file(self, sor, fid, ownerid):
|
async def _del_file(self, sor, fid, ownerid):
|
||||||
recs = await sor.R('file', {'id': fid})
|
recs = await sor.R('file', {'id': fid})
|
||||||
@ -154,7 +163,8 @@ class FileMgr:
|
|||||||
remain = await sor.R('file', {'hashvalue':delrec.hashvalue})
|
remain = await sor.R('file', {'hashvalue':delrec.hashvalue})
|
||||||
if not remain:
|
if not remain:
|
||||||
os.unlink(delrec.realpath)
|
os.unlink(delrec.realpath)
|
||||||
self.file_deleted(request, delrec)
|
return delrec
|
||||||
|
return None
|
||||||
# rf = RegisterFunction()
|
# rf = RegisterFunction()
|
||||||
# await rf.exe('filedeleted', delrec)
|
# await rf.exe('filedeleted', delrec)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user