File: util.py

package info (click to toggle)
jython 2.5.1-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 41,624 kB
  • ctags: 101,579
  • sloc: python: 351,444; java: 204,338; xml: 1,316; sh: 330; ansic: 126; perl: 114; makefile: 94
file content (66 lines) | stat: -rw-r--r-- 1,384 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Copyright (c) Corporation for National Research Initiatives

def lookup(name):
    names = name.split('.')
    top = __import__(names[0])
    for name in names[1:]:
        top = getattr(top, name)
    return top


from java.util.zip import ZipFile

zipfiles = {}

def getzip(filename):
    if zipfiles.has_key(filename):
        return zipfiles[filename]
    zipfile = ZipFile(filename)
    zipfiles[filename] = zipfile
    return zipfile


def closezips():
    for zf in zipfiles.values():
        zf.close()
    zipfiles.clear()

# "tentative"

import sys
import string

from org.python.core import Py

from yapm import YaPM
from PathVFS import PathVFS

def findClass(c):
    return Py.findClassEx(c, "java class")

def reportPublicPlainClasses(jpkg):
    classes = sys.packageManager.doDir(jpkg,0,1)
    classes.remove('__name__')
    return string.join(classes,',')

_path_vfs = None

def openResource(res):
    global _path_vfs
    if not _path_vfs:
        _path_vfs = PathVFS(sys.registry)    
    return _path_vfs.open(res)

_ypm = None

def listAllClasses(jpkg):
    global _ypm
    classes = sys.packageManager.doDir(jpkg,0,1)
    classes.remove('__name__')
    if _ypm is None:
        _ypm = YaPM(sys.registry)
    pkg2 = _ypm.lookupName(jpkg.__name__)
    classes2 = _ypm.doDir(pkg2,0,1)
    classes2.remove('__name__')
    classes.extend(classes2)
    return classes