set project name with .wakatime-project file

This commit is contained in:
Alan Hamlett 2013-11-13 10:41:56 -08:00
parent 7ab0d54ec9
commit b345a1ff7b
2 changed files with 53 additions and 0 deletions

View file

@ -12,6 +12,7 @@
import logging import logging
import os import os
from .projects.wakatime import WakaTime
from .projects.git import Git from .projects.git import Git
from .projects.mercurial import Mercurial from .projects.mercurial import Mercurial
from .projects.subversion import Subversion from .projects.subversion import Subversion
@ -20,6 +21,7 @@ from .projects.subversion import Subversion
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
PLUGINS = [ PLUGINS = [
WakaTime,
Git, Git,
Mercurial, Mercurial,
Subversion, Subversion,

View file

@ -0,0 +1,51 @@
# -*- coding: utf-8 -*-
"""
wakatime.projects.wakatime
~~~~~~~~~~~~~~~~~~~~~~~~~~
Information from a .wakatime-project file about the project for
a given file.
:copyright: (c) 2013 Alan Hamlett.
:license: BSD, see LICENSE for more details.
"""
import logging
import os
from .base import BaseProject
log = logging.getLogger(__name__)
class WakaTime(BaseProject):
def process(self):
self.config = self._find_config(self.path)
if self.config:
return True
return False
def name(self):
project_name = None
try:
with open(self.config) as fh:
project_name = fh.readline().strip()
except IOError as e:
log.exception("Exception:")
return project_name
def branch(self):
return None
def _find_config(self, path):
path = os.path.realpath(path)
if os.path.isfile(path):
path = os.path.split(path)[0]
if os.path.isfile(os.path.join(path, '.wakatime-project')):
return os.path.join(path, '.wakatime-project')
split_path = os.path.split(path)
if split_path[1] == '':
return None
return self._find_config(split_path[0])