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
|
# Copyright 2000 Samuele Pedroni
# see org.python.core.SysPackageManager
import sys
import os
from string import strip
from java import io
from org.python.core import PathPackageManager
class YaPM(PathPackageManager):
def __init__(self, registry):
self.findAllPackages(registry)
def findClass(self, pkg, name):
return None
def findAllPackages(self,registry):
paths = registry.getProperty("python.packages.paths","java.class.path")
paths = paths.split(',')
# opt
if "sun.boot.class.path" in paths: # ??pending strip boot class paths of other jvms?
paths.remove("sun.boot.class.path")
fakepath = registry.getProperty("python.packages.fakepath", None)
for p in paths:
e = registry.getProperty(p)
if e != None:
self.addClassPath(e)
if fakepath != None:
self.addClassPath(fakepath)
def filterByName(self,name,pkg):
return 0
def filterByAccess(self,name,acc):
return not ((name.find('$') != -1) or (acc & 1 == 0))
def doDir(self, jpkg, instantiate, exclpkgs):
basic = self.basicDoDir(jpkg, 0, exclpkgs)
ret = []
self.super__doDir(self.searchPath,ret,jpkg,0,exclpkgs)
self.super__doDir(sys.path,ret,jpkg,0,exclpkgs)
return self.merge(basic,ret)
def packageExists(self,pkg,name):
return self.super__packageExists(self.searchPath,pkg,name) or self.super__packageExists(sys.path,pkg,name)
|