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,
help='optional floating-point unix epoch timestamp; '+
'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',
help='when set, will accept any value for the file. for example, '+
'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']
if stats.get('dependencies'):
data['dependencies'] = stats['dependencies']
if stats.get('lineno'):
data['lineno'] = stats['lineno']
if isWrite:
data['is_write'] = isWrite
if project:
@ -424,7 +428,7 @@ def main(argv=None):
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
if not args.notfile:

View File

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