diff --git a/api/views.py b/api/views.py index 2151974961..1c331ba9a9 100644 --- a/api/views.py +++ b/api/views.py @@ -8,7 +8,7 @@ from django.http import HttpResponse, HttpResponseServerError from auth.decorators import login_required, api_login_required -from seaserv import ccnet_rpc, ccnet_threaded_rpc, get_groups, get_users, get_repos, \ +from seaserv import ccnet_rpc, ccnet_threaded_rpc, get_groups, get_repos, \ get_repo, get_commits, get_branches, \ seafserv_threaded_rpc, seafserv_rpc, get_binding_peerids, get_ccnetuser, \ get_group_repoids, check_group_staff diff --git a/thirdpart/seaserv/__init__.py b/thirdpart/seaserv/__init__.py index 3a9468512e..a2b659c3b4 100644 --- a/thirdpart/seaserv/__init__.py +++ b/thirdpart/seaserv/__init__.py @@ -1,14 +1,9 @@ import service -from service import cclient, ccnet_rpc, monitor_rpc, seafserv_rpc, \ +from service import ccnet_rpc, monitor_rpc, seafserv_rpc, \ seafserv_threaded_rpc, ccnet_threaded_rpc -from service import translate_peerid, translate_msgtime, translate_groupid, \ - translate_userid, translate_msgtime2, translate_time_sec, \ - translate_time_usec, get_peer_avatar_url, get_user_avatar_url, \ - translate_userid_simple, translate_peerid_simple -from service import get_peers_by_role, get_peers_by_myrole, send_command +from service import send_command from service import get_groups, get_group -from service import get_users, get_user, get_events, count_event from service import get_repos, get_repo, get_commits, get_branches from service import get_binding_peerids from service import get_ccnetuser diff --git a/thirdpart/seaserv/service.py b/thirdpart/seaserv/service.py index 8b4752688b..5ed6f332ae 100644 --- a/thirdpart/seaserv/service.py +++ b/thirdpart/seaserv/service.py @@ -1,43 +1,4 @@ """ -Peer: - peer.props.id: Peer's ID. - peer.props.name peer's name - peer.props.user_id The ID of the user this peer belong to. - peer.props.timestamp Last modification time in milliseconds. - peer.props.role_list The roles I give to this peer's user. - peer.props.myrole_list This roles this peer's user gives to me. - -User: - user.props.id: User ID. - user.props.name: User Name. - user.props.timestamp Last modification time in milliseconds. - user.props.is_self True if this is myself. - user.props.role_list The roles I give to this user. - user.props.myrole_list This roles this user gives to me. - user.props.default_relay The user's default relay. - user.props.avatar_url The user's default relay. - -Group: - group.props.id: Group ID. - group.props.name: Group Name. - group.props.creator: Creator - group.props.rendezvous: The ID of the rendezvous peer. - group.props.timestamp: Last modification time. - group.props.members: The peer IDs of the group members seperated by ' '. - group.props.followers: The peer IDs of the followers. - group.props.maintainers: The peer IDs of the maintainers. - -Message: - msg.props.id: Message ID - msg.props.parent_id Parent ID - msg.props.src The user who sent this message - msg.props.dest - msg.props.is_to_group True if this is a group message - msg.props.ctime Creation time - msg.props.rtime Receive time - msg.props.n_ack Number of acks - msg.props.n_reply Number of replies - msg.props.content Repo: id: Repo ID @@ -67,12 +28,6 @@ Commit: parent_id: second_parent_id: -SyncInfo: - - repo_id: - head_commit: The head_commit of master branch at seahub - deleted_on_relay: True if repo is deleted on relay - """ @@ -99,203 +54,16 @@ else: print "Load config from " + CCNET_CONF_PATH CCNET_CONF_PATH = os.path.normpath(os.path.expanduser(CCNET_CONF_PATH)) - -# This does not connect daemon, used for the web to display -# (name, id) info -cclient = ccnet.Client() - -if os.path.exists(CCNET_CONF_PATH): - cclient.load_confdir(CCNET_CONF_PATH) - cclient.inited = True -else: - cclient.inited = False - pool = ccnet.ClientPool(CCNET_CONF_PATH) ccnet_rpc = ccnet.CcnetRpcClient(pool, req_pool=True) ccnet_threaded_rpc = ccnet.CcnetThreadedRpcClient(pool, req_pool=True) monitor_rpc = seafile.MonitorRpcClient(pool) seafserv_rpc = seafile.ServerRpcClient(pool, req_pool=True) seafserv_threaded_rpc = seafile.ServerThreadedRpcClient(pool, req_pool=True) - -user_db = {} - -def translate_userid(user_id): - try: - user = user_db[user_id] - except: - user = ccnet_threaded_rpc.get_user(user_id) - if user: - user_db[user_id] = user - else: - return user_id[:8] - if user.props.name: - return user.props.name + "(" + user_id[:4] + ")" - else: - return user_id[:8] - - -def translate_userid_simple(user_id): - try: - user = user_db[user_id] - except: - user = ccnet_threaded_rpc.get_user(user_id) - if user: - user_db[user_id] = user - else: - return user_id[:8] - if user.props.name: - return user.props.name - else: - return user_id[:8] - - -peer_db = {} - -def translate_peerid(peer_id): - try: - peer = peer_db[peer_id] - except: - peer = ccnet_rpc.get_peer(peer_id) - if peer: - peer_db[peer_id] = peer - else: - return peer_id[:8] - if peer.props.name: - return peer.props.name - else: - return peer_id[:8] - - -def translate_peerid_simple(peer_id): - try: - peer = peer_db[peer_id] - except: - peer = ccnet_rpc.get_peer(peer_id) - if peer: - peer_db[peer_id] = peer - else: - return peer_id[:8] - if peer.props.name: - return peer.props.name - else: - return peer_id[:8] - - -def get_peer_avatar_url(peer_id): - try: - peer = peer_db[peer_id] - except: - peer = ccnet_rpc.get_peer(peer_id) - if peer: - peer_db[peer_id] = peer - else: - return None - try: - user = user_db[peer.props.user_id] - except: - user = ccnet_threaded_rpc.get_user(user_id) - if user: - user_db[user_id] = user - else: - return None - return user.props.avatar_url - -def get_user_avatar_url(user_id): - try: - user = user_db[user_id] - except: - user = ccnet_threaded_rpc.get_user(user_id) - if user: - user_db[user_id] = user - else: - return None - return user.props.avatar_url - - -group_db = {} - -def translate_groupid(group_id): - try: - group = group_db[group_id] - except: - group = ccnet_threaded_rpc.get_group(group_id) - if group: - group_db[group_id] = group - else: - return group_id[:8] - if group.props.name: - return group.props.name + "(" + group_id[:4] + ")" - else: - return group_id[:8] - - -def translate_msgtime(msgtime): - return datetime.fromtimestamp( - (float(msgtime))/1000000).strftime("%Y-%m-%d %H:%M:%S") - -def translate_msgtime2(msgtime): - return datetime.fromtimestamp( - (float(msgtime))).strftime("%Y-%m-%d %H:%M:%S") - -def translate_time_sec(time): - return datetime.fromtimestamp( - (float(time))).strftime("%Y-%m-%d %H:%M:%S") - -def translate_time_usec(time): - return datetime.fromtimestamp( - (float(time))/1000000).strftime("%Y-%m-%d %H:%M:%S") - #### Basic ccnet API #### -def get_peers_by_role(role): - try: - peer_ids = ccnet_rpc.get_peers_by_role(role) - except SearpcError: - return [] - - peers = [] - for peer_id in peer_ids.split("\n"): - # too handle the ending '\n' - if peer_id == '': - continue - peer = ccnet_rpc.get_peer(peer_id) - peers.append(peer) - return peers - -def get_peers_by_myrole(myrole): - try: - peer_ids = ccnet_rpc.get_peers_by_myrole(myrole) - except SearpcError: - return [] - - peers = [] - for peer_id in peer_ids.split("\n"): - # too handle the ending '\n' - if peer_id == '': - continue - peer = ccnet_rpc.get_peer(peer_id) - peers.append(peer) - return peers - -def get_users(): - user_ids = ccnet_threaded_rpc.list_users() - if not user_ids: - return [] - users = [] - for user_id in user_ids.split("\n"): - # too handle the ending '\n' - if user_id == '': - continue - user = ccnet_threaded_rpc.get_user(user_id) - users.append(user) - return users - - -def get_user(user_id): - user = ccnet_threaded_rpc.get_user(user_id) - return user def get_ccnetuser(username=None, userid=None): # Get emailuser from db @@ -341,20 +109,6 @@ def get_group(group_id): return group -def get_events(offset, limit): - events = ccnet_rpc.get_events(offset, limit) - for event in events: - if not event.props.body: - event.detail = "" - else: - event.detail = json.loads(event.props.body) - return events - - -def count_event(): - return ccnet_rpc.count_event() - - def send_command(command): client = pool.get_client() client.send_cmd(command) diff --git a/urls.py b/urls.py index ffd65e2646..e70c76e727 100644 --- a/urls.py +++ b/urls.py @@ -2,7 +2,7 @@ from django.conf.urls.defaults import * from django.conf import settings from django.views.generic.simple import direct_to_template -from seahub.views import root, peers, myhome, \ +from seahub.views import root, myhome, \ repo, repo_history, modify_token, remove_repo, sys_seafadmin, sys_useradmin, \ org_seafadmin, org_useradmin, org_group_admin, org_remove, \ activate_user, user_add, user_remove, sys_group_admin, sys_org_admin, \ diff --git a/views.py b/views.py index 7e73520c12..f97edc28e0 100644 --- a/views.py +++ b/views.py @@ -27,7 +27,7 @@ from auth.forms import AuthenticationForm, PasswordResetForm, SetPasswordForm, \ PasswordChangeForm from auth.tokens import default_token_generator from share.models import FileShare -from seaserv import ccnet_rpc, ccnet_threaded_rpc, get_groups, get_users, get_repos, \ +from seaserv import ccnet_rpc, ccnet_threaded_rpc, get_groups, get_repos, \ get_repo, get_commits, get_branches, \ seafserv_threaded_rpc, seafserv_rpc, get_binding_peerids, get_ccnetuser, \ get_group_repoids, check_group_staff @@ -51,26 +51,6 @@ from seahub.settings import FILE_PREVIEW_MAX_SIZE, CROCODOC_API_TOKEN def root(request): return HttpResponseRedirect(reverse(myhome)) -def peers(request): - peer_type = request.REQUEST.get('type', 'all') - peer_ids = ccnet_rpc.list_peers() - peers = [] - for peer_id in peer_ids.split("\n"): - # too handle the ending '\n' - if peer_id == '': - continue - peer = ccnet_rpc.get_peer(peer_id) - if peer_type == 'all': - peers.append(peer) - if peer_type == 'mypeer': - if peer.props.role_list.find('MyPeer') != -1: - peers.append(peer) - - users = get_users() - return render_to_response('peers.html', { - 'peers': peers, - 'users': users, - }, context_instance=RequestContext(request)) def validate_owner(request, repo_id): """