Changeset 395

Show
Ignore:
Timestamp:
Thu Jan 11 13:15:59 2007
Author:
djfroofy
Message:

- added pacakgePatterns for recognizing valid java package names

Files:

Legend:

Unmodified
Added
Removed
Modified
  • subprojects/JPyper/jpyper/_knee.py

    r392 r395  
    7 7 from jpyper import CLASSPATH  
    8 8 import jpype  
    9   import sys, imp, __builtin__, os  
      9 import sys, imp, __builtin__, os, re  
    9 9 try:  
    10 10     set = set  
     
    25 25 prefix = PrefixRequired()  
    26 26  
      27 class PackagePatternRequired:  
      28     regexes = None  
      29     def require(self, patterns):  
      30         self.regexes = []  
      31         for p in patterns:  
      32             self.regexes.append(re.compile(p))  
      33     def matches(self, name):  
      34         for regex in self.regexes:  
      35             if regex.match(name):  
      36                 return True  
      37         return False  
      38     def __nonzero__(self):  
      39         return self.regexes is not None  
      40  
      41 packagePatterns = PackagePatternRequired()  
      42  
    27 43 class _jpyper_mod(object):  
    28 44     def __init__(self, path):  
     
    47 63             parts = parts[1:]  
    48 64             name = '.'.join(parts)  
      65         if packagePatterns:  
      66             if not packagePatterns.matches(name):  
      67                 raise ie  
    49 68         for idx, node in enumerate(parts):  
    50 69             path = '.'.join(parts[:idx+1])