[Kimchi-devel] [PATCH] Organize python imports
Rodrigo Trujillo
rodrigo.trujillo at linux.vnet.ibm.com
Fri Dec 20 20:42:06 UTC 2013
On 12/20/2013 12:28 PM, Aline Manera wrote:
> On 12/19/2013 03:44 PM, Rodrigo Trujillo wrote:
>> Follow this rule:
>> 1) Import common modules
>> import ...
>> import ...
>> from ... import ...
>> from ... import ...
>>
>> 2) Import kimchi modules
>> import kimchi.<mod>
>> import kimchi.<mod>
>> from kimchi import ...
>> from kimchi import ...
>>
>> Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo at linux.vnet.ibm.com>
>> ---
>> plugins/sample/__init__.py | 8 ++++++--
>> plugins/sample/model.py | 2 +-
>> src/kimchi/model.py | 4 ++--
>> src/kimchi/server.py | 2 +-
>> src/kimchi/sslcert.py | 2 +-
>> src/kimchi/websocket.py | 17 ++++++++++++++---
>> src/kimchi/websockify.py | 15 +++++++++++++--
>> tests/test_exception.py | 6 ++++--
>> tests/test_mockmodel.py | 5 +++--
>> tests/test_model.py | 18 ++++++++++--------
>> tests/test_networkxml.py | 4 +++-
>> tests/test_osinfo.py | 3 +++
>> tests/test_plugin.py | 4 +++-
>> tests/test_rest.py | 10 +++++++---
>> tests/test_server.py | 4 ++--
>> tests/test_vmtemplate.py | 2 ++
>> tests/utils.py | 15 +++++++++------
>> 17 files changed, 84 insertions(+), 37 deletions(-)
>>
>> diff --git a/plugins/sample/__init__.py b/plugins/sample/__init__.py
>> index a20f5e6..7064904 100644
>> --- a/plugins/sample/__init__.py
>> +++ b/plugins/sample/__init__.py
>> @@ -22,12 +22,16 @@
>>
>> import json
>> import os
>> +
>> +
>> from cherrypy import expose
>> -from kimchi.controller import Resource, Collection
>> +
>> +
>> +from kimchi.controller import Collection, Resource
>> from model import Model
>>
>> -model = Model()
>>
>> +model = Model()
>>
>> class Drawings(Resource):
>> def __init__(self):
>> diff --git a/plugins/sample/model.py b/plugins/sample/model.py
>> index f6da5d0..9a2f22f 100644
>> --- a/plugins/sample/model.py
>> +++ b/plugins/sample/model.py
>> @@ -20,7 +20,7 @@
>> # License along with this library; if not, write to the Free Software
>> # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
>> 02110-1301 USA
>>
>> -from kimchi.exception import NotFoundError, InvalidOperation
>> +from kimchi.exception import InvalidOperation, NotFoundError
>>
>>
>> class Model(object):
>> diff --git a/src/kimchi/model.py b/src/kimchi/model.py
>> index 73c18ac..1e4dac2 100644
>> --- a/src/kimchi/model.py
>> +++ b/src/kimchi/model.py
>> @@ -42,9 +42,9 @@ import time
>> import uuid
>>
>>
>> -from collections import defaultdict
>> from cherrypy.process.plugins import BackgroundTask
>> from cherrypy.process.plugins import SimplePlugin
>> +from collections import defaultdict
>> from xml.etree import ElementTree
>>
>>
>> @@ -69,7 +69,7 @@ from kimchi.networkxml import to_network_xml
>> from kimchi.objectstore import ObjectStore
>> from kimchi.scan import Scanner
>> from kimchi.screenshot import VMScreenshot
>> -from kimchi.utils import kimchi_log, is_digit, get_enabled_plugins
>> +from kimchi.utils import get_enabled_plugins, is_digit, kimchi_log
>> from kimchi.vmtemplate import VMTemplate
>>
>>
>> diff --git a/src/kimchi/server.py b/src/kimchi/server.py
>> index 6ff6fa0..114a3a0 100644
>> --- a/src/kimchi/server.py
>> +++ b/src/kimchi/server.py
>> @@ -33,7 +33,7 @@ from kimchi import config
>> from kimchi import model
>> from kimchi import mockmodel
>> from kimchi.root import Root
>> -from kimchi.utils import import_class, get_enabled_plugins
>> +from kimchi.utils import get_enabled_plugins, import_class
>>
>>
>> LOGGING_LEVEL = {"debug": logging.DEBUG,
>> diff --git a/src/kimchi/sslcert.py b/src/kimchi/sslcert.py
>> index 70441f2..529699d 100644
>> --- a/src/kimchi/sslcert.py
>> +++ b/src/kimchi/sslcert.py
>> @@ -28,7 +28,7 @@
>> import time
>>
>>
>> -from M2Crypto import X509, EVP, RSA, ASN1
>> +from M2Crypto import ASN1, EVP, RSA, X509
>>
>
>> class SSLCert(object):
>> diff --git a/src/kimchi/websocket.py b/src/kimchi/websocket.py
>> index a98fc6d..945676d 100644
>> --- a/src/kimchi/websocket.py
>> +++ b/src/kimchi/websocket.py
>
> This file (src/kimchi/websocket.py) was imported into kimchi. You
> should keep it as it is.
OK
>
>> @@ -16,9 +16,20 @@ as taken from
>> http://docs.python.org/dev/library/ssl.html#certificates
>>
>> '''
>>
>> -import os, sys, time, errno, signal, socket, traceback, select
>> -import array, struct
>> -from base64 import b64encode, b64decode
>> +import array
>> +import errno
>> +import os
>> +import select
>> +import signal
>> +import socket
>> +import struct
>> +import sys
>> +import time
>> +import traceback
>> +
>> +
>> +from base64 import b64decode, b64encode
>> +
>>
>> # Imports that vary by python version
>
>> diff --git a/src/kimchi/websockify.py b/src/kimchi/websockify.py
>> index 1154d92..2857e7c 100755
>> --- a/src/kimchi/websockify.py
>> +++ b/src/kimchi/websockify.py
>> @@ -11,15 +11,26 @@ as taken from
>> http://docs.python.org/dev/library/ssl.html#certificates
>>
>> '''
>
> Same here.
>
> src/kimchi/websockify.py was imported too. Keep it as it is.
OK
>
>> -import signal, socket, optparse, time, os, sys, subprocess
>> +import optparse
>> +import os
>> +import signal
>> +import socket
>> +import subprocess
>> +import sys
>> +import time
>> +
>> +
>> from select import select
>> -import websocket
>> try:
>> from urllib.parse import parse_qs, urlparse
>> except:
>> from cgi import parse_qs
>> from urlparse import urlparse
>>
>> +
>> +import websocket
>> +
>> +
>> class WebSocketProxy(websocket.WebSocketServer):
>> """
>> Proxy traffic to and from a WebSockets client to a normal TCP
>> diff --git a/tests/test_exception.py b/tests/test_exception.py
>> index 9b5355a..cb60995 100644
>> --- a/tests/test_exception.py
>> +++ b/tests/test_exception.py
>> @@ -20,14 +20,16 @@
>> # License along with this library; if not, write to the Free Software
>> # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
>> 02110-1301 USA
>>
>> -import unittest
>> -import os
>> import json
>> +import os
>> +import unittest
>> +
>>
>> import kimchi.mockmodel
>> import kimchi.server
>> from utils import *
>
> Replace * to the methods used.
OK
>
>>
>> +
>> test_server = None
>> model = None
>> host = None
>> diff --git a/tests/test_mockmodel.py b/tests/test_mockmodel.py
>> index b819172..0830a24 100644
>> --- a/tests/test_mockmodel.py
>> +++ b/tests/test_mockmodel.py
>> @@ -20,16 +20,17 @@
>> # License along with this library; if not, write to the Free Software
>> # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
>> 02110-1301 USA
>>
>> -import unittest
>> import cherrypy
>> import json
>> import os
>> +import unittest
>> +
>>
>> import kimchi.mockmodel
>> import kimchi.controller
>> -
>> from utils import *
>
> Same here
OK
>
>> +
>> #utils.silence_server()
>> test_server = None
>> model = None
>> diff --git a/tests/test_model.py b/tests/test_model.py
>> index fb7d6dd..07b68b1 100644
>> --- a/tests/test_model.py
>> +++ b/tests/test_model.py
>> @@ -21,21 +21,23 @@
>> # License along with this library; if not, write to the Free Software
>> # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
>> 02110-1301 USA
>>
>> -import unittest
>> -import threading
>> import os
>> -import time
>> -import tempfile
>> -import psutil
>> import platform
>> +import psutil
>> +import tempfile
>> +import threading
>> +import time
>> +import unittest
>> import uuid
>
>> +
>> +import iso_gen
>> import kimchi.model
>> import kimchi.objectstore
>> -from kimchi.exception import *
>> -from kimchi import netinfo
>> import utils
>> -import iso_gen
>> +from kimchi import netinfo
>> +from kimchi.exception import *
>
> And here.
OK
>
>> +
>>
>> class ModelTests(unittest.TestCase):
>> def setUp(self):
>> diff --git a/tests/test_networkxml.py b/tests/test_networkxml.py
>> index 4eeeaa2..3073bce 100644
>> --- a/tests/test_networkxml.py
>> +++ b/tests/test_networkxml.py
>> @@ -20,10 +20,12 @@
>> # License along with this library; if not, write to the Free Software
>> # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
>> 02110-1301 USA
>>
>> +import ipaddr
>> import unittest
>> +
>> +
>> import kimchi.networkxml as nxml
>> from kimchi.xmlutils import xpath_get_text
>> -import ipaddr
>>
>>
>> class NetworkXmlTests(unittest.TestCase):
>> diff --git a/tests/test_osinfo.py b/tests/test_osinfo.py
>> index f92567d..1dcfdaf 100644
>> --- a/tests/test_osinfo.py
>> +++ b/tests/test_osinfo.py
>> @@ -21,8 +21,11 @@
>> # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
>> 02110-1301 USA
>>
>> import unittest
>> +
>> +
>> from kimchi.osinfo import *
>
> Here too.
>
OK
>> +
>> class OSInfoTests(unittest.TestCase):
>> def test_default_lookup(self):
>> name, entry = lookup(None, None)
>> diff --git a/tests/test_plugin.py b/tests/test_plugin.py
>> index 20cc598..f12b11f 100644
>> --- a/tests/test_plugin.py
>> +++ b/tests/test_plugin.py
>> @@ -20,17 +20,19 @@
>> # License along with this library; if not, write to the Free Software
>> # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
>> 02110-1301 USA
>>
>> -import unittest
>> import json
>> import os
>> import sys
>> +import unittest
>
> 2 lines here.
OK
>
>> from functools import partial
>>
>> +
>> import kimchi.mockmodel
>> import kimchi.server
>> import utils
>> from kimchi import config
>>
>> +
>> test_server = None
>> model = None
>> host = None
>> diff --git a/tests/test_rest.py b/tests/test_rest.py
>> index 73b5243..61369c3 100644
>> --- a/tests/test_rest.py
>> +++ b/tests/test_rest.py
>> @@ -20,16 +20,20 @@
>> # License along with this library; if not, write to the Free Software
>> # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
>> 02110-1301 USA
>>
>> -import unittest
>> import json
>> -import time
>> import os
>> +import time
>> +import unittest
>> +
>> +
>> from functools import partial
>>
>> +
>> import kimchi.mockmodel
>> import kimchi.server
>> -from utils import *
>> from kimchi.asynctask import AsyncTask
>> +from utils import *
>> +
>
> Replace * to methods used
OK
>
>> test_server = None
>> model = None
>> diff --git a/tests/test_server.py b/tests/test_server.py
>> index 9bb0034..734a618 100644
>> --- a/tests/test_server.py
>> +++ b/tests/test_server.py
>> @@ -20,12 +20,12 @@
>> # License along with this library; if not, write to the Free Software
>> # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
>> 02110-1301 USA
>>
>> -import unittest
>> import json
>> import os
>> +import unittest
>>
>> -import utils
>>
>> +import utils
>> import kimchi.mockmodel
>>
>> #utils.silence_server()
>> diff --git a/tests/test_vmtemplate.py b/tests/test_vmtemplate.py
>> index 81382c7..92c7385 100644
>> --- a/tests/test_vmtemplate.py
>> +++ b/tests/test_vmtemplate.py
>> @@ -23,9 +23,11 @@
>> import unittest
>> import uuid
>>
>> +
>> from kimchi.vmtemplate import *
>
> Here too
OK
>
>> from kimchi.xmlutils import xpath_get_text
>>
>> +
>> class VMTemplateTests(unittest.TestCase):
>> def test_minimal_construct(self):
>> fields = (('name', 'test'), ('os_distro', 'unknown'),
>> diff --git a/tests/utils.py b/tests/utils.py
>> index c114813..a7596e8 100644
>> --- a/tests/utils.py
>> +++ b/tests/utils.py
>> @@ -21,16 +21,19 @@
>> # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
>> 02110-1301 USA
>> #
>>
>> -import httplib
>> +import base64
>> import cherrypy
>> -import threading
>> -import time
>> +import httplib
>> import os
>> -import sys
>> import socket
>> -from contextlib import closing
>> +import sys
>> +import threading
>> +import time
>> import unittest
>> -import base64
>> +
>> +
>> +from contextlib import closing
>> +
>>
>> import kimchi.server
>> import kimchi.model
>
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>
More information about the Kimchi-devel
mailing list