File: yapm.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 (51 lines) | stat: -rw-r--r-- 1,551 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
# 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)