Fix ProjectMap always returning true if it has a config section
This commit is contained in:
parent
5b9eb937ff
commit
b75570a589
1 changed files with 19 additions and 8 deletions
|
@ -12,6 +12,7 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
from functools import partial
|
||||||
|
|
||||||
from ..packages import simplejson as json
|
from ..packages import simplejson as json
|
||||||
|
|
||||||
|
@ -23,22 +24,32 @@ log = logging.getLogger(__name__)
|
||||||
|
|
||||||
class ProjectMap(BaseProject):
|
class ProjectMap(BaseProject):
|
||||||
def process(self):
|
def process(self):
|
||||||
if self.settings:
|
if not self.settings:
|
||||||
return True
|
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):
|
def branch(self):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def name(self):
|
def name(self):
|
||||||
for path in self._path_generator():
|
return self.project
|
||||||
if self.settings.has_option('projectmap', path):
|
|
||||||
return self.settings.get('projectmap', path)
|
|
||||||
|
|
||||||
return None
|
|
||||||
|
|
||||||
def _path_generator(self):
|
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'], '')
|
path = self.path.replace(os.environ['HOME'], '')
|
||||||
while path != os.path.dirname(path):
|
while path != os.path.dirname(path):
|
||||||
yield path
|
yield path
|
||||||
|
|
Loading…
Reference in a new issue