[Kimchi-devel] [PATCH V2 2/2] touch 4 files when move RollbackContext, fix pep8 on them
Aline Manera
alinefm at linux.vnet.ibm.com
Tue Dec 31 12:44:15 UTC 2013
Reviewed-by: Aline Manera <alinefm at linux.vnet.ibm.com>
On 12/31/2013 09:55 AM, shaohef at linux.vnet.ibm.com wrote:
> From: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
>
> Touch 4 files when move RollbackContext
> Fix pep8 on these 4 files
>
> Signed-off-by: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
> ---
> Makefile.am | 10 +++++--
> tests/test_model.py | 83 +++++++++++++++++++++++++++++++++--------------------
> tests/test_rest.py | 70 ++++++++++++++++++++++++--------------------
> tests/utils.py | 14 ++++++---
> 4 files changed, 108 insertions(+), 69 deletions(-)
>
> diff --git a/Makefile.am b/Makefile.am
> index 6122bbf..17c13e9 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -38,19 +38,23 @@ EXTRA_DIST = \
> # When fixing a file to conform with pep8, add it to the WL here.
> # So it will be checked from now on.
> PEP8_WHITELIST = \
> + plugins/__init__.py \
> + plugins/sample/__init__.py \
> + plugins/sample/model.py \
> src/kimchi/asynctask.py \
> src/kimchi/auth.py \
> src/kimchi/cachebust.py \
> src/kimchi/config.py.in \
> src/kimchi/disks.py \
> src/kimchi/featuretests.py \
> + src/kimchi/rollbackcontext.py \
> src/kimchi/root.py \
> src/kimchi/server.py \
> - plugins/__init__.py \
> - plugins/sample/__init__.py \
> - plugins/sample/model.py \
> tests/test_mockmodel.py \
> + tests/test_model.py \
> tests/test_plugin.py \
> + tests/test_rest.py \
> + tests/utils.py \
> $(NULL)
>
> check-local:
> diff --git a/tests/test_model.py b/tests/test_model.py
> index 7ecd8c6..c03cc3f 100644
> --- a/tests/test_model.py
> +++ b/tests/test_model.py
> @@ -19,7 +19,7 @@
> #
> # You should have received a copy of the GNU Lesser General Public
> # License along with this library; if not, write to the Free Software
> -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
>
> import os
> import platform
> @@ -149,12 +149,13 @@ class ModelTests(unittest.TestCase):
> self.assertEquals('active', poolinfo['state'])
>
> autostart = poolinfo['autostart']
> - ori_params = {'autostart': True} if autostart else {'autostart': False}
> + ori_params = {'autostart':
> + True} if autostart else {'autostart': False}
> for i in [True, False]:
> params = {'autostart': i}
> inst.storagepool_update(name, params)
> rollback.prependDefer(inst.storagepool_update, name,
> - ori_params)
> + ori_params)
> poolinfo = inst.storagepool_lookup(name)
> self.assertEquals(i, poolinfo['autostart'])
> inst.storagepool_update(name, ori_params)
> @@ -182,7 +183,8 @@ class ModelTests(unittest.TestCase):
> inst.storagepools_create(args)
> rollback.prependDefer(inst.storagepool_delete, pool)
>
> - self.assertRaises(InvalidOperation, inst.storagevolumes_get_list, pool)
> + self.assertRaises(InvalidOperation, inst.storagevolumes_get_list,
> + pool)
> poolinfo = inst.storagepool_lookup(pool)
> self.assertEquals(0, poolinfo['nr_volumes'])
> # Activate the pool before adding any volume
> @@ -235,7 +237,8 @@ class ModelTests(unittest.TestCase):
> rollback.prependDefer(inst.template_delete, 'test')
>
> params = {'storagepool': '/storagepools/test-pool'}
> - self.assertRaises(InvalidParameter, inst.template_update, 'test', params)
> + self.assertRaises(InvalidParameter, inst.template_update,
> + 'test', params)
>
> args = {'name': pool,
> 'path': path,
> @@ -258,7 +261,8 @@ class ModelTests(unittest.TestCase):
> self.assertTrue(os.access(disk_path, os.F_OK))
>
> def test_template_create(self):
> - inst = kimchi.model.Model('test:///default', objstore_loc=self.tmp_store)
> + inst = kimchi.model.Model('test:///default',
> + objstore_loc=self.tmp_store)
> # Test non-exist path raises InvalidParameter
> params = {'name': 'test',
> 'cdrom': '/non-exsitent.iso'}
> @@ -270,7 +274,8 @@ class ModelTests(unittest.TestCase):
>
> @unittest.skipUnless(utils.running_as_root(), 'Must be run as root')
> def test_template_update(self):
> - inst = kimchi.model.Model('qemu:///system', objstore_loc=self.tmp_store)
> + inst = kimchi.model.Model('qemu:///system',
> + objstore_loc=self.tmp_store)
>
> orig_params = {'name': 'test', 'memory': '1024', 'cpus': '1'}
> inst.templates_create(orig_params)
> @@ -291,7 +296,8 @@ class ModelTests(unittest.TestCase):
> self.assertEquals(params[key], info[key])
>
> def test_vm_edit(self):
> - inst = kimchi.model.Model('qemu:///system', objstore_loc=self.tmp_store)
> + inst = kimchi.model.Model('qemu:///system',
> + objstore_loc=self.tmp_store)
>
> orig_params = {'name': 'test', 'memory': '1024', 'cpus': '1'}
> inst.templates_create(orig_params)
> @@ -314,11 +320,13 @@ class ModelTests(unittest.TestCase):
> self.assertEquals('running', info['state'])
>
> params = {'name': 'new-vm'}
> - self.assertRaises(InvalidParameter, inst.vm_update, 'kimchi-vm1', params)
> + self.assertRaises(InvalidParameter, inst.vm_update,
> + 'kimchi-vm1', params)
>
> inst.vm_stop('kimchi-vm1')
> params = {'name': 'new-vm'}
> - self.assertRaises(OperationFailed, inst.vm_update, 'kimchi-vm1', {'name': 'kimchi-vm2'})
> + self.assertRaises(OperationFailed, inst.vm_update,
> + 'kimchi-vm1', {'name': 'kimchi-vm2'})
> inst.vm_update('kimchi-vm1', params)
> self.assertEquals(info['uuid'], inst.vm_lookup('new-vm')['uuid'])
> rollback.prependDefer(inst.vm_delete, 'new-vm')
> @@ -427,7 +435,8 @@ class ModelTests(unittest.TestCase):
> self.assertEquals(10, len(store._connections.keys()))
>
> def test_get_interfaces(self):
> - inst = kimchi.model.Model('test:///default', objstore_loc=self.tmp_store)
> + inst = kimchi.model.Model('test:///default',
> + objstore_loc=self.tmp_store)
> expected_ifaces = netinfo.all_favored_interfaces()
> ifaces = inst.interfaces_get_list()
> self.assertEquals(len(expected_ifaces), len(ifaces))
> @@ -456,7 +465,8 @@ class ModelTests(unittest.TestCase):
> except:
> cb("Exception raised", False)
>
> - inst = kimchi.model.Model('test:///default', objstore_loc=self.tmp_store)
> + inst = kimchi.model.Model('test:///default',
> + objstore_loc=self.tmp_store)
> taskid = inst.add_task('', quick_op, 'Hello')
> self._wait_task(inst, taskid)
> self.assertEquals(1, taskid)
> @@ -464,17 +474,19 @@ class ModelTests(unittest.TestCase):
> self.assertEquals('Hello', inst.task_lookup(taskid)['message'])
>
> taskid = inst.add_task('', long_op,
> - {'delay': 3, 'result': False,
> - 'message': 'It was not meant to be'})
> + {'delay': 3, 'result': False,
> + 'message': 'It was not meant to be'})
> self.assertEquals(2, taskid)
> self.assertEquals('running', inst.task_lookup(taskid)['status'])
> self.assertEquals('OK', inst.task_lookup(taskid)['message'])
> self._wait_task(inst, taskid)
> self.assertEquals('failed', inst.task_lookup(taskid)['status'])
> - self.assertEquals('It was not meant to be', inst.task_lookup(taskid)['message'])
> + self.assertEquals('It was not meant to be',
> + inst.task_lookup(taskid)['message'])
> taskid = inst.add_task('', abnormal_op, {})
> self._wait_task(inst, taskid)
> - self.assertEquals('Exception raised', inst.task_lookup(taskid)['message'])
> + self.assertEquals('Exception raised',
> + inst.task_lookup(taskid)['message'])
> self.assertEquals('failed', inst.task_lookup(taskid)['status'])
>
> @unittest.skipUnless(utils.running_as_root(), 'Must be run as root')
> @@ -516,18 +528,20 @@ class ModelTests(unittest.TestCase):
> self.assertEquals(vms, sorted(vms, key=unicode.lower))
>
> def test_use_test_host(self):
> - inst = kimchi.model.Model('test:///default', objstore_loc=self.tmp_store)
> + inst = kimchi.model.Model('test:///default',
> + objstore_loc=self.tmp_store)
>
> with RollbackContext() as rollback:
> params = {'name': 'test', 'disks': [],
> - 'storagepool': '/storagepools/default-pool',
> - 'domain': 'test',
> - 'arch': 'i686'}
> + 'storagepool': '/storagepools/default-pool',
> + 'domain': 'test',
> + 'arch': 'i686'}
>
> inst.templates_create(params)
> rollback.prependDefer(inst.template_delete, 'test')
>
> - params = {'name': 'kimchi-vm', 'template': '/templates/test',}
> + params = {'name': 'kimchi-vm',
> + 'template': '/templates/test'}
> inst.vms_create(params)
> rollback.prependDefer(inst.vm_delete, 'kimchi-vm')
>
> @@ -537,7 +551,8 @@ class ModelTests(unittest.TestCase):
>
> @unittest.skipUnless(utils.running_as_root(), 'Must be run as root')
> def test_debug_reports(self):
> - inst = kimchi.model.Model('test:///default', objstore_loc=self.tmp_store)
> + inst = kimchi.model.Model('test:///default',
> + objstore_loc=self.tmp_store)
> namePrefix = 'unitTestReport'
> # sosreport always deletes unsual letters like '-' and '_' in the
> # generated report file name.
> @@ -555,9 +570,11 @@ class ModelTests(unittest.TestCase):
> rollback.prependDefer(inst.debugreport_delete, reportName)
> taskid = task['id']
> self._wait_task(inst, taskid, 60)
> - self.assertEquals('finished', inst.task_lookup(taskid)['status'],
> - "It is not necessary an error. You may need to increase the "
> - "timeout number in _wait_task()")
> + self.assertEquals('finished',
> + inst.task_lookup(taskid)['status'],
> + "It is not necessary an error. "
> + "You may need to increase the "
> + "timeout number in _wait_task()")
> report_list = inst.debugreports_get_list()
> self.assertTrue(reportName in report_list)
> except OperationFailed, e:
> @@ -570,7 +587,8 @@ class ModelTests(unittest.TestCase):
> time.sleep(1)
>
> def test_get_distros(self):
> - inst = kimchi.model.Model('test:///default', objstore_loc=self.tmp_store)
> + inst = kimchi.model.Model('test:///default',
> + objstore_loc=self.tmp_store)
> distros = inst._get_distros()
> for distro in distros.values():
> self.assertIn('name', distro)
> @@ -580,7 +598,8 @@ class ModelTests(unittest.TestCase):
>
> @unittest.skipUnless(utils.running_as_root(), 'Must be run as root')
> def test_get_hostinfo(self):
> - inst = kimchi.model.Model('qemu:///system', objstore_loc=self.tmp_store)
> + inst = kimchi.model.Model('qemu:///system',
> + objstore_loc=self.tmp_store)
> info = inst.host_lookup()
> distro, version, codename = platform.linux_distribution()
> self.assertIn('cpu', info)
> @@ -617,15 +636,17 @@ class ModelTests(unittest.TestCase):
>
> @unittest.skipUnless(utils.running_as_root(), 'Must be run as root')
> def test_deep_scan(self):
> - inst = kimchi.model.Model('qemu:///system', objstore_loc=self.tmp_store)
> + inst = kimchi.model.Model('qemu:///system',
> + objstore_loc=self.tmp_store)
> with RollbackContext() as rollback:
> path = '/tmp/kimchi-images/tmpdir'
> if not os.path.exists(path):
> os.makedirs(path)
> - iso_gen.construct_fake_iso('/tmp/kimchi-images/tmpdir/ubuntu12.04.iso',
> - True, '12.04', 'ubuntu')
> + iso_gen.construct_fake_iso('/tmp/kimchi-images/tmpdir/'
> + 'ubuntu12.04.iso', True,
> + '12.04', 'ubuntu')
> iso_gen.construct_fake_iso('/tmp/kimchi-images/sles10.iso',
> - True, '10', 'sles')
> + True, '10', 'sles')
>
> args = {'name': 'kimchi-scanning-pool',
> 'path': '/tmp/kimchi-images',
> diff --git a/tests/test_rest.py b/tests/test_rest.py
> index 1b7312f..e626d2f 100644
> --- a/tests/test_rest.py
> +++ b/tests/test_rest.py
> @@ -18,7 +18,7 @@
> #
> # You should have received a copy of the GNU Lesser General Public
> # License along with this library; if not, write to the Free Software
> -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
>
> import base64
> import json
> @@ -32,7 +32,6 @@ from functools import partial
>
> import kimchi.mockmodel
> import kimchi.server
> -from kimchi.asynctask import AsyncTask
> from kimchi.rollbackcontext import RollbackContext
> from utils import fake_user, get_free_port, https_request, patch_auth, request
> from utils import run_server
> @@ -134,12 +133,12 @@ class RestTests(unittest.TestCase):
> resp = self.request("/", headers={'Accept': 'text/html'})
> self.assertTrue('<!doctype html>' in resp.read().lower())
>
> - resp = self.request("/",
> - headers={'Accept': 'application/json, text/html'})
> + resp = self.request("/", headers={'Accept':
> + 'application/json, text/html'})
> self.assertValidJSON(resp.read())
>
> - resp = self.request("/",
> - headers={'Accept': 'text/html, application/json'})
> + resp = self.request("/", headers={'Accept':
> + 'text/html, application/json'})
> self.assertValidJSON(resp.read())
>
> h = {'Accept': 'text/plain'}
> @@ -212,7 +211,7 @@ class RestTests(unittest.TestCase):
> # Create a Template
> req = json.dumps({'name': 'test', 'disks': [{'size': 1}],
> 'icon': 'images/icon-debian.png',
> - 'cdrom': '/nonexistent.iso'})
> + 'cdrom': '/nonexistent.iso'})
> resp = self.request('/templates', req, 'POST')
> self.assertEquals(201, resp.status)
>
> @@ -303,7 +302,7 @@ class RestTests(unittest.TestCase):
>
> def test_template_customise_storage(self):
> req = json.dumps({'name': 'test', 'cdrom': '/nonexistent.iso',
> - 'disks': [{'size': 1}]})
> + 'disks': [{'size': 1}]})
> resp = self.request('/templates', req, 'POST')
> self.assertEquals(201, resp.status)
>
> @@ -437,7 +436,8 @@ class RestTests(unittest.TestCase):
> self.assertEquals(201, resp.status)
>
> # Verify the storage pool
> - storagepool = json.loads(self.request('/storagepools/test-pool').read())
> + storagepool = json.loads(
> + self.request('/storagepools/test-pool').read())
> self.assertEquals('inactive', storagepool['state'])
> if storagepool['type'] == 'dir':
> self.assertEquals(True, storagepool['autostart'])
> @@ -446,12 +446,14 @@ class RestTests(unittest.TestCase):
>
> # activate the storage pool
> resp = self.request('/storagepools/test-pool/activate', '{}', 'POST')
> - storagepool = json.loads(self.request('/storagepools/test-pool').read())
> + storagepool = json.loads(
> + self.request('/storagepools/test-pool').read())
> self.assertEquals('active', storagepool['state'])
>
> # Deactivate the storage pool
> resp = self.request('/storagepools/test-pool/deactivate', '{}', 'POST')
> - storagepool = json.loads(self.request('/storagepools/test-pool').read())
> + storagepool = json.loads(
> + self.request('/storagepools/test-pool').read())
> self.assertEquals('inactive', storagepool['state'])
>
> # Set autostart flag of the storage pool
> @@ -460,7 +462,7 @@ class RestTests(unittest.TestCase):
> req = json.dumps(t)
> resp = self.request('/storagepools/test-pool', req, 'PUT')
> storagepool = json.loads(
> - self.request('/storagepools/test-pool').read())
> + self.request('/storagepools/test-pool').read())
> self.assertEquals(autostart, storagepool['autostart'])
>
> # Delete the storage pool
> @@ -477,7 +479,8 @@ class RestTests(unittest.TestCase):
>
> resp = self.request('/storagepools/pool-1/activate', '{}', 'POST')
> self.assertEquals(200, resp.status)
> - nr_vols = json.loads(self.request('/storagepools/pool-1').read())['nr_volumes']
> + nr_vols = json.loads(
> + self.request('/storagepools/pool-1').read())['nr_volumes']
> self.assertEquals(0, nr_vols)
>
> # Now add a couple of storage volumes to the mock model
> @@ -489,10 +492,11 @@ class RestTests(unittest.TestCase):
> 'type': 'disk',
> 'format': 'raw'})
> resp = self.request('/storagepools/pool-1/storagevolumes',
> - req, 'POST')
> + req, 'POST')
> self.assertEquals(201, resp.status)
>
> - nr_vols = json.loads(self.request('/storagepools/pool-1').read())['nr_volumes']
> + nr_vols = json.loads(
> + self.request('/storagepools/pool-1').read())['nr_volumes']
> self.assertEquals(5, nr_vols)
> resp = self.request('/storagepools/pool-1/storagevolumes')
> storagevolumes = json.loads(resp.read())
> @@ -502,7 +506,8 @@ class RestTests(unittest.TestCase):
> storagevolume = json.loads(resp.read())
> self.assertEquals('volume-1', storagevolume['name'])
> self.assertEquals('raw', storagevolume['format'])
> - self.assertEquals('/var/lib/libvirt/images/volume-1', storagevolume['path'])
> + self.assertEquals('/var/lib/libvirt/images/volume-1',
> + storagevolume['path'])
>
> # Now remove the StoragePool from mock model
> self._delete_pool('pool-1')
> @@ -516,11 +521,13 @@ class RestTests(unittest.TestCase):
> 'allocation': 512,
> 'type': 'disk',
> 'format': 'raw'})
> - resp = self.request('/storagepools/pool-2/storagevolumes/', req, 'POST')
> + resp = self.request('/storagepools/pool-2/storagevolumes/',
> + req, 'POST')
> self.assertEquals(400, resp.status)
> resp = self.request('/storagepools/pool-2/activate', '{}', 'POST')
> self.assertEquals(200, resp.status)
> - resp = self.request('/storagepools/pool-2/storagevolumes/', req, 'POST')
> + resp = self.request('/storagepools/pool-2/storagevolumes/',
> + req, 'POST')
> self.assertEquals(201, resp.status)
>
> # Verify the storage volume
> @@ -545,7 +552,7 @@ class RestTests(unittest.TestCase):
>
> # Delete the storage volume
> resp = self.request('/storagepools/pool-2/storagevolumes/test-volume',
> - '{}', 'DELETE')
> + '{}', 'DELETE')
> self.assertEquals(204, resp.status)
>
> # Now remove the StoragePool from mock model
> @@ -561,7 +568,8 @@ class RestTests(unittest.TestCase):
> self.assertEquals(201, resp.status)
>
> # Verify the storage pool
> - storagepool = json.loads(self.request('/storagepools/%s' % name).read())
> + storagepool = json.loads(self.request('/storagepools/%s'
> + % name).read())
> self.assertEquals('inactive', storagepool['state'])
> return name
>
> @@ -572,8 +580,8 @@ class RestTests(unittest.TestCase):
>
> def test_templates(self):
> def verify_template(t, res):
> - for field in ('name', 'os_distro',
> - 'os_version', 'memory', 'cpus', 'storagepool'):
> + for field in ('name', 'os_distro', 'os_version',
> + 'memory', 'cpus', 'storagepool'):
> self.assertEquals(t[field], res[field])
>
> resp = self.request('/templates')
> @@ -700,15 +708,17 @@ class RestTests(unittest.TestCase):
> '/storagepools/kimchi_isos/storagevolumes/').read())[0]
> self.assertEquals('pool-3-fedora.iso', storagevolume['name'])
> self.assertEquals('iso', storagevolume['format'])
> - self.assertEquals('/var/lib/libvirt/images/fedora.iso',storagevolume['path'])
> + self.assertEquals('/var/lib/libvirt/images/fedora.iso',
> + storagevolume['path'])
> self.assertEquals(1024 << 20, storagevolume['capacity'])
> self.assertEquals(1024 << 20, storagevolume['allocation'])
> self.assertEquals('17', storagevolume['os_version'])
> - self.assertEquals('fedora',storagevolume['os_distro'])
> - self.assertEquals(True,storagevolume['bootable'])
> + self.assertEquals('fedora', storagevolume['os_distro'])
> + self.assertEquals(True, storagevolume['bootable'])
>
> # Create a template
> - # In real model os distro/version can be omitted as we will scan the iso
> + # In real model os distro/version can be omitted
> + # as we will scan the iso
> req = json.dumps({'name': 'test',
> 'cdrom': storagevolume['path'],
> 'os_distro': storagevolume['os_distro'],
> @@ -724,8 +734,8 @@ class RestTests(unittest.TestCase):
> self.assertEquals(1024, t['memory'])
>
> # Deactivate or destroy scan pool return 405
> - resp = self.request('/storagepools/kimchi_isos/storagevolumes/deactivate',
> - '{}', 'POST')
> + resp = self.request('/storagepools/kimchi_isos/storagevolumes'
> + '/deactivate', '{}', 'POST')
> self.assertEquals(405, resp.status)
>
> resp = self.request('/storagepools/kimchi_isos/storagevolumes',
> @@ -762,13 +772,11 @@ class RestTests(unittest.TestCase):
> self.assertEquals('image/png', resp.getheader('content-type'))
> lastMod1 = resp.getheader('last-modified')
>
> -
> # Take another screenshot instantly and compare the last Modified date
> resp = self.request('/vms/test-vm/screenshot')
> lastMod2 = resp.getheader('last-modified')
> self.assertEquals(lastMod2, lastMod1)
>
> -
> resp = self.request('/vms/test-vm/screenshot', '{}', 'DELETE')
> self.assertEquals(405, resp.status)
>
> @@ -998,7 +1006,7 @@ class RestTests(unittest.TestCase):
> self.assertEquals(200, resp.status)
>
> def _report_delete(self, name):
> - resp = request(host, port, '/debugreports/%s' % name, '{}', 'DELETE')
> + request(host, port, '/debugreports/%s' % name, '{}', 'DELETE')
>
> def test_create_debugreport(self):
> req = json.dumps({'name': 'report1'})
> diff --git a/tests/utils.py b/tests/utils.py
> index 960e0be..008f668 100644
> --- a/tests/utils.py
> +++ b/tests/utils.py
> @@ -18,7 +18,7 @@
> #
> # You should have received a copy of the GNU Lesser General Public
> # License along with this library; if not, write to the Free Software
> -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> #
>
> import base64
> @@ -28,7 +28,6 @@ import os
> import socket
> import sys
> import threading
> -import time
> import unittest
>
>
> @@ -60,7 +59,8 @@ if sys.version_info[:2] == (2, 6):
>
> def assertGreaterEqual(self, a, b, msg=None):
> if not a >= b:
> - self.fail('%s not greater than or equal to %s' % (repr(a), repr(b)))
> + self.fail('%s not greater than or equal to %s'
> + % (repr(a), repr(b)))
>
> def assertIsInstance(self, obj, cls, msg=None):
> if not isinstance(obj, cls):
> @@ -80,6 +80,7 @@ if sys.version_info[:2] == (2, 6):
> unittest.TestCase.assertIn = assertIn
> unittest.TestCase.assertNotIn = assertNotIn
>
> +
> def get_free_port(name='http'):
> global _ports
> if _ports.get(name) is not None:
> @@ -93,7 +94,9 @@ def get_free_port(name='http'):
> _ports[name] = sock.getsockname()[1]
> return _ports[name]
>
> -def run_server(host, port, ssl_port, test_mode, model=None, environment='development'):
> +
> +def run_server(host, port, ssl_port, test_mode,
> + model=None, environment='development'):
> args = type('_', (object,),
> {'host': host, 'port': port, 'ssl_port': ssl_port,
> 'ssl_cert': '', 'ssl_key': '',
> @@ -109,12 +112,14 @@ def run_server(host, port, ssl_port, test_mode, model=None, environment='develop
> cherrypy.engine.wait(cherrypy.engine.states.STARTED)
> return s
>
> +
> def silence_server():
> """
> Silence server status messages on stdout
> """
> cherrypy.config.update({"environment": "embedded"})
>
> +
> def running_as_root():
> return os.geteuid() == 0
>
> @@ -130,6 +135,7 @@ def _request(conn, path, data, method, headers):
> conn.request(method, path, data, headers)
> return conn.getresponse()
>
> +
> def request(host, port, path, data=None, method='GET', headers=None):
> conn = httplib.HTTPConnection(host, port)
> return _request(conn, path, data, method, headers)
More information about the Kimchi-devel
mailing list