new --lineno argument for passing the current line number being edited at time of heartbeat

This commit is contained in:
Alan Hamlett 2015-05-06 15:19:48 -07:00
parent f387b7bf04
commit afe9e429b2
2 changed files with 8 additions and 2 deletions

View file

@ -147,6 +147,8 @@ def parseArguments(argv):
type=float, type=float,
help='optional floating-point unix epoch timestamp; '+ help='optional floating-point unix epoch timestamp; '+
'uses current time by default') 'uses current time by default')
parser.add_argument('--lineno', dest='lineno',
help='optional line number; current line being edited')
parser.add_argument('--notfile', dest='notfile', action='store_true', parser.add_argument('--notfile', dest='notfile', action='store_true',
help='when set, will accept any value for the file. for example, '+ help='when set, will accept any value for the file. for example, '+
'a domain name or other item you want to log time towards.') 'a domain name or other item you want to log time towards.')
@ -322,6 +324,8 @@ def send_heartbeat(project=None, branch=None, stats={}, key=None, targetFile=Non
data['language'] = stats['language'] data['language'] = stats['language']
if stats.get('dependencies'): if stats.get('dependencies'):
data['dependencies'] = stats['dependencies'] data['dependencies'] = stats['dependencies']
if stats.get('lineno'):
data['lineno'] = stats['lineno']
if isWrite: if isWrite:
data['is_write'] = isWrite data['is_write'] = isWrite
if project: if project:
@ -424,7 +428,7 @@ def main(argv=None):
if os.path.isfile(args.targetFile) or args.notfile: if os.path.isfile(args.targetFile) or args.notfile:
stats = get_file_stats(args.targetFile, notfile=args.notfile) stats = get_file_stats(args.targetFile, notfile=args.notfile, lineno=args.lineno)
project = None project = None
if not args.notfile: if not args.notfile:

View file

@ -86,12 +86,13 @@ def number_lines_in_file(file_name):
return lines return lines
def get_file_stats(file_name, notfile=False): def get_file_stats(file_name, notfile=False, lineno=None):
if notfile: if notfile:
stats = { stats = {
'language': None, 'language': None,
'dependencies': [], 'dependencies': [],
'lines': None, 'lines': None,
'lineno': lineno,
} }
else: else:
language, lexer = guess_language(file_name) language, lexer = guess_language(file_name)
@ -101,5 +102,6 @@ def get_file_stats(file_name, notfile=False):
'language': language, 'language': language,
'dependencies': dependencies, 'dependencies': dependencies,
'lines': number_lines_in_file(file_name), 'lines': number_lines_in_file(file_name),
'lineno': lineno,
} }
return stats return stats