set project name with .wakatime-project file. upgrade wakatime package to 0.4.10.

This commit is contained in:
Alan Hamlett 2013-11-13 18:06:55 -08:00
parent f60815b813
commit 4fc1a55ff7
4 changed files with 60 additions and 1 deletions

View File

@ -3,6 +3,12 @@ History
------- -------
0.4.10 (2013-11-13)
+++++++++++++++++++
- Placing .wakatime-project file in a folder will read the project's name from that file
0.4.9 (2013-10-27) 0.4.9 (2013-10-27)
++++++++++++++++++ ++++++++++++++++++

View File

@ -12,7 +12,7 @@
from __future__ import print_function from __future__ import print_function
__title__ = 'wakatime' __title__ = 'wakatime'
__version__ = '0.4.9' __version__ = '0.4.10'
__author__ = 'Alan Hamlett' __author__ = 'Alan Hamlett'
__license__ = 'BSD' __license__ = 'BSD'
__copyright__ = 'Copyright 2013 Alan Hamlett' __copyright__ = 'Copyright 2013 Alan Hamlett'

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])