From a05ce29b2362d6b07b852c05848d245c1da804c6 Mon Sep 17 00:00:00 2001 From: kballou Date: Fri, 10 Apr 2015 17:31:01 -0600 Subject: Rename `chorus_client` to `chorus_api` --- pylibchorus/__init__.py | 12 +-- pylibchorus/chorus_api.py | 171 +++++++++++++++++++++++++++++++ pylibchorus/chorus_client.py | 171 ------------------------------- pylibchorus/tests/chorus_client_tests.py | 12 +-- 4 files changed, 183 insertions(+), 183 deletions(-) create mode 100644 pylibchorus/chorus_api.py delete mode 100644 pylibchorus/chorus_client.py diff --git a/pylibchorus/__init__.py b/pylibchorus/__init__.py index 0a2807f..074a1d4 100644 --- a/pylibchorus/__init__.py +++ b/pylibchorus/__init__.py @@ -2,12 +2,12 @@ '''PyLibChorus -- Python Chorus API Library''' import logging -from pylibchorus.chorus_client import login -from pylibchorus.chorus_client import logout -from pylibchorus.chorus_client import check_login_status -from pylibchorus.chorus_client import create_workfile -from pylibchorus.chorus_client import update_workfile_version -from pylibchorus.chorus_client import delete_workfile +from pylibchorus.chorus_api import login +from pylibchorus.chorus_api import logout +from pylibchorus.chorus_api import check_login_status +from pylibchorus.chorus_api import create_workfile +from pylibchorus.chorus_api import update_workfile_version +from pylibchorus.chorus_api import delete_workfile LOG = logging.getLogger(__name__) diff --git a/pylibchorus/chorus_api.py b/pylibchorus/chorus_api.py new file mode 100644 index 0000000..f9c5223 --- /dev/null +++ b/pylibchorus/chorus_api.py @@ -0,0 +1,171 @@ +#!/usr/bin/env python +'''Alpine/Chorus Client API Module''' + +import logging +import requests + +LOG = logging.Logger(name=__name__) + +CONTENT_TYPE = 'application/x-www-form-urlencoded' +JSON_CONTENT_TYPE = 'application/json' + +def login(username, password, session): + '''POST login request to chorus server''' + return _perform_http_method_( + session.config.get('alpine', 'host'), _login_(username, password)) + +def logout(session): + '''DELETE login request to chorus server''' + return _perform_http_method_( + session.config.get('alpine', 'host'), + _logout_(session.sid, session.cookies)) + +def check_login_status(session): + '''GET login request to chorus server''' + return _perform_http_method_( + session.config.get('alpine', 'host'), + _check_login_(session.sid, session.cookies)) + +def create_workfile(workspace_id, workfile_name, session): + '''POST new workfile to workspace''' + return _perform_http_method_( + session.config.get('alpine', 'host'), + _create_workfile_(workspace_id, + workfile_name, + session.sid, + session.cookies)) + +def update_workfile_version(userid, workfile_id, workfile, session): + '''POST new workfile version''' + return _perform_http_method_( + session.config.get('alpine', 'host'), + _update_workfile_version_(userid, + workfile_id, + workfile, + session.sid, + session.cookies)) + +def delete_workfile(workfile_id, session): + '''DELETE workfile''' + return _perform_http_method_( + session.config.get('alpine', 'host'), + _delete_workfile_(workfile_id, session.sid, session.cookies)) + +def _get_url_(host, endpoint=""): + '''Return the host and path for the chorus instance''' + return "http://%s/%s" % (host, endpoint) + +def _perform_http_method_(host, request_data): + '''Perform IO operation to Chorus Server using request_data object''' + methods = {'GET': requests.get, + 'POST': requests.post, + 'DELETE': requests.delete,} + method = methods[request_data['method']] + response = method(_get_url_(host, request_data['url']), + params=request_data['params'], + headers=request_data['headers'], + cookies=request_data['cookies'], + data=request_data['data']) + LOG.info("Request: %s status code: %d", + request_data['url'], + response.status_code) + return response + +def _login_(username, password): + '''Create Request Data for ChorusSession''' + return { + 'data': { + 'username': username, + 'password': password, + }, + 'headers': { + 'content-type': CONTENT_TYPE, + }, + 'params': { + 'session_id': '', + }, + 'cookies': None, + 'url': '/sessions?session_id=', + 'method': 'POST', + } + +def _check_login_(_, cookies): + '''Create request data for check login check''' + return { + 'data': None, + 'params': None, + 'headers': { + 'content-type': CONTENT_TYPE, + }, + 'cookies': cookies, + 'url': '/sessions', + 'method': 'GET', + } + +def _logout_(sid, cookies): + '''Create request data for ChorusSession''' + return { + 'data': None, + 'headers': { + 'content-type': CONTENT_TYPE, + }, + 'params': { + 'session_id': sid, + }, + 'cookies': cookies, + 'url': '/sessions', + 'method': 'DELETE', + } + +def _create_workfile_(workspace_id, workfile_name, sid, cookies): + '''Create request data for workfile creation''' + return { + 'data': { + 'workspace_id': workspace_id, + 'file_name': workfile_name, + }, + 'headers': { + 'content-type': CONTENT_TYPE, + }, + 'params': { + 'session_id': sid, + }, + 'cookies': cookies, + 'url': '/workspaces/%s/workfiles' % workspace_id, + 'method': 'POST', + } + +def _update_workfile_version_(userid, workfile_id, workfile, sid, cookies): + '''Create request data to update a workfile''' + return { + 'data': { + 'owner_id': userid, + 'modifier_id': userid, + 'commit_message': 'git commit', + 'content': workfile, + }, + 'params': { + 'session_id': sid, + }, + 'headers': { + 'content-type': CONTENT_TYPE, + }, + 'cookies': cookies, + 'url': '/workfiles/%s/versions' % workfile_id, + 'method': 'POST', + } + +def _delete_workfile_(workfile_id, sid, cookies): + '''Create request data to delete a workfile''' + return { + 'data': None, + 'params': { + 'session_id': sid, + }, + 'headers': { + 'content-type': CONTENT_TYPE, + }, + 'cookies': cookies, + 'url': '/workfiles/%s' % workfile_id, + 'method': 'DELETE', + } diff --git a/pylibchorus/chorus_client.py b/pylibchorus/chorus_client.py deleted file mode 100644 index f9c5223..0000000 --- a/pylibchorus/chorus_client.py +++ /dev/null @@ -1,171 +0,0 @@ -#!/usr/bin/env python -'''Alpine/Chorus Client API Module''' - -import logging -import requests - -LOG = logging.Logger(name=__name__) - -CONTENT_TYPE = 'application/x-www-form-urlencoded' -JSON_CONTENT_TYPE = 'application/json' - -def login(username, password, session): - '''POST login request to chorus server''' - return _perform_http_method_( - session.config.get('alpine', 'host'), _login_(username, password)) - -def logout(session): - '''DELETE login request to chorus server''' - return _perform_http_method_( - session.config.get('alpine', 'host'), - _logout_(session.sid, session.cookies)) - -def check_login_status(session): - '''GET login request to chorus server''' - return _perform_http_method_( - session.config.get('alpine', 'host'), - _check_login_(session.sid, session.cookies)) - -def create_workfile(workspace_id, workfile_name, session): - '''POST new workfile to workspace''' - return _perform_http_method_( - session.config.get('alpine', 'host'), - _create_workfile_(workspace_id, - workfile_name, - session.sid, - session.cookies)) - -def update_workfile_version(userid, workfile_id, workfile, session): - '''POST new workfile version''' - return _perform_http_method_( - session.config.get('alpine', 'host'), - _update_workfile_version_(userid, - workfile_id, - workfile, - session.sid, - session.cookies)) - -def delete_workfile(workfile_id, session): - '''DELETE workfile''' - return _perform_http_method_( - session.config.get('alpine', 'host'), - _delete_workfile_(workfile_id, session.sid, session.cookies)) - -def _get_url_(host, endpoint=""): - '''Return the host and path for the chorus instance''' - return "http://%s/%s" % (host, endpoint) - -def _perform_http_method_(host, request_data): - '''Perform IO operation to Chorus Server using request_data object''' - methods = {'GET': requests.get, - 'POST': requests.post, - 'DELETE': requests.delete,} - method = methods[request_data['method']] - response = method(_get_url_(host, request_data['url']), - params=request_data['params'], - headers=request_data['headers'], - cookies=request_data['cookies'], - data=request_data['data']) - LOG.info("Request: %s status code: %d", - request_data['url'], - response.status_code) - return response - -def _login_(username, password): - '''Create Request Data for ChorusSession''' - return { - 'data': { - 'username': username, - 'password': password, - }, - 'headers': { - 'content-type': CONTENT_TYPE, - }, - 'params': { - 'session_id': '', - }, - 'cookies': None, - 'url': '/sessions?session_id=', - 'method': 'POST', - } - -def _check_login_(_, cookies): - '''Create request data for check login check''' - return { - 'data': None, - 'params': None, - 'headers': { - 'content-type': CONTENT_TYPE, - }, - 'cookies': cookies, - 'url': '/sessions', - 'method': 'GET', - } - -def _logout_(sid, cookies): - '''Create request data for ChorusSession''' - return { - 'data': None, - 'headers': { - 'content-type': CONTENT_TYPE, - }, - 'params': { - 'session_id': sid, - }, - 'cookies': cookies, - 'url': '/sessions', - 'method': 'DELETE', - } - -def _create_workfile_(workspace_id, workfile_name, sid, cookies): - '''Create request data for workfile creation''' - return { - 'data': { - 'workspace_id': workspace_id, - 'file_name': workfile_name, - }, - 'headers': { - 'content-type': CONTENT_TYPE, - }, - 'params': { - 'session_id': sid, - }, - 'cookies': cookies, - 'url': '/workspaces/%s/workfiles' % workspace_id, - 'method': 'POST', - } - -def _update_workfile_version_(userid, workfile_id, workfile, sid, cookies): - '''Create request data to update a workfile''' - return { - 'data': { - 'owner_id': userid, - 'modifier_id': userid, - 'commit_message': 'git commit', - 'content': workfile, - }, - 'params': { - 'session_id': sid, - }, - 'headers': { - 'content-type': CONTENT_TYPE, - }, - 'cookies': cookies, - 'url': '/workfiles/%s/versions' % workfile_id, - 'method': 'POST', - } - -def _delete_workfile_(workfile_id, sid, cookies): - '''Create request data to delete a workfile''' - return { - 'data': None, - 'params': { - 'session_id': sid, - }, - 'headers': { - 'content-type': CONTENT_TYPE, - }, - 'cookies': cookies, - 'url': '/workfiles/%s' % workfile_id, - 'method': 'DELETE', - } diff --git a/pylibchorus/tests/chorus_client_tests.py b/pylibchorus/tests/chorus_client_tests.py index da1f81f..666b055 100644 --- a/pylibchorus/tests/chorus_client_tests.py +++ b/pylibchorus/tests/chorus_client_tests.py @@ -2,12 +2,12 @@ '''Chorus Client Test Cases''' import logging -from pylibchorus.chorus_client import _login_ -from pylibchorus.chorus_client import _logout_ -from pylibchorus.chorus_client import _check_login_ -from pylibchorus.chorus_client import _create_workfile_ -from pylibchorus.chorus_client import _update_workfile_version_ -from pylibchorus.chorus_client import _delete_workfile_ +from pylibchorus.chorus_api import _login_ +from pylibchorus.chorus_api import _logout_ +from pylibchorus.chorus_api import _check_login_ +from pylibchorus.chorus_api import _create_workfile_ +from pylibchorus.chorus_api import _update_workfile_version_ +from pylibchorus.chorus_api import _delete_workfile_ import unittest LOG = logging.getLogger(__name__) -- cgit v1.2.1