mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-19 18:29:23 +00:00
improve get_(org)_user_events
This commit is contained in:
@@ -462,17 +462,35 @@ if hasattr(settings, 'EVENTS_CONFIG_FILE'):
|
|||||||
|
|
||||||
def _get_events(username, start, org_id=None):
|
def _get_events(username, start, org_id=None):
|
||||||
ev_session = SeafEventsSession()
|
ev_session = SeafEventsSession()
|
||||||
|
total = 11
|
||||||
|
valid_events = []
|
||||||
|
while total == 11 and len(valid_events) < 11:
|
||||||
|
total, events = _get_events_inner(ev_session, username, start, org_id)
|
||||||
|
start += len(events)
|
||||||
|
valid_events.extend(events)
|
||||||
|
|
||||||
|
ev_session.close()
|
||||||
|
|
||||||
|
return valid_events[:11]
|
||||||
|
|
||||||
|
def _get_events_inner(ev_session, username, start, org_id=None):
|
||||||
|
'''Read 11 events from seafevents database, and remove events that are
|
||||||
|
no longer valid
|
||||||
|
|
||||||
|
'''
|
||||||
if org_id == None:
|
if org_id == None:
|
||||||
events = seafevents.get_user_events(ev_session, username, start, start + 11)
|
events = seafevents.get_user_events(ev_session, username, start, start + 11)
|
||||||
else:
|
else:
|
||||||
events = seafevents.get_org_user_events(ev_session, \
|
events = seafevents.get_org_user_events(ev_session, \
|
||||||
org_id, username, start, start + 11)
|
org_id, username, start, start + 11)
|
||||||
|
total = len(events)
|
||||||
valid_events = []
|
valid_events = []
|
||||||
ev_session.close()
|
|
||||||
for ev in events:
|
for ev in events:
|
||||||
if ev.etype == 'repo-update':
|
if ev.etype == 'repo-update':
|
||||||
repo = get_repo(ev.repo_id)
|
repo = get_repo(ev.repo_id)
|
||||||
if not repo:
|
if not repo:
|
||||||
|
# delete the update event for repo which has been deleted
|
||||||
|
seafevents.delete_event(ev_session, ev.uuid)
|
||||||
continue
|
continue
|
||||||
if repo.encrypted:
|
if repo.encrypted:
|
||||||
repo.password_set = seafserv_rpc.is_passwd_set(repo.id, username)
|
repo.password_set = seafserv_rpc.is_passwd_set(repo.id, username)
|
||||||
@@ -481,7 +499,7 @@ if hasattr(settings, 'EVENTS_CONFIG_FILE'):
|
|||||||
|
|
||||||
valid_events.append(ev)
|
valid_events.append(ev)
|
||||||
|
|
||||||
return valid_events
|
return total, valid_events
|
||||||
|
|
||||||
def get_user_events(username, start):
|
def get_user_events(username, start):
|
||||||
return _get_events(username, start)
|
return _get_events(username, start)
|
||||||
|
5
views.py
5
views.py
@@ -2939,7 +2939,10 @@ def events(request):
|
|||||||
org_id = request.GET.get('org_id')
|
org_id = request.GET.get('org_id')
|
||||||
events = get_org_user_events(org_id, username, start)
|
events = get_org_user_events(org_id, username, start)
|
||||||
else:
|
else:
|
||||||
events = get_user_events(username, start)
|
try:
|
||||||
|
events = get_user_events(username, start)
|
||||||
|
except Exception, e:
|
||||||
|
print e
|
||||||
|
|
||||||
events_more = False
|
events_more = False
|
||||||
if len(events) == 11:
|
if len(events) == 11:
|
||||||
|
Reference in New Issue
Block a user