From 0fb7894e8fca0cbd3454fbff2afc45f51cfdd156 Mon Sep 17 00:00:00 2001 From: Philip Thiem Date: Thu, 4 Jul 2013 12:53:02 -0500 Subject: removed the objects --HG-- extra : rebase_source : 19c8be226a698813103dc2393b3b154060d90669 --- setuptools/svn_utils.py | 242 ++---------------------------------------------- 1 file changed, 6 insertions(+), 236 deletions(-) (limited to 'setuptools/svn_utils.py') diff --git a/setuptools/svn_utils.py b/setuptools/svn_utils.py index 5783489c..657393e2 100644 --- a/setuptools/svn_utils.py +++ b/setuptools/svn_utils.py @@ -119,240 +119,10 @@ def parse_externals(path): return externals +def get_svn_tool_version(): + _, data = _run_command(['svn', '--version', '--quiet']) + if data: + return data.strip() + else: + return '' - - - -#TODO add the text entry back, and make its use dependent on the -# non existence of svn? - -class SVNEntries(object): - svn_tool_version = '' - - def __init__(self, path, data): - self.path = path - self.data = data - if not self.svn_tool_version: - self.svn_tool_version = self.get_svn_tool_version() - - @staticmethod - def get_svn_tool_version(): - _, data = _run_command(['svn', '--version', '--quiet']) - if data: - return data.strip() - else: - return '' - - @classmethod - def load_dir(class_, base): - filename = os.path.join(base, '.svn', 'entries') - f = open(filename) - result = SVNEntries.read(f, base) - f.close() - return result - - @classmethod - def read(class_, file, path=None): - data = file.read() - - if data.startswith('revision_line_number - and section[revision_line_number] - ] - return rev_numbers - - def get_undeleted_records(self): - #Note for self this skip and only returns the children - undeleted = lambda s: s and s[0] and (len(s) < 6 or s[5] != 'delete') - result = [ - section[0] - for section in self.get_sections() - if undeleted(section) - ] - return result - - -class SVNEntriesXML(SVNEntries): - def is_valid(self): - return True - - def parse_revision_numbers(self): - revre = re.compile(r'committed-rev="(\d+)"') - return [ - int(m.group(1)) - for m in revre.finditer(self.data) - if m.group(1) - ] - - def get_undeleted_records(self): - entries_pattern = re.compile(r'name="([^"]+)"(?![^>]+deleted="true")', - re.I) - results = [ - unescape(match.group(1)) - for match in entries_pattern.finditer(self.data) - if match.group(1) - ] - return results - -import xml.dom.pulldom - -class SVNEntriesCMD(SVNEntries): - # - # - # - # - # ... - # ... - # - # - # ... - # - # - # ... - # - # - # ... - # - entrypathre = re.compile(r']*path="(\.+)">', re.I) - entryre = re.compile(r'', re.DOTALL or re.I) - namere = re.compile(r'(.*?)', re.I) - - def __get_cached_entries(self): - return self.entries - - def is_valid(self): - return bool(self.get_entries()) - - def get_dir_data(self): - #This returns the info entry for the directory ONLY - return self.get_entries()[0] - - def get_entries(self): - #regarding the shell argument, see: http://bugs.python.org/issue8557 - _, data = _run_command(['svn', 'info', - '--depth', 'immediates', '--xml', self.path]) - - doc = xml.dom.pulldom.parseString(data) - self.entries = list() - for event, node in doc: - if event=='START_ELEMENT' and node.nodeName=='entry': - doc.expandNode(node) - self.entries.append(node) - - self.get_entries = self.__get_cached_entries - return self.entries - - - - def __get_cached_revision(self): - return self.revision - - def parse_revision(self): - self.revision = parse_revision(self.path) - self.parse_revision = self.__get_cached_revision - return self.revision - - def get_undeleted_records(self): - #NOTE: Need to parse entities? - if not self.is_valid(): - return list() - else: - return [ - _get_entry_name(element) - for element in self.get_entries()[1:] - if _get_entry_schedule(element).lower() != 'deleted' - ] - - def _get_externals_data(self, filename): - - #othewise will be called twice. - if os.path.basename(filename).lower() != 'dir-props': - return '' - - try: - _, lines = _run_command(['svn', - 'propget', 'svn:externals', self.path]) - lines = [line for line in lines.splitlines() if line] - return lines - except ValueError: - return '' -- cgit v1.2.1