[Pymoul-svn] SF.net SVN: pymoul: [122] pymoul/trunk
Status: Alpha
Brought to you by:
tiran
|
From: <ti...@us...> - 2007-02-02 17:34:18
|
Revision: 122
http://pymoul.svn.sourceforge.net/pymoul/?rev=122&view=rev
Author: tiran
Date: 2007-02-02 09:34:06 -0800 (Fri, 02 Feb 2007)
Log Message:
-----------
Added importorder.py from Zope3
Rearranged import order
Modified Paths:
--------------
pymoul/trunk/src/moul/__init__.py
pymoul/trunk/src/moul/cli/moullauncher.py
pymoul/trunk/src/moul/config/__init__.py
pymoul/trunk/src/moul/config/tests/test_config.py
pymoul/trunk/src/moul/crypt/elf.py
pymoul/trunk/src/moul/crypt/tests/test_elf.py
pymoul/trunk/src/moul/crypt/tests/test_wdys.py
pymoul/trunk/src/moul/crypt/whatdoyousee.py
pymoul/trunk/src/moul/file/chatlog.py
pymoul/trunk/src/moul/file/directory.py
pymoul/trunk/src/moul/file/kiimage.py
pymoul/trunk/src/moul/file/localization.py
pymoul/trunk/src/moul/file/plasmalog.py
pymoul/trunk/src/moul/file/tests/test_chatlog.py
pymoul/trunk/src/moul/file/tests/test_directory.py
pymoul/trunk/src/moul/file/tests/test_kiimage.py
pymoul/trunk/src/moul/file/tests/test_localization.py
pymoul/trunk/src/moul/file/tests/test_plasmalog.py
pymoul/trunk/src/moul/file/tests/test_wdysini.py
pymoul/trunk/src/moul/file/tests/utils.py
pymoul/trunk/src/moul/file/wdysini.py
pymoul/trunk/src/moul/i18n.py
pymoul/trunk/src/moul/log.py
pymoul/trunk/src/moul/osdependent/__init__.py
pymoul/trunk/src/moul/osdependent/darwin/__init__.py
pymoul/trunk/src/moul/osdependent/linux/__init__.py
pymoul/trunk/src/moul/osdependent/processinfo.py
pymoul/trunk/src/moul/osdependent/singleapp.py
pymoul/trunk/src/moul/osdependent/tests/test_osdependent.py
pymoul/trunk/src/moul/osdependent/tests/test_processinfo.py
pymoul/trunk/src/moul/osdependent/tests/test_singleapp.py
pymoul/trunk/src/moul/osdependent/win32/__init__.py
pymoul/trunk/src/moul/osdependent/win32/registry.py
pymoul/trunk/src/moul/osdependent/win32/winpath.py
pymoul/trunk/src/moul/qt/__init__.py
pymoul/trunk/src/moul/qt/errorhandler.py
pymoul/trunk/src/moul/qt/localization.py
pymoul/trunk/src/moul/qt/mainwindow.py
pymoul/trunk/src/moul/qt/moulqt.py
pymoul/trunk/src/moul/qt/simpleprogressbar.py
pymoul/trunk/src/moul/qt/threadlet.py
pymoul/trunk/src/moul/qt/ui/mainwindow.py
pymoul/trunk/src/moul/qt/ui/moulqt_rc.py
pymoul/trunk/src/moul/qt/ui/simpleprogressbar.py
pymoul/trunk/src/moul/server/ping.py
pymoul/trunk/src/moul/server/tests/test_ping.py
pymoul/trunk/src/moul/server/tests/test_serverlist.py
pymoul/trunk/src/moul/tests/test_i18n.py
pymoul/trunk/src/moul/time/cavern.py
pymoul/trunk/src/moul/time/dni.py
pymoul/trunk/src/moul/time/tests/test_cavern.py
pymoul/trunk/src/moul/time/tests/test_dni.py
Added Paths:
-----------
pymoul/trunk/utilities/importorder.py
Modified: pymoul/trunk/src/moul/__init__.py
===================================================================
--- pymoul/trunk/src/moul/__init__.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/__init__.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -3,6 +3,8 @@
try:
__import__('pkg_resources').declare_namespace(__name__)
except ImportError:
- from pkgutil import extend_path
+ from pkgutil import extend_p
+
+ath
__path__ = extend_path(__path__, __name__)
Modified: pymoul/trunk/src/moul/cli/moullauncher.py
===================================================================
--- pymoul/trunk/src/moul/cli/moullauncher.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/cli/moullauncher.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -27,11 +27,12 @@
from optparse import OptionParser
from optparse import OptionValueError
-from moul.file import plasmalog
-from moul.file import chatlog
from moul import config
from moul import metadata
+from moul.file import chatlog
+from moul.file import plasmalog
+
class MoulLauncher(object):
_parser = None
_options = None
Modified: pymoul/trunk/src/moul/config/__init__.py
===================================================================
--- pymoul/trunk/src/moul/config/__init__.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/config/__init__.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -46,6 +46,7 @@
from moul.osdependent import getMoulUserDataDir
from moul.osdependent import getPyMoulDataDir
+
_marker=object()
# configuration
Modified: pymoul/trunk/src/moul/config/tests/test_config.py
===================================================================
--- pymoul/trunk/src/moul/config/tests/test_config.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/config/tests/test_config.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -26,6 +26,7 @@
import moul.config
+
def test_suite():
return unittest.TestSuite((
DocTestSuite('moul.config')
Modified: pymoul/trunk/src/moul/crypt/elf.py
===================================================================
--- pymoul/trunk/src/moul/crypt/elf.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/crypt/elf.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -25,6 +25,7 @@
import struct
+
def list2int(lst):
return [ord(s) for s in lst]
Modified: pymoul/trunk/src/moul/crypt/tests/test_elf.py
===================================================================
--- pymoul/trunk/src/moul/crypt/tests/test_elf.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/crypt/tests/test_elf.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -28,6 +28,7 @@
import moul.file
from moul.crypt.elf import decryptElf
+
base = os.path.dirname(moul.file.__file__)
elf_enc = os.path.join(base, 'tests', 'audiocaps.0.elf')
elf_dec = os.path.join(base, 'tests', 'audiocaps.0.txt')
Modified: pymoul/trunk/src/moul/crypt/tests/test_wdys.py
===================================================================
--- pymoul/trunk/src/moul/crypt/tests/test_wdys.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/crypt/tests/test_wdys.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -29,6 +29,7 @@
from moul.crypt.whatdoyousee import decryptWDYS
from moul.crypt.whatdoyousee import encryptWDYS
+
base = os.path.join(os.path.dirname(moul.file.__file__), 'tests')
gra_enc = os.path.join(base, 'graphics.ini')
gra_dec = os.path.join(base, 'graphics.txt')
Modified: pymoul/trunk/src/moul/crypt/whatdoyousee.py
===================================================================
--- pymoul/trunk/src/moul/crypt/whatdoyousee.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/crypt/whatdoyousee.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -34,6 +34,7 @@
from moul.crypt.xtea import xtea_encrypt
from moul.log import getLogger
+
HEADER = "whatdoyousee"
CROSS_REF = (0x6c0a5452, 0x03827d0f, 0x3a170b92, 0x16db7fc2)
CROSS_KEY = struct.pack("<4L", *CROSS_REF)
Modified: pymoul/trunk/src/moul/file/chatlog.py
===================================================================
--- pymoul/trunk/src/moul/file/chatlog.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/file/chatlog.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -35,12 +35,13 @@
import os
import re
from fnmatch import fnmatch
+from shutil import move
from stat import ST_MTIME
-from shutil import move
from time import localtime
from moul.log import getLogger
+
RE_FLAGS = re.LOCALE
CHAT_RE = re.compile(
r"^\((?P<M>\d{1,2})/(?P<D>\d{1,2})\ " # MM/DD
Modified: pymoul/trunk/src/moul/file/directory.py
===================================================================
--- pymoul/trunk/src/moul/file/directory.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/file/directory.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -23,15 +23,16 @@
import os
-from moul.log import getLogger
+from moul.file.chatlog import ChatlogDirectoryView
from moul.file.chatlog import ChatlogMover
-from moul.file.chatlog import ChatlogDirectoryView
+from moul.file.kiimage import KIImageFixer
+from moul.file.localization import parseLocDirectory
from moul.file.plasmalog import PlasmalogZipper
-from moul.file.kiimage import KIImageFixer
+from moul.file.wdysini import AudioIni
from moul.file.wdysini import GraphicsIni
-from moul.file.wdysini import AudioIni
-from moul.file.localization import parseLocDirectory
+from moul.log import getLogger
+
LOG = getLogger('moul.file.directory')
class DirectoryCount(object):
Modified: pymoul/trunk/src/moul/file/kiimage.py
===================================================================
--- pymoul/trunk/src/moul/file/kiimage.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/file/kiimage.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -22,14 +22,15 @@
__revision__ = "$Revision$"
import os
+import struct
import tempfile
-import struct
+from fnmatch import fnmatch
+from stat import ST_MTIME
from stat import ST_SIZE
-from stat import ST_MTIME
-from fnmatch import fnmatch
from moul.log import getLogger
+
JPEG_HEADER = "\377\330\377"
LOG = getLogger("moul.kiimage")
Modified: pymoul/trunk/src/moul/file/localization.py
===================================================================
--- pymoul/trunk/src/moul/file/localization.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/file/localization.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -17,8 +17,15 @@
#
"""LOC file parser
"""
+import glob
+import os
from __future__ import with_statement
+from xml.sax import ContentHandler
+from xml.sax import make_parser
+from xml.sax.handler import feature_namespaces
+from moul.log import getLogger
+
__author__ = "Christian Heimes"
__version__ = "$Id$"
__revision__ = "$Revision$"
@@ -26,14 +33,6 @@
__all__ = ('translationRegistry', 'parseLocDirectory')
-import os
-import glob
-
-from xml.sax import ContentHandler
-from xml.sax import make_parser
-from xml.sax.handler import feature_namespaces
-
-from moul.log import getLogger
LOG = getLogger('moul loc')
IGNORE_AGES = [u'OptionsMenu', u'ACA', u'Global', u'KI', u'Heek']
Modified: pymoul/trunk/src/moul/file/plasmalog.py
===================================================================
--- pymoul/trunk/src/moul/file/plasmalog.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/file/plasmalog.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -22,14 +22,15 @@
__revision__ = "$Revision$"
import os
-from stat import ST_MTIME
import time
import zipfile
from fnmatch import fnmatch
+from stat import ST_MTIME
from moul.crypt.elf import decryptElf
from moul.log import getLogger
+
PLASMA_LOG = "plasmalog.txt"
LOG = getLogger('moul.plasma')
Modified: pymoul/trunk/src/moul/file/tests/test_chatlog.py
===================================================================
--- pymoul/trunk/src/moul/file/tests/test_chatlog.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/file/tests/test_chatlog.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -26,6 +26,7 @@
import moul.file.chatlog
+
def test_suite():
return unittest.TestSuite((
DocTestSuite('moul.file.chatlog')
Modified: pymoul/trunk/src/moul/file/tests/test_directory.py
===================================================================
--- pymoul/trunk/src/moul/file/tests/test_directory.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/file/tests/test_directory.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -27,13 +27,13 @@
from moul.file.directory import UruGameDataDirectory
from moul.file.directory import UruPersonalDataDirectory
-
+from moul.file.tests.utils import base
+from moul.file.tests.utils import fakeUruGameDir
from moul.file.tests.utils import fakeUruPersonalDataDir
-from moul.file.tests.utils import fakeUruGameDir
from moul.file.tests.utils import mkTempdir
from moul.file.tests.utils import rmTempdir
-from moul.file.tests.utils import base
+
class AbstractTest(unittest.TestCase):
klass = None
Modified: pymoul/trunk/src/moul/file/tests/test_kiimage.py
===================================================================
--- pymoul/trunk/src/moul/file/tests/test_kiimage.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/file/tests/test_kiimage.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -22,14 +22,15 @@
__revision__ = "$Revision$"
import os
+import unittest
from StringIO import StringIO
-import unittest
from doctest import DocTestSuite
+from moul.file.kiimage import JPEG_HEADER
from moul.file.kiimage import KIImage
from moul.file.kiimage import KIImageError
-from moul.file.kiimage import JPEG_HEADER
+
base = os.path.dirname(__file__)
kiimg = os.path.join(base, 'avatar.jpg')
kiclean = os.path.join(base, 'avatar_clean.jpg')
Modified: pymoul/trunk/src/moul/file/tests/test_localization.py
===================================================================
--- pymoul/trunk/src/moul/file/tests/test_localization.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/file/tests/test_localization.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -25,10 +25,11 @@
import unittest
from doctest import DocTestSuite
+from moul.file.localization import parseLoc
from moul.file.localization import parseLocDirectory
-from moul.file.localization import parseLoc
from moul.file.localization import translationRegistry
+
base = os.path.dirname(__file__)
class LocalizationTest(unittest.TestCase):
Modified: pymoul/trunk/src/moul/file/tests/test_plasmalog.py
===================================================================
--- pymoul/trunk/src/moul/file/tests/test_plasmalog.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/file/tests/test_plasmalog.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -21,26 +21,25 @@
__version__ = "$Id$"
__revision__ = "$Revision$"
-import unittest
-from doctest import DocTestSuite
-
import os
import shutil
+import unittest
+from doctest import DocTestSuite
from tempfile import mkdtemp
-from moul.file.plasmalog import PlasmalogZipper
-from moul.file.chatlog import ChatlogMover
from moul.file.chatlog import ChatlogDirectoryView
+from moul.file.chatlog import ChatlogMover
from moul.file.chatlog import ChatlogView
-from moul.file.kiimage import KIImageFixer
from moul.file.kiimage import KIImage
-
-from moul.file.tests.utils import fakeUruPersonalDataDir
+from moul.file.kiimage import KIImageFixer
+from moul.file.plasmalog import PlasmalogZipper
+from moul.file.tests.utils import base
from moul.file.tests.utils import fakeUruGameDir
+from moul.file.tests.utils import fakeUruPersonalDataDir
from moul.file.tests.utils import mkTempdir
from moul.file.tests.utils import rmTempdir
-from moul.file.tests.utils import base
+
class PlasmaChatTest(unittest.TestCase):
def setUp(self):
self._tmpdir = mkTempdir()
Modified: pymoul/trunk/src/moul/file/tests/test_wdysini.py
===================================================================
--- pymoul/trunk/src/moul/file/tests/test_wdysini.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/file/tests/test_wdysini.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -22,17 +22,18 @@
__revision__ = "$Revision$"
import os
+import shutil
import string
+import unittest
from StringIO import StringIO
-import unittest
from doctest import DocTestSuite
from tempfile import mkdtemp
-import shutil
from moul.crypt.whatdoyousee import decryptWDYS
from moul.file.wdysini import AudioIni
from moul.file.wdysini import GraphicsIni
+
base = os.path.dirname(__file__)
gra_enc = os.path.join(base, 'graphics.ini')
gra_dec = os.path.join(base, 'graphics.txt')
Modified: pymoul/trunk/src/moul/file/tests/utils.py
===================================================================
--- pymoul/trunk/src/moul/file/tests/utils.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/file/tests/utils.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -25,6 +25,7 @@
import shutil
from tempfile import mkdtemp
+
FILE_LIST = ['audio.0.elf', 'audiocaps.0.elf', 'audioTimes.0.elf',
'Avatar.0.elf', 'impacts.0.elf', 'LocalizationDataMgr.0.elf',
'Marker.0.elf', 'NetScreener.0.elf', 'patcher.0.elf', 'pipeline.0.elf',
Modified: pymoul/trunk/src/moul/file/wdysini.py
===================================================================
--- pymoul/trunk/src/moul/file/wdysini.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/file/wdysini.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -28,6 +28,7 @@
from moul.crypt.whatdoyousee import encryptWDYS
from moul.log import getLogger
+
LOG = getLogger('moul.file.wdysini')
class BoolStringError(ValueError):
Modified: pymoul/trunk/src/moul/i18n.py
===================================================================
--- pymoul/trunk/src/moul/i18n.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/i18n.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -56,6 +56,7 @@
from string import Template
+
__all__ = ['_', 'PymoulMessageFactory', 'MessageFactory']
class Message(unicode, Template):
Modified: pymoul/trunk/src/moul/log.py
===================================================================
--- pymoul/trunk/src/moul/log.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/log.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -23,14 +23,16 @@
__all__ = ['LOG', 'getLogger', 'signalLogDecorator']
+import logging
import os
+import platform
import sys
-import platform
-import logging
from logging import Formatter
from logging import handlers
+
from moul.metadata import __version__ as moul_version
+
getLogger = logging.getLogger
__FROZEN__ = bool(getattr(sys, 'frozen', False))
Modified: pymoul/trunk/src/moul/osdependent/__init__.py
===================================================================
--- pymoul/trunk/src/moul/osdependent/__init__.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/osdependent/__init__.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -38,9 +38,10 @@
from types import ModuleType
from moul.log import getLogger
+from moul.osdependent.processinfo import getPidNames
from moul.osdependent.processinfo import getPids
-from moul.osdependent.processinfo import getPidNames
+
LOG = getLogger('moul.osdependent')
# a program under py2exe is sys.frozen
Modified: pymoul/trunk/src/moul/osdependent/darwin/__init__.py
===================================================================
--- pymoul/trunk/src/moul/osdependent/darwin/__init__.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/osdependent/darwin/__init__.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -23,8 +23,10 @@
import os
from subprocess import Popen
+
from moul.log import getLogger
+
LOG = getLogger('moul.darwin')
LOG.critical('Darwin/Mac support is not tested')
Modified: pymoul/trunk/src/moul/osdependent/linux/__init__.py
===================================================================
--- pymoul/trunk/src/moul/osdependent/linux/__init__.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/osdependent/linux/__init__.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -23,8 +23,10 @@
import os
from subprocess import Popen
+
from moul.log import getLogger
+
LOG = getLogger('moul.linux')
LOG.critical('Linux support is not tested')
Modified: pymoul/trunk/src/moul/osdependent/processinfo.py
===================================================================
--- pymoul/trunk/src/moul/osdependent/processinfo.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/osdependent/processinfo.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -59,6 +59,7 @@
elif _plat('win') or _plat('cygwin'):
PLAT = 'win'
from ctypes import windll, c_ulong, sizeof, c_buffer, byref
+
PSAPI = windll.psapi
KERNEL = windll.kernel32
PROCESS_QUERY_INFORMATION = 0x0400
Modified: pymoul/trunk/src/moul/osdependent/singleapp.py
===================================================================
--- pymoul/trunk/src/moul/osdependent/singleapp.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/osdependent/singleapp.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -44,10 +44,10 @@
__revision__ = "$Revision$"
import atexit
+import getpass
import os
-import getpass
+import tempfile
from logging import getLogger
-import tempfile
LOG = getLogger('singleapp')
@@ -68,6 +68,7 @@
LOCK = "dummy"
elif os.name == 'posix':
import fcntl
+
LOCK_EX = fcntl.LOCK_EX
LOCK_SH = fcntl.LOCK_SH
LOCK_NB = fcntl.LOCK_NB
Modified: pymoul/trunk/src/moul/osdependent/tests/test_osdependent.py
===================================================================
--- pymoul/trunk/src/moul/osdependent/tests/test_osdependent.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/osdependent/tests/test_osdependent.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -26,6 +26,7 @@
import moul.osdependent
+
def test_suite():
return unittest.TestSuite((
DocTestSuite('moul.osdependent'),
Modified: pymoul/trunk/src/moul/osdependent/tests/test_processinfo.py
===================================================================
--- pymoul/trunk/src/moul/osdependent/tests/test_processinfo.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/osdependent/tests/test_processinfo.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -26,6 +26,7 @@
import moul.osdependent.processinfo
+
def test_suite():
return unittest.TestSuite((
DocTestSuite('moul.osdependent.processinfo'),
Modified: pymoul/trunk/src/moul/osdependent/tests/test_singleapp.py
===================================================================
--- pymoul/trunk/src/moul/osdependent/tests/test_singleapp.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/osdependent/tests/test_singleapp.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -21,20 +21,20 @@
__version__ = "$Id$"
__revision__ = "$Revision$"
+import os
+import sys
+import tempfile
import unittest
+from StringIO import StringIO
from doctest import DocTestSuite
+from shutil import rmtree
+from subprocess import Popen
+from moul.osdependent.singleapp import LOCK_SH, LOCK_NB
from moul.osdependent.singleapp import SimpleSingleApp
from moul.osdependent.singleapp import lock
from moul.osdependent.singleapp import unlock
-from moul.osdependent.singleapp import LOCK_SH, LOCK_NB
-import sys
-import os
-import tempfile
-from shutil import rmtree
-from subprocess import Popen
-from StringIO import StringIO
tmpdir = tempfile.mkdtemp()
testfile = os.path.join(tmpdir, 'test.lck')
Modified: pymoul/trunk/src/moul/osdependent/win32/__init__.py
===================================================================
--- pymoul/trunk/src/moul/osdependent/win32/__init__.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/osdependent/win32/__init__.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -24,11 +24,12 @@
import os
from subprocess import Popen
-from moul.osdependent.win32.winpath import get_homedir as getMyDocuments
-from moul.osdependent.win32.winpath import get_appdata as getAppdata
from moul.log import getLogger
from moul.osdependent.processinfo import getPidNames
+from moul.osdependent.win32.winpath import get_appdata as getAppdata
+from moul.osdependent.win32.winpath import get_homedir as getMyDocuments
+
LOG = getLogger('moul.win')
MOUL_DIR = "Uru Live"
Modified: pymoul/trunk/src/moul/osdependent/win32/registry.py
===================================================================
--- pymoul/trunk/src/moul/osdependent/win32/registry.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/osdependent/win32/registry.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -1,6 +1,7 @@
"""Based on http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/146305
"""
import _winreg as wreg
+
#import cPickle as pickle
class WindowsRegistry:
Modified: pymoul/trunk/src/moul/osdependent/win32/winpath.py
===================================================================
--- pymoul/trunk/src/moul/osdependent/win32/winpath.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/osdependent/win32/winpath.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -29,6 +29,7 @@
# standard library modules
import _winreg, os
+
SHELL_FOLDERS = \
r'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders'
USER_SHELL_FOLDERS = \
Modified: pymoul/trunk/src/moul/qt/__init__.py
===================================================================
--- pymoul/trunk/src/moul/qt/__init__.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/qt/__init__.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -28,6 +28,7 @@
from moul.log import LOG
+
# DEBUG system infos
LOG.debug("PyQt: %s" % PyQt4.QtCore.PYQT_VERSION_STR)
Modified: pymoul/trunk/src/moul/qt/errorhandler.py
===================================================================
--- pymoul/trunk/src/moul/qt/errorhandler.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/qt/errorhandler.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -26,16 +26,16 @@
__version__ = "$Id"
__revision__ = "$Revision$"
+import os
import sys
-import os
-from traceback import format_exception
-
+from PyQt4 import QtCore
from PyQt4 import QtGui
-from PyQt4 import QtCore
from PyQt4.QtCore import Qt
+from traceback import format_exception
from moul.log import getLogger
+
LOG = getLogger('moul.qt.error')
Modified: pymoul/trunk/src/moul/qt/localization.py
===================================================================
--- pymoul/trunk/src/moul/qt/localization.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/qt/localization.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -22,23 +22,24 @@
__version__ = "$Id$"
__revision__ = "$Revision$"
+import os
import sys
-import os
-
+from PyQt4 import QtCore
from PyQt4 import QtGui
-from PyQt4 import QtCore
from PyQt4.QtCore import Qt
+from PyQt4.QtCore import SIGNAL
from PyQt4.QtCore import pyqtSignature
-from PyQt4.QtCore import SIGNAL
from moul.config import lookupDir
+from moul.file.directory import UruGameDataDirectory
from moul.file.localization import translationRegistry as tr
-from moul.file.directory import UruGameDataDirectory
from moul.log import getLogger
from moul.log import signalLogDecorator
+
+from moul.qt.simpleprogressbar import SimpleProgressbar
from moul.qt.threadlet import Threadlet
-from moul.qt.simpleprogressbar import SimpleProgressbar
+
LOG = getLogger('moul.loc')
def insertDummyQ(lst):
Modified: pymoul/trunk/src/moul/qt/mainwindow.py
===================================================================
--- pymoul/trunk/src/moul/qt/mainwindow.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/qt/mainwindow.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -18,40 +18,43 @@
"""Moul QT GUI main windows
"""
-from __future__ import with_statement
-
-__author__ = "Christian Heimes"
-__version__ = "$Id$"
-__revision__ = "$Revision$"
-
import sys
-
+from PyQt4 import QtCore
from PyQt4 import QtGui
-from PyQt4 import QtCore
from PyQt4.QtCore import Qt
+from PyQt4.QtCore import SIGNAL
from PyQt4.QtCore import pyqtSignature
-from PyQt4.QtCore import SIGNAL
+from __future__ import with_statement
-from moul.qt.ui.mainwindow import Ui_MainWindow
-from moul.qt.localization import LocalizationMixin
-from moul.osdependent import isMoulRunning
+from moul import metadata
from moul.config import lookupDir
from moul.file.directory import UruGameDataDirectory
from moul.file.directory import UruPersonalDataDirectory
+from moul.file.wdysini import AudioIni
+from moul.file.wdysini import GraphicsIni
from moul.file.wdysini import videoModes
from moul.log import getLogger
from moul.log import signalLogDecorator
+from moul.osdependent import isMoulRunning
from moul.server.ping import ServerList
from moul.server.ping import isSocketError
from moul.time.cavern import CavernTime
+
+from moul.qt.localization import LocalizationMixin
+from moul.qt.simpleprogressbar import SimpleProgressbar
from moul.qt.threadlet import YieldingThreadlet
-from moul.qt.simpleprogressbar import SimpleProgressbar
-from moul import metadata
+from moul.qt.ui.mainwindow import Ui_MainWindow
+__author__ = "Christian Heimes"
+__version__ = "$Id$"
+__revision__ = "$Revision$"
+
+
+
+
# TBR
-from moul.file.wdysini import AudioIni
-from moul.file.wdysini import GraphicsIni
+
LOG = getLogger('moul.qt')
class MainWindow(QtGui.QMainWindow, Ui_MainWindow, LocalizationMixin):
Modified: pymoul/trunk/src/moul/qt/moulqt.py
===================================================================
--- pymoul/trunk/src/moul/qt/moulqt.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/qt/moulqt.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -24,19 +24,20 @@
__revision__ = "$Revision$"
import sys
-
from PyQt4 import QtGui
-from moul.qt.mainwindow import MainWindow
-from moul.qt.errorhandler import criticalMB
-from moul.qt.errorhandler import setupQtExceptHook
-from moul.qt.errorhandler import removeQtExceptHook
-from moul.osdependent.singleapp import SimpleSingleApp
from moul.config import getPyMoulDataDir
-from moul.osdependent import isMoulRunning
from moul.log import createLogfile
from moul.log import getLogger
+from moul.osdependent import isMoulRunning
+from moul.osdependent.singleapp import SimpleSingleApp
+from moul.qt.errorhandler import criticalMB
+from moul.qt.errorhandler import removeQtExceptHook
+from moul.qt.errorhandler import setupQtExceptHook
+from moul.qt.mainwindow import MainWindow
+
+
LOG = getLogger('moul.qt')
def main(*args):
Modified: pymoul/trunk/src/moul/qt/simpleprogressbar.py
===================================================================
--- pymoul/trunk/src/moul/qt/simpleprogressbar.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/qt/simpleprogressbar.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -29,6 +29,7 @@
from moul.qt.ui.simpleprogressbar import Ui_SimpleProgressbar
+
class SimpleProgressbar(QtGui.QDialog, Ui_SimpleProgressbar):
"""A simple progress bar dialog
Modified: pymoul/trunk/src/moul/qt/threadlet.py
===================================================================
--- pymoul/trunk/src/moul/qt/threadlet.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/qt/threadlet.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -24,11 +24,12 @@
__revision__ = "$Revision: 110 $"
import sys
-
from PyQt4 import QtCore
-from moul.log import getLogger
from PyQt4.QtCore import SIGNAL
+from moul.log import getLogger
+
+
LOG = getLogger('moul.tasklet')
class Threadlet(QtCore.QThread):
Modified: pymoul/trunk/src/moul/qt/ui/mainwindow.py
===================================================================
--- pymoul/trunk/src/moul/qt/ui/mainwindow.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/qt/ui/mainwindow.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -5,11 +5,13 @@
# Created: Fri Feb 2 17:26:46 2007
# by: PyQt4 UI code generator 4.1.1
#
-# WARNING! All changes made in this file will be lost!
+# WARNING! All changes made in this file will be losimport sys
+from PyQt4 import QtCore, Qt
-import sys
-from PyQt4 import QtCore, QtGui
+t!
+Gui
+
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
Modified: pymoul/trunk/src/moul/qt/ui/moulqt_rc.py
===================================================================
--- pymoul/trunk/src/moul/qt/ui/moulqt_rc.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/qt/ui/moulqt_rc.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -5,10 +5,12 @@
# Created: So Jan 28 18:10:39 2007
# by: The Resource Compiler for PyQt (Qt v4.2.0)
#
-# WARNING! All changes made in this file will be lost!
+# WARNING! All changes made in this file will be losfrom PyQt4 import QtC
-from PyQt4 import QtCore
+t!
+ore
+
qt_resource_data = "\
\x00\x00\x07\xea\
\x89\
Modified: pymoul/trunk/src/moul/qt/ui/simpleprogressbar.py
===================================================================
--- pymoul/trunk/src/moul/qt/ui/simpleprogressbar.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/qt/ui/simpleprogressbar.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -5,11 +5,13 @@
# Created: Fri Feb 2 15:36:30 2007
# by: PyQt4 UI code generator 4.1.1
#
-# WARNING! All changes made in this file will be lost!
+# WARNING! All changes made in this file will be losimport sys
+from PyQt4 import QtCore, Qt
-import sys
-from PyQt4 import QtCore, QtGui
+t!
+Gui
+
class Ui_SimpleProgressbar(object):
def setupUi(self, SimpleProgressbar):
SimpleProgressbar.setObjectName("SimpleProgressbar")
Modified: pymoul/trunk/src/moul/server/ping.py
===================================================================
--- pymoul/trunk/src/moul/server/ping.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/server/ping.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -24,6 +24,7 @@
from moul.server.serverlist import PORT
from moul.server.serverlist import SERVER_LIST
+
def isSocketError(stat):
return isinstance(stat, socket.error)
Modified: pymoul/trunk/src/moul/server/tests/test_ping.py
===================================================================
--- pymoul/trunk/src/moul/server/tests/test_ping.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/server/tests/test_ping.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -27,9 +27,10 @@
from moul.server.ping import Server
from moul.server.ping import ServerList
from moul.server.ping import isSocketError
+from moul.server.serverlist import PORT
from moul.server.serverlist import SERVER_LIST
-from moul.server.serverlist import PORT
+
class PingServerTest(unittest.TestCase):
def test_ping_working(self):
Modified: pymoul/trunk/src/moul/server/tests/test_serverlist.py
===================================================================
--- pymoul/trunk/src/moul/server/tests/test_serverlist.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/server/tests/test_serverlist.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -26,6 +26,7 @@
import moul.server.serverlist
+
def test_suite():
return unittest.TestSuite((
DocTestSuite('moul.server.serverlist'),
Modified: pymoul/trunk/src/moul/tests/test_i18n.py
===================================================================
--- pymoul/trunk/src/moul/tests/test_i18n.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/tests/test_i18n.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -26,6 +26,7 @@
import moul.i18n
+
def test_suite():
return unittest.TestSuite((
DocTestSuite('moul.i18n'),
Modified: pymoul/trunk/src/moul/time/cavern.py
===================================================================
--- pymoul/trunk/src/moul/time/cavern.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/time/cavern.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -24,18 +24,20 @@
__all__ = ['CavernTime']
from datetime import datetime
+from pytz import all_timezones
+from pytz import timezone
+from pytz import utc as UTC
+from moul.osdependent import __FROZEN__
+
# pytz is an egg
-from moul.osdependent import __FROZEN__
if not __FROZEN__:
import pkg_resources
pkg_resources.require("pytz>=2006p")
#from pytz import common_timezones
-from pytz import all_timezones
-from pytz import timezone
-from pytz import utc as UTC
+
## not used in the current version
#SUPPORTED_TZ = ('America', 'Canada', 'Etc', 'Europe', 'US')
#ADDITIONAL_TZ = ('GMT', 'UTC')
Modified: pymoul/trunk/src/moul/time/dni.py
===================================================================
--- pymoul/trunk/src/moul/time/dni.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/time/dni.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -23,6 +23,7 @@
from operator import mul
+
FARAH_1 = -7656 # hahrtee fahrah 1 starts at April 21st 7656 B.C
DNI_FACTORS = (
('hahrtee fahrah', 625),
Modified: pymoul/trunk/src/moul/time/tests/test_cavern.py
===================================================================
--- pymoul/trunk/src/moul/time/tests/test_cavern.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/time/tests/test_cavern.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -27,6 +27,7 @@
import moul.time.cavern
+
def test_suite():
return unittest.TestSuite((
DocTestSuite('moul.time.cavern'),
Modified: pymoul/trunk/src/moul/time/tests/test_dni.py
===================================================================
--- pymoul/trunk/src/moul/time/tests/test_dni.py 2007-02-02 17:22:22 UTC (rev 121)
+++ pymoul/trunk/src/moul/time/tests/test_dni.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -27,6 +27,7 @@
import moul.time.dni
+
def test_suite():
return unittest.TestSuite((
DocTestSuite('moul.time.dni'),
Added: pymoul/trunk/utilities/importorder.py
===================================================================
--- pymoul/trunk/utilities/importorder.py (rev 0)
+++ pymoul/trunk/utilities/importorder.py 2007-02-02 17:34:06 UTC (rev 122)
@@ -0,0 +1,386 @@
+#!/usr/bin/env python2.4
+##############################################################################
+#
+# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""
+This tool basically can be used to rearrange and order imported
+python packages in a particular format for .py files.
+
+Import Order:-
+ 1. import modules from standard python library/global packages
+ 2. import modules from the moul package
+ 3. import modules from the moul.qt package
+
+.py [-dfhst] [file/directory]
+
+-d / --dir
+ It will sort all the .py files imported python packages in the
+ entire directory .
+
+-D / --display
+ Displays Import order for all .py files in the specified path.
+
+-f / --file
+ It will order all imported python packages in a file.
+
+-s / --split
+ It splits up multiple import modules in a single import statement
+ into multiple import statements.
+
+
+-t / --test
+ It Displays Import order for all py files in the specified path and
+ doesn't write importorder into .py file.
+
+$Id: order.py 38688 2005-09-29 16:33:36Z fdrake $
+"""
+
+import getopt
+import glob
+import os
+import string
+import sys
+import tokenize
+
+
+PYTHONFILE_FILTER = '*.py'
+FROMIMPORT = 'from '
+IMPORT = 'import '
+FROMIMPORT_ZOPE = 'from moul'
+IMPORT_ZOPE = 'import moul'
+FROMIMPORT_ZOPE_APP = 'from moul.qt'
+IMPORT_ZOPE_APP = 'import moul.qt'
+NO_CHARACTERS = 80
+
+
+def getPythonFiles(path):
+ """returns list of .py files in the specified path"""
+ pyfiles = []
+ if not os.path.exists(path):
+ print >> sys.stderr, '** Error: '+ path +' not a valid path **'
+ sys.exit(0)
+
+ #checking path is file
+ if os.path.isfile(path):
+ pyfiles.append(path)
+
+ #checking path is a directory
+ elif os.path.isdir(path):
+ path = os.path.join(path, PYTHONFILE_FILTER)
+ path, filter = os.path.split(path)
+ pyfiles.extend(glob.glob(os.path.join(path, filter)))
+
+ #checking in sub directories
+ for root, dirs, files in os.walk(path):
+ for dir in dirs:
+ pyfiles.extend(glob.glob(\
+ os.path.join(root, dir, filter)))
+
+ return pyfiles
+
+
+def importOrderProcessing(path, display=None, write=None, split=None):
+ """process import order for all .py files in the specified path."""
+ pyfiles = getPythonFiles(path)
+
+ print '*****************************************************************'
+ for file in pyfiles:
+ print '** File : %s **\n' % (file)
+ import_block = getFileImportOrder(file, split)
+ import_order = import_block['import_order']
+ non_import_order = import_block['non_import_order']
+ if display:
+ print non_import_order
+ print '**.......................................................**'
+ print import_order
+ if write:
+ writeFormatedContent(file, import_order, non_import_order)
+
+
+ print '*****************************************************************'
+
+
+def getFileImportOrder(file, split=None):
+ """returns formatted imported packages content"""
+ import_content = getFileImportContent(file)
+ import_list = appendImportsToList(import_content)
+
+ #separating from and import statements
+ imp_list = filterList(import_list, 'import ')
+ from_list = filterList(import_list, 'from ')
+
+ #extracting non import content
+ non_import_block = removeList(import_list, imp_list)
+ non_import_block = removeList(non_import_block, from_list)
+ non_import_block_fmt = formateBlock(non_import_block)
+
+ #comma separated imports into individual import statements
+ if split:
+ imp_list = individualImportLines(imp_list)
+ from_list = individualImportLines(from_list)
+
+ #extracting zope.app package imports
+ zope_app_imp_list = filterList(imp_list, IMPORT_ZOPE_APP)
+ zope_app_from_list = filterList(from_list, FROMIMPORT_ZOPE_APP)
+
+ rem_imp_list1 = removeList(imp_list, zope_app_imp_list)
+ rem_from_list1 = removeList(from_list, zope_app_from_list)
+
+ #extracting zope package imports
+ zope_imp_list = filterList(rem_imp_list1, IMPORT_ZOPE)
+ zope_from_list = filterList(rem_from_list1, FROMIMPORT_ZOPE)
+
+ #extracting global package imports
+ global_imp_list = removeList(rem_imp_list1, zope_imp_list)
+ global_from_list = removeList(rem_from_list1, zope_from_list)
+
+ #formating the global, zope and zope.app package imports
+ format_import_content = mergeAllBlocks(global_imp_list,
+ zope_imp_list,
+ zope_app_imp_list,
+ global_from_list,
+ zope_from_list,
+ zope_app_from_list)
+
+ #merging import block and non import block
+ non_import_block_fmt = string.strip(non_import_block_fmt)
+ if len(non_import_block_fmt) > 0:
+ non_import_block_fmt += '\n\n'
+
+ fmt_content = format_import_content + non_import_block_fmt
+
+ return {'import_order':fmt_content,
+ 'non_import_order':import_content}
+
+
+def getFileImportContent(file):
+ """returns the imports content available at the top in the .py file"""
+ import_list = []
+ lines = []
+ import_block_start_indx = 0
+ import_block_end_indx = 0
+ index = 0
+ for t in tokenize.generate_tokens(open(file, 'rU').readline):
+ type, string, start, end, line = t
+ line_no = start[0]
+ line_len = len(line)
+
+ if line_no not in lines:
+ lines.append(line_no)
+ index += line_len
+ if string in ['from','import'] and line not in import_list:
+ if len(import_list) == 0:
+ import_block_start_indx = (index - line_len)
+ import_list.append(line)
+ import_block_end_indx = index
+ elif string in ['def', 'class']:
+ break
+
+ fc = open(file, 'r').read()
+ return fc[import_block_start_indx-4:import_block_end_indx-4]
+
+
+def appendImportsToList(import_content):
+ """returns list of imports of the file"""
+ import_list = import_content.split('\\')
+ if len(import_list) > 1:
+ import_list = concatinateBreakImports(import_list)
+ else:
+ import_list = import_content.split('\n')
+
+ return import_list
+
+
+def concatinateBreakImports(import_list):
+ """concatinate imports into single item in a list"""
+ indx = 1
+ concate_list = []
+ for item in import_list:
+ if indx == 1:
+ concate_list += item.split('\n')
+ else:
+ concate_item = []
+ item = string.lstrip(item)
+ item_list = item.split('\n')
+ concate_litem = concate_list[-1:][0]
+ item_list_fitem = item_list[:1][0]
+ concate_item.append(concate_litem + item_list_fitem)
+ concate_list = concate_list[:-1] + concate_item + item_list[1:]
+ indx += 1
+
+ return concate_list
+
+
+def filterList(list, filter):
+ """returns filtered list"""
+ filter_list = [item for item in list
+ if item.startswith(filter)]
+ filter_list.sort()
+ return filter_list
+
+def individualImportLines(import_list):
+ """changes comma separated imports to individual import lines"""
+ import_str = 'import '
+ new_import_list = []
+ for item in import_list:
+ if item.find(',') > -1 and (item.startswith('from ') or
+ item.startswith('import ')):
+ import_item_split = item.split('import ')
+ from_import_item = import_item_split[0]
+ comma_imports = import_item_split[1].split(',')
+ new_list = []
+ for mod_item in comma_imports:
+ mod_item = string.lstrip(mod_item)
+ new_list.append(from_import_item + import_str + mod_item)
+ new_import_list += new_list
+ else:
+ new_import_list.append(item)
+
+ return new_import_list
+
+
+def removeList(list, rem_list):
+ return [item for item in list
+ if item not in rem_list]
+
+def mergeAllBlocks(global_imp_list, zope_imp_list, zope_app_imp_list,
+ global_from_list, zope_from_list, zope_app_from_list):
+ """merges global, zope and zope.app imports """
+ import_block = ''
+ global_imp_block = formateBlock(global_imp_list)
+ global_from_block = formateBlock(global_from_list)
+ zope_imp_block = formateBlock(zope_imp_list)
+ zope_from_block = formateBlock(zope_from_list)
+ zope_app_imp_block = formateBlock(zope_app_imp_list)
+ zope_app_from_block = formateBlock(zope_app_from_list)
+
+ import_block += formatsFromAndImportBlock(global_imp_block,
+ global_from_block)
+
+ import_block += formatsFromAndImportBlock(zope_imp_block,
+ zope_from_block)
+
+ import_block += formatsFromAndImportBlock(zope_app_imp_block,
+ zope_app_from_block)
+
+ return import_block
+
+
+def formatsFromAndImportBlock(imp_block, from_block):
+ """formats from and import block"""
+ import_block = ''
+ if imp_block is not '' or from_block is not '':
+ import_block += imp_block
+ import_block += from_block
+ import_block += '\n'
+ return import_block
+
+
+def formateBlock(imp_list):
+ """formats import blocks"""
+ import_block = ''
+ if imp_list is not None:
+ for item in imp_list:
+ if len(item) > NO_CHARACTERS:
+ import_block += formatingLargerImports(item)
+ else:
+ import_block += str(item) + '\n'
+ return import_block
+
+def formatingLargerImports(import_content):
+ """formates if imports greater than 80 character"""
+ formatted_line = ''
+ import_fline = import_content[:NO_CHARACTERS]
+
+ dot_indx = import_fline.rfind('.')
+ blank_space_indx = import_fline.rfind(' ')
+
+ split_line_indx = 0
+ if dot_indx > -1:
+ split_line_indx = dot_indx
+ if blank_space_indx > -1 and blank_space_indx < dot_indx:
+ split_line_indx = blank_space_indx
+ elif blank_space_indx > -1:
+ split_line_indx = blank_space_indx
+ if dot_indx > -1 and dot_indx < blank_space_indx:
+ split_line_indx = blank_space_indx
+
+ split_line_indx += 1
+
+ formatted_line += import_content[:split_line_indx] +'\\\n'
+ if import_content.startswith(IMPORT):
+ formatted_line += (' ' +
+ import_content[split_line_indx:] + '\n')
+ elif import_content.startswith(FROMIMPORT):
+ formatted_line += (' ' +
+ import_content[split_line_indx:] + '\n')
+
+ return formatted_line
+
+
+def writeFormatedContent(file, fmt_content, non_fmt_content):
+ """writes formatted content into the file"""
+
+ fp = open(file, 'r')
+ file_content = fp.read()
+ fp.close()
+
+ fp = open(file, 'w')
+ rep_content = string.replace(file_content, non_fmt_content,
+ fmt_content)
+ fp.write(rep_content)
+ fp.close()
+
+
+def main(argv=None):
+ if argv is None:
+ argv = sys.argv
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "dDfhst",
+ ["help", "dir", "file", "display",
+ "split", "test"])
+ except getopt.error, msg:
+ print msg
+ print "Try `python %s -h' for more information." % argv[0]
+ return 2
+
+ path = None
+ display = None
+ write = True
+ split = None
+
+ for k, v in opts:
+ if k in ("-h", "--help"):
+ print __doc__
+ sys.exit(0)
+ elif k in ("-d", "--dir"):
+ path = args[0]
+ elif k in ("-f", "--file"):
+ path = args[0]
+ elif k in ("-D", "--display"):
+ path = args[0]
+ display = True
+ elif k in ("-s", "--split"):
+ path = args[0]
+ split = True
+ elif k in ("-t", "--test"):
+ path = args[0]
+ display = True
+ write = False
+
+ importOrderProcessing(path, display, write, split)
+ return 0
+
+if __name__ == '__main__':
+ main()
+
Property changes on: pymoul/trunk/utilities/importorder.py
___________________________________________________________________
Name: svn:executable
+ *
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|