From 15dd52cd578691930cea194e003fa80dd02f40eb Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Sun, 9 Feb 2014 21:23:51 +0100 Subject: tabs to 4 spaces - overall state of this branch is desolate, but fixable. Needs plenty of work --- git/db/pygit2/complex.py | 130 +++++++++++++++++++++++------------------------ 1 file changed, 65 insertions(+), 65 deletions(-) (limited to 'git/db/pygit2/complex.py') diff --git a/git/db/pygit2/complex.py b/git/db/pygit2/complex.py index c1563bca..cf845ff6 100644 --- a/git/db/pygit2/complex.py +++ b/git/db/pygit2/complex.py @@ -3,10 +3,10 @@ __all__ = ['Pygit2GitODB', 'Pygit2GitDB', 'Pygit2CompatibilityGitDB'] from git.db.py.complex import PureGitODB from git.db.py.base import ( - PureRepositoryPathsMixin, - PureConfigurationMixin, - PureIndexDB, - ) + PureRepositoryPathsMixin, + PureConfigurationMixin, + PureIndexDB, + ) from git.db.py.resolve import PureReferencesMixin from git.db.py.transport import PureTransportDB from git.db.py.submodule import PureSubmoduleDB @@ -25,69 +25,69 @@ import os class Pygit2GitODB(PureGitODB): - """A full fledged database to read and write object files from all kinds of sources.""" - - def __init__(self, objects_root): - """Initalize this instance""" - PureGitODB.__init__(self, objects_root) - if hasattr(self, 'git_dir'): - wd = self.git_dir - else: - wd = os.path.dirname(objects_root) - #END try to figure out good entry for pygit2 - it needs the .gitdir - print objects_root - print wd - self._py2_repo = Pygit2Repo(wd) - - def __getattr__(self, attr): - try: - # supply LazyMixin with this call first - return super(Pygit2GitODB, self).__getattr__(attr) - except AttributeError: - # now assume its on the pygit2 repository ... for now - return getattr(self._py2_repo, attr) - #END handle attr - - #{ Object DBR - - def info(self, binsha): - type_id, uncomp_data = self._py2_repo.read(binsha) - return OInfo(binsha, type_id_to_type_map[type_id], len(uncomp_data)) - - def stream(self, binsha): - type_id, uncomp_data = self._py2_repo.read(binsha) - return OStream(binsha, type_id_to_type_map[type_id], len(uncomp_data), StringIO(uncomp_data)) - - # #}END object dbr - # - # #{ Object DBW - def store(self, istream): - # TODO: remove this check once the required functionality was merged in pygit2 - if hasattr(self._py2_repo, 'write'): - istream.binsha = hex_to_bin(self._py2_repo.write(type_to_type_id_map[istream.type], istream.read())) - return istream - else: - return super(Pygit2GitODB, self).store(istream) - #END handle write support - - #}END object dbw - -class Pygit2GitDB( PureRepositoryPathsMixin, PureConfigurationMixin, - PureReferencesMixin, PureSubmoduleDB, - PureIndexDB, - PureTransportDB, # not fully implemented - GitCommandMixin, - CmdHighLevelRepository, - Pygit2GitODB): # must come last, as it doesn't pass on __init__ with super + """A full fledged database to read and write object files from all kinds of sources.""" + + def __init__(self, objects_root): + """Initalize this instance""" + PureGitODB.__init__(self, objects_root) + if hasattr(self, 'git_dir'): + wd = self.git_dir + else: + wd = os.path.dirname(objects_root) + #END try to figure out good entry for pygit2 - it needs the .gitdir + print objects_root + print wd + self._py2_repo = Pygit2Repo(wd) + + def __getattr__(self, attr): + try: + # supply LazyMixin with this call first + return super(Pygit2GitODB, self).__getattr__(attr) + except AttributeError: + # now assume its on the pygit2 repository ... for now + return getattr(self._py2_repo, attr) + #END handle attr + + #{ Object DBR + + def info(self, binsha): + type_id, uncomp_data = self._py2_repo.read(binsha) + return OInfo(binsha, type_id_to_type_map[type_id], len(uncomp_data)) + + def stream(self, binsha): + type_id, uncomp_data = self._py2_repo.read(binsha) + return OStream(binsha, type_id_to_type_map[type_id], len(uncomp_data), StringIO(uncomp_data)) + + # #}END object dbr + # + # #{ Object DBW + def store(self, istream): + # TODO: remove this check once the required functionality was merged in pygit2 + if hasattr(self._py2_repo, 'write'): + istream.binsha = hex_to_bin(self._py2_repo.write(type_to_type_id_map[istream.type], istream.read())) + return istream + else: + return super(Pygit2GitODB, self).store(istream) + #END handle write support + + #}END object dbw + +class Pygit2GitDB( PureRepositoryPathsMixin, PureConfigurationMixin, + PureReferencesMixin, PureSubmoduleDB, + PureIndexDB, + PureTransportDB, # not fully implemented + GitCommandMixin, + CmdHighLevelRepository, + Pygit2GitODB): # must come last, as it doesn't pass on __init__ with super - def __init__(self, root_path): - """Initialize ourselves on the .git directory, or the .git/objects directory.""" - PureRepositoryPathsMixin._initialize(self, root_path) - super(Pygit2GitDB, self).__init__(self.objects_dir) - + def __init__(self, root_path): + """Initialize ourselves on the .git directory, or the .git/objects directory.""" + PureRepositoryPathsMixin._initialize(self, root_path) + super(Pygit2GitDB, self).__init__(self.objects_dir) + class Pygit2CompatibilityGitDB(RepoCompatibilityInterface, Pygit2GitDB): - """Basic pygit2 compatibility database""" - pass + """Basic pygit2 compatibility database""" + pass -- cgit v1.2.1