diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2014-02-09 21:23:51 +0100 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2014-02-09 21:23:51 +0100 |
commit | 15dd52cd578691930cea194e003fa80dd02f40eb (patch) | |
tree | ef4c9c5f705dd1ca743b7ceefe5b91b11ad15010 /git/db/dulwich/complex.py | |
parent | 660bdca125aa9dcca7a7730535bec433edb8ba02 (diff) | |
download | gitpython-15dd52cd578691930cea194e003fa80dd02f40eb.tar.gz |
tabs to 4 spaces - overall state of this branch is desolate, but fixable. Needs plenty of work
Diffstat (limited to 'git/db/dulwich/complex.py')
-rw-r--r-- | git/db/dulwich/complex.py | 122 |
1 files changed, 61 insertions, 61 deletions
diff --git a/git/db/dulwich/complex.py b/git/db/dulwich/complex.py index ad5b97a4..1428361a 100644 --- a/git/db/dulwich/complex.py +++ b/git/db/dulwich/complex.py @@ -3,10 +3,10 @@ __all__ = ['DulwichGitODB', 'DulwichGitDB', 'DulwichCompatibilityGitDB'] 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 @@ -26,65 +26,65 @@ import os class DulwichGitODB(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, 'working_dir'): - wd = self.working_dir - else: - wd = os.path.dirname(os.path.dirname(objects_root)) - #END try to figure out good entry for dulwich, which doesn't do an extensive search - self._dw_repo = DulwichRepo(wd) - - def __getattr__(self, attr): - try: - # supply LazyMixin with this call first - return super(DulwichGitODB, self).__getattr__(attr) - except AttributeError: - # now assume its on the dulwich repository ... for now - return getattr(self._dw_repo, attr) - #END handle attr - - #{ Object DBR - - def info(self, binsha): - type_id, uncomp_data = self._dw_repo.object_store.get_raw(binsha) - return OInfo(binsha, type_id_to_type_map[type_id], len(uncomp_data)) - - def stream(self, binsha): - type_id, uncomp_data = self._dw_repo.object_store.get_raw(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): - obj = ShaFile.from_raw_string(type_to_type_id_map[istream.type], istream.read()) - self._dw_repo.object_store.add_object(obj) - istream.binsha = obj.sha().digest() - return istream - - #}END object dbw - -class DulwichGitDB( PureRepositoryPathsMixin, PureConfigurationMixin, - PureReferencesMixin, PureSubmoduleDB, - PureIndexDB, - PureTransportDB, # not fully implemented - GitCommandMixin, - CmdHighLevelRepository, - DulwichGitODB): # 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, 'working_dir'): + wd = self.working_dir + else: + wd = os.path.dirname(os.path.dirname(objects_root)) + #END try to figure out good entry for dulwich, which doesn't do an extensive search + self._dw_repo = DulwichRepo(wd) + + def __getattr__(self, attr): + try: + # supply LazyMixin with this call first + return super(DulwichGitODB, self).__getattr__(attr) + except AttributeError: + # now assume its on the dulwich repository ... for now + return getattr(self._dw_repo, attr) + #END handle attr + + #{ Object DBR + + def info(self, binsha): + type_id, uncomp_data = self._dw_repo.object_store.get_raw(binsha) + return OInfo(binsha, type_id_to_type_map[type_id], len(uncomp_data)) + + def stream(self, binsha): + type_id, uncomp_data = self._dw_repo.object_store.get_raw(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): + obj = ShaFile.from_raw_string(type_to_type_id_map[istream.type], istream.read()) + self._dw_repo.object_store.add_object(obj) + istream.binsha = obj.sha().digest() + return istream + + #}END object dbw + +class DulwichGitDB( PureRepositoryPathsMixin, PureConfigurationMixin, + PureReferencesMixin, PureSubmoduleDB, + PureIndexDB, + PureTransportDB, # not fully implemented + GitCommandMixin, + CmdHighLevelRepository, + DulwichGitODB): # 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(DulwichGitDB, 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(DulwichGitDB, self).__init__(self.objects_dir) + class DulwichCompatibilityGitDB(RepoCompatibilityInterfaceNoBare, DulwichGitDB): - """Basic dulwich compatibility database""" - pass + """Basic dulwich compatibility database""" + pass |