Django

Code

Show
Ignore:
Timestamp:
06/17/07 17:18:54 (1 year ago)
Author:
clong
Message:

per-object-permissions: Merged to trunk [5486] NOTE: Not fully tested, will be working on this over the next few weeks.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/per-object-permissions/setup.py

    r4242 r5488  
    22from distutils.command.install import INSTALL_SCHEMES 
    33import os 
     4import sys 
     5 
     6def fullsplit(path, result=None): 
     7    """ 
     8    Split a pathname into components (the opposite of os.path.join) in a 
     9    platform-neutral way. 
     10    """ 
     11    if result is None: 
     12        result = [] 
     13    head, tail = os.path.split(path) 
     14    if head == '': 
     15        return [tail] + result 
     16    if head == path: 
     17        return result 
     18    return fullsplit(head, [tail] + result) 
    419 
    520# Tell distutils to put the data_files in platform-specific installation 
     
    1328packages, data_files = [], [] 
    1429root_dir = os.path.dirname(__file__) 
    15 len_root_dir = len(root_dir) 
    1630django_dir = os.path.join(root_dir, 'django') 
     31pieces = fullsplit(root_dir) 
     32if pieces[-1] == '': 
     33    len_root_dir = len(pieces) - 1 
     34else: 
     35    len_root_dir = len(pieces) 
    1736 
    1837for dirpath, dirnames, filenames in os.walk(django_dir): 
     
    2140        if dirname.startswith('.'): del dirnames[i] 
    2241    if '__init__.py' in filenames: 
    23         package = dirpath[len_root_dir:].lstrip('/').replace('/', '.') 
    24         packages.append(package) 
    25     else: 
    26         data_files.append((dirpath, [os.path.join(dirpath, f) for f in filenames])) 
     42        packages.append('.'.join(fullsplit(dirpath)[len_root_dir:])) 
     43    elif filenames: 
     44        data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames]]) 
    2745 
    2846# Dynamically calculate the version based on django.VERSION. 
    29 version = "%d.%d-%s" % (__import__('django').VERSION) 
     47version_tuple = __import__('django').VERSION 
     48if version_tuple[2] is not None: 
     49    version = "%d.%d_%s" % version_tuple 
     50else: 
     51    version = "%d.%d" % version_tuple[:2] 
    3052 
    3153setup(