| Index: tracing/third_party/tvcm/third_party/rjsmin/_setup/py2/data.py
|
| diff --git a/tracing/third_party/tvcm/third_party/rjsmin/_setup/py2/data.py b/tracing/third_party/tvcm/third_party/rjsmin/_setup/py2/data.py
|
| deleted file mode 100644
|
| index 9cf04e104c24bd87afecb5f1f99c9dd473ed1508..0000000000000000000000000000000000000000
|
| --- a/tracing/third_party/tvcm/third_party/rjsmin/_setup/py2/data.py
|
| +++ /dev/null
|
| @@ -1,165 +0,0 @@
|
| -# -*- coding: ascii -*-
|
| -#
|
| -# Copyright 2007, 2008, 2009, 2010, 2011
|
| -# Andr\xe9 Malo or his licensors, as applicable
|
| -#
|
| -# Licensed under the Apache License, Version 2.0 (the "License");
|
| -# you may not use this file except in compliance with the License.
|
| -# You may obtain a copy of the License at
|
| -#
|
| -# http://www.apache.org/licenses/LICENSE-2.0
|
| -#
|
| -# Unless required by applicable law or agreed to in writing, software
|
| -# distributed under the License is distributed on an "AS IS" BASIS,
|
| -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| -# See the License for the specific language governing permissions and
|
| -# limitations under the License.
|
| -"""
|
| -===================
|
| - Data distribution
|
| -===================
|
| -
|
| -This module provides tools to simplify data distribution.
|
| -"""
|
| -__author__ = u"Andr\xe9 Malo"
|
| -__docformat__ = "restructuredtext en"
|
| -
|
| -from distutils import filelist as _filelist
|
| -import os as _os
|
| -import posixpath as _posixpath
|
| -import sys as _sys
|
| -
|
| -from _setup import commands as _commands
|
| -
|
| -
|
| -def splitpath(path):
|
| - """ Split a path """
|
| - drive, path = '', _os.path.normpath(path)
|
| - try:
|
| - splitunc = _os.path.splitunc
|
| - except AttributeError:
|
| - pass
|
| - else:
|
| - drive, path = splitunc(path)
|
| - if not drive:
|
| - drive, path = _os.path.splitdrive(path)
|
| - elems = []
|
| - try:
|
| - sep = _os.path.sep
|
| - except AttributeError:
|
| - sep = _os.path.join('1', '2')[1:-1]
|
| - while 1:
|
| - prefix, path = _os.path.split(path)
|
| - elems.append(path)
|
| - if prefix in ('', sep):
|
| - drive = _os.path.join(drive, prefix)
|
| - break
|
| - path = prefix
|
| - elems.reverse()
|
| - return drive, elems
|
| -
|
| -
|
| -def finalizer(installer):
|
| - """ Finalize install_data """
|
| - data_files = []
|
| - for item in installer.data_files:
|
| - if not isinstance(item, Data):
|
| - data_files.append(item)
|
| - continue
|
| - data_files.extend(item.flatten(installer))
|
| - installer.data_files = data_files
|
| -
|
| -
|
| -class Data(object):
|
| - """ File list container """
|
| -
|
| - def __init__(self, files, target=None, preserve=0, strip=0,
|
| - prefix=None):
|
| - """ Initialization """
|
| - self._files = files
|
| - self._target = target
|
| - self._preserve = preserve
|
| - self._strip = strip
|
| - self._prefix = prefix
|
| - self.fixup_commands()
|
| -
|
| - def fixup_commands(self):
|
| - pass
|
| -
|
| - def from_templates(cls, *templates, **kwargs):
|
| - """ Initialize from template """
|
| - files = _filelist.FileList()
|
| - for tpl in templates:
|
| - for line in tpl.split(';'):
|
| - files.process_template_line(line.strip())
|
| - files.sort()
|
| - files.remove_duplicates()
|
| - result = []
|
| - for filename in files.files:
|
| - _, elems = splitpath(filename)
|
| - if '.svn' in elems or '.git' in elems:
|
| - continue
|
| - result.append(filename)
|
| - return cls(result, **kwargs)
|
| - from_templates = classmethod(from_templates)
|
| -
|
| - def flatten(self, installer):
|
| - """ Flatten the file list to (target, file) tuples """
|
| - # pylint: disable = W0613
|
| - if self._prefix:
|
| - _, prefix = splitpath(self._prefix)
|
| - telems = prefix
|
| - else:
|
| - telems = []
|
| -
|
| - tmap = {}
|
| - for fname in self._files:
|
| - (_, name), target = splitpath(fname), telems
|
| - if self._preserve:
|
| - if self._strip:
|
| - name = name[max(0, min(self._strip, len(name) - 1)):]
|
| - if len(name) > 1:
|
| - target = telems + name[:-1]
|
| - tmap.setdefault(_posixpath.join(*target), []).append(fname)
|
| - return tmap.items()
|
| -
|
| -
|
| -class Documentation(Data):
|
| - """ Documentation container """
|
| -
|
| - def fixup_commands(self):
|
| - _commands.add_option('install_data', 'without-docs',
|
| - help_text='Do not install documentation files',
|
| - inherit='install',
|
| - )
|
| - _commands.add_finalizer('install_data', 'documentation', finalizer)
|
| -
|
| - def flatten(self, installer):
|
| - """ Check if docs should be installed at all """
|
| - if installer.without_docs:
|
| - return []
|
| - return Data.flatten(self, installer)
|
| -
|
| -
|
| -class Manpages(Documentation):
|
| - """ Manpages container """
|
| -
|
| - def dispatch(cls, files):
|
| - """ Automatically dispatch manpages to their target directories """
|
| - mpmap = {}
|
| - for manpage in files:
|
| - normalized = _os.path.normpath(manpage)
|
| - _, ext = _os.path.splitext(normalized)
|
| - if ext.startswith(_os.path.extsep):
|
| - ext = ext[len(_os.path.extsep):]
|
| - mpmap.setdefault(ext, []).append(manpage)
|
| - return [cls(manpages, prefix=_posixpath.join(
|
| - 'share', 'man', 'man%s' % section,
|
| - )) for section, manpages in mpmap.items()]
|
| - dispatch = classmethod(dispatch)
|
| -
|
| - def flatten(self, installer):
|
| - """ Check if manpages are suitable """
|
| - if _sys.platform == 'win32':
|
| - return []
|
| - return Documentation.flatten(self, installer)
|
|
|