Fix ProjectMap always returning true if it has a config section

This commit is contained in:
3onyc 2013-12-12 10:09:14 +01:00
parent 5b9eb937ff
commit b75570a589

View file

@ -12,6 +12,7 @@
import logging
import os
from functools import partial
from ..packages import simplejson as json
@ -23,22 +24,32 @@ log = logging.getLogger(__name__)
class ProjectMap(BaseProject):
def process(self):
if self.settings:
return True
if not self.settings:
return False
return False
self.project = self._find_project()
return self.project != None
def _find_project(self):
has_option = partial(self.settings.has_option, 'projectmap')
get_option = partial(self.settings.get, 'projectmap')
paths = self._path_generator()
projects = map(get_option, filter(has_option, paths))
return projects[0] if projects else None
def branch(self):
return None
def name(self):
for path in self._path_generator():
if self.settings.has_option('projectmap', path):
return self.settings.get('projectmap', path)
return None
return self.project
def _path_generator(self):
"""
Generates paths from the current directory up to the user's home folder
stripping anything in the path before the home path
"""
path = self.path.replace(os.environ['HOME'], '')
while path != os.path.dirname(path):
yield path