summaryrefslogtreecommitdiff
path: root/fastimport/helpers.py
diff options
context:
space:
mode:
Diffstat (limited to 'fastimport/helpers.py')
-rw-r--r--fastimport/helpers.py95
1 files changed, 0 insertions, 95 deletions
diff --git a/fastimport/helpers.py b/fastimport/helpers.py
deleted file mode 100644
index 05cce6f..0000000
--- a/fastimport/helpers.py
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright (C) 2008 Canonical Ltd
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-"""Miscellaneous useful stuff."""
-
-
-def single_plural(n, single, plural):
- """Return a single or plural form of a noun based on number."""
- if n == 1:
- return single
- else:
- return plural
-
-
-def defines_to_dict(defines):
- """Convert a list of definition strings to a dictionary."""
- if defines is None:
- return None
- result = {}
- for define in defines:
- kv = define.split('=', 1)
- if len(kv) == 1:
- result[define.strip()] = 1
- else:
- result[kv[0].strip()] = kv[1].strip()
- return result
-
-
-def invert_dict(d):
- """Invert a dictionary with keys matching each value turned into a list."""
- # Based on recipe from ASPN
- result = {}
- for k, v in d.iteritems():
- keys = result.setdefault(v, [])
- keys.append(k)
- return result
-
-
-def invert_dictset(d):
- """Invert a dictionary with keys matching a set of values, turned into lists."""
- # Based on recipe from ASPN
- result = {}
- for k, c in d.iteritems():
- for v in c:
- keys = result.setdefault(v, [])
- keys.append(k)
- return result
-
-
-def _common_path_and_rest(l1, l2, common=[]):
- # From http://code.activestate.com/recipes/208993/
- if len(l1) < 1: return (common, l1, l2)
- if len(l2) < 1: return (common, l1, l2)
- if l1[0] != l2[0]: return (common, l1, l2)
- return _common_path_and_rest(l1[1:], l2[1:], common+[l1[0]])
-
-
-def common_path(path1, path2):
- """Find the common bit of 2 paths."""
- return ''.join(_common_path_and_rest(path1, path2)[0])
-
-
-def binary_stream(stream):
- """Ensure a stream is binary on Windows.
-
- :return: the stream
- """
- try:
- import os
- if os.name == 'nt':
- fileno = getattr(stream, 'fileno', None)
- if fileno:
- no = fileno()
- if no >= 0: # -1 means we're working as subprocess
- import msvcrt
- msvcrt.setmode(no, os.O_BINARY)
- except ImportError:
- pass
- return stream
-
-
-