From 1aa88e4bf19f0a4a9324860d554733aa65a46489 Mon Sep 17 00:00:00 2001 From: Alan Hamlett Date: Thu, 15 Aug 2013 00:09:27 -0700 Subject: [PATCH] using branch instead of tags --- wakatime/__init__.py | 12 ++++++------ wakatime/projects/base.py | 7 +++---- wakatime/projects/git.py | 30 +++++++----------------------- wakatime/projects/mercurial.py | 4 ++-- wakatime/projects/subversion.py | 8 ++++---- 5 files changed, 22 insertions(+), 39 deletions(-) diff --git a/wakatime/__init__.py b/wakatime/__init__.py index 92e16f5..45971d2 100644 --- a/wakatime/__init__.py +++ b/wakatime/__init__.py @@ -120,7 +120,7 @@ def get_user_agent(plugin): return user_agent -def send_action(project=None, tags=None, key=None, targetFile=None, +def send_action(project=None, branch=None, key=None, targetFile=None, timestamp=None, endtime=None, isWrite=None, plugin=None, **kwargs): url = 'https://www.wakati.me/api/v1/actions' log.debug('Sending action to api at %s' % url) @@ -134,8 +134,8 @@ def send_action(project=None, tags=None, key=None, targetFile=None, data['is_write'] = isWrite if project: data['project'] = project - if tags: - data['tags'] = list(set(tags)) + if branch: + data['branch'] = branch log.debug(data) # setup api request headers @@ -175,13 +175,13 @@ def main(argv=None): args = parseArguments(argv) setup_logging(args, __version__) if os.path.isfile(args.targetFile): - tags = [] + branch = None name = None project = find_project(args.targetFile) if project: - tags = project.tags() + branch = project.branch() name = project.name() - if send_action(project=name, tags=tags, **vars(args)): + if send_action(project=name, branch=branch, **vars(args)): return 0 return 102 else: diff --git a/wakatime/projects/base.py b/wakatime/projects/base.py index 728a7f8..8e1b7a5 100644 --- a/wakatime/projects/base.py +++ b/wakatime/projects/base.py @@ -47,8 +47,7 @@ class BaseProject(object): """ return None - def tags(self): - """ Returns an array of tag strings for the - path and/or project. + def branch(self): + """ Returns the current branch. """ - return [] + return None diff --git a/wakatime/projects/git.py b/wakatime/projects/git.py index 8a52dcb..94f1cc2 100644 --- a/wakatime/projects/git.py +++ b/wakatime/projects/git.py @@ -37,29 +37,7 @@ class Git(BaseProject): return os.path.basename(base) return None - def tags(self): - tags = [] - if self.config: - proj_name = self.name() - if proj_name: - tags.append(proj_name) - sections = self._parse_config() - for section in sections: - if section.split(' ', 1)[0] == 'remote' and 'url' in sections[section]: - remote = sections[section]['url'].rsplit(':', 1)[-1].rsplit('/', 1)[-1].split('.git', 1)[0] - if remote: - tags.append(remote) - branch = self._current_branch() - if branch is not None: - tags.append(branch) - return tags - - def _project_base(self): - if self.config: - return os.path.dirname(os.path.dirname(self.config)) - return None - - def _current_branch(self): + def branch(self): stdout = None try: stdout, stderr = Popen([ @@ -77,6 +55,12 @@ class Git(BaseProject): return line[1] return None + + def _project_base(self): + if self.config: + return os.path.dirname(os.path.dirname(self.config)) + return None + def _find_config(self, path): path = os.path.realpath(path) if os.path.isfile(path): diff --git a/wakatime/projects/mercurial.py b/wakatime/projects/mercurial.py index 7d9b2ae..4e9ce96 100644 --- a/wakatime/projects/mercurial.py +++ b/wakatime/projects/mercurial.py @@ -26,5 +26,5 @@ class Mercurial(BaseProject): def name(self): return None - def tags(self): - return [] + def branch(self): + return None diff --git a/wakatime/projects/subversion.py b/wakatime/projects/subversion.py index c8f54af..6a7aed5 100644 --- a/wakatime/projects/subversion.py +++ b/wakatime/projects/subversion.py @@ -31,11 +31,11 @@ class Subversion(BaseProject): def name(self): return self.info['Repository Root'].split('/')[-1] - def tags(self): - tags = [] + def branch(self): + branch = None if self.base: - tags.append(os.path.basename(self.base)) - return tags + branch = os.path.basename(self.base) + return branch def _get_info(self, path): info = OrderedDict()