sephii / taxi Goto Github PK
View Code? Open in Web Editor NEWTaxi is a CLI to time tracking backends
Home Page: https://taxi-timesheets.readthedocs.io/
License: Do What The F*ck You Want To Public License
Taxi is a CLI to time tracking backends
Home Page: https://taxi-timesheets.readthedocs.io/
License: Do What The F*ck You Want To Public License
If I enter the following line to my timesheets:
xy_17 09:15-11:00 Meeting with M. Tee # So stupid guy...
Currently the comment is pushed, should not be the case...
Following #51 I suggest that you change your branching model to something more standard. And that master became to be the stable branch. Imo people are used to consider master as the stable branch. What do you think about that?
I did a "taxi update" but I still get this exception:
sebastien:~/www/teachcycle|enroll $ taxi alias jlc_ecom_europe_sprint1 1484/278
Traceback (most recent call last):
File "/usr/local/bin/taxi", line 4, in
app.main()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/app.py", line 148, in main
app.run()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/app.py", line 136, in run
action.run()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/commands.py", line 198, in run
self._add_alias(self.alias, self.mapping)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/commands.py", line 221, in _add_alias
project = projects_db.get(project_activity[0])
NameError: global name 'projects_db' is not defined
for example this project: taxi show 1376
i can book hours on that in zebra
In order to ease the process of adding a new alias, Taxi should automatically select the first option if it is the only one upon pressing 'enter'.
Actual behavior :
Choose the project (0-0), (Ctrl-C) to exit:
Please enter a number
Choose the project (0-0), (Ctrl-C) to exit: 0
In this case, Taxi could simply select the entry 0 which is the only one.
Hi Sylvain,
it would be great to be able to specify , ideally in the config or ~/.tksrc file, a different editor for the "taxi edit" command.
The fact is that while I use "nano" in the terminal but my favourite editor is Sublime text.
Does it sound like a resonable request to you?
The --ignore-date-error
parameter should also be available as a config option.
I want to be able to write "taxi add 1484" to add my project. It should then ask me which "subproject" I want to add.
Imagine we are the first of the month. Your file is empty and you don’t remember alias of projects you were working on or you just want to verify previous day hours. It’s not really easy to do.
Could we implement something like taxi edit -1
or taxi edit {month-number}
?
When closing editing mode or after pushing hours, I want to have two percentage values such as:
Using a malformed duration (eg. 1000-1061) causes taxi to crash with the following output:
Traceback (most recent call last):
File "/usr/local/bin/taxi", line 4, in <module>
app.main()
File "/usr/local/lib/python2.7/dist-packages/taxi/app.py", line 148, in main
app.run()
File "/usr/local/lib/python2.7/dist-packages/taxi/app.py", line 136, in run
action.run()
File "/usr/local/lib/python2.7/dist-packages/taxi/commands.py", line 386, in run
t = self.get_timesheet()
File "/usr/local/lib/python2.7/dist-packages/taxi/commands.py", line 45, in get_timesheet
p = PlainTextParser(PlainFileIo(self.options.file))
File "/usr/local/lib/python2.7/dist-packages/taxi/parser/parsers/plaintext.py", line 12, in __init__
super(PlainTextParser, self).__init__(file)
File "/usr/local/lib/python2.7/dist-packages/taxi/parser/parsers/__init__.py", line 10, in __init__
self.parse()
File "/usr/local/lib/python2.7/dist-packages/taxi/parser/parsers/__init__.py", line 17, in parse
self.parsed_lines.append(self.parse_line())
File "/usr/local/lib/python2.7/dist-packages/taxi/parser/parsers/plaintext.py", line 31, in parse_line
return self._parse_entry_line(line)
File "/usr/local/lib/python2.7/dist-packages/taxi/parser/parsers/plaintext.py", line 40, in _parse_entry_line
time = self._process_time(split_line[1])
File "/usr/local/lib/python2.7/dist-packages/taxi/parser/parsers/plaintext.py", line 49, in _process_time
return self.parse_time(str_time)
File "/usr/local/lib/python2.7/dist-packages/taxi/parser/parsers/plaintext.py", line 96, in parse_time
time_end = datetime.time(int(time.group(3)), int(time.group(4)))
ValueError: minute must be in 0..59
Also this makes the edit
command unusable.
[dj]/Users/dj/Sites/taxi|master %>taxi add inter
(0) 7 Internal stuff
(1) 781 ...
(2) 782 ...
Choose the project (0-2), (Ctrl-C) to exit: 0
Id: 7
Activities:
(0) 17 Infrastruktur (mapped to _infra)
(1) 520 Buddy work (mapped to _buddy)
(2) 632 Coaching new employee (mapped to _coaching)
(3) 649 job interview (mapped to _interview)
(4) 16 Nicht zuzuordnen (mapped to _internal)
(5) 520 Buddy work (mapped to _buddy)
...
(46) 520 Buddy work (mapped to _buddy)
(47) 632 Coaching new employee (mapped to _coaching)
(48) 649 job interview (mapped to _interview)
Choose the activity (0-48), (Ctrl-C) to exit:
Ordering the taxi alias listing by project ID would allow to find easily the latest aliases added for a client.
Hello,
I wanted to install the latest taxi yesterday (I'm on Mac OS X 10.9.2).
I launched the pip command.
The install was short and just output that:
Downloading/unpacking git+git://github.com/sephii/taxi.git
Cloning git://github.com/sephii/taxi.git to /tmp/pip-6t81mc-build
Running setup.py egg_info for package from git+git://github.com/sephii/taxi.git
Cleaning up...
I was still on taxi 3.0.2 after that.
I tried cloning the repo and then run the python command and apparently there was some issues with my python setuptools. I had to upgrade them. After that it worked.
It was just weird that the error I got with the python command was not shown with the pip install
.
So it's maybe something that can be added.
Works great now tho =)
Thanks.
Claude
When you push a group of hours and one of them fails, you barely notice it. It would be great to colorize the whole line in red or something.
When running the update
command, shared aliases pointing on closed (old) activities are still added to the configuration file. That leads to an ever-growing mapping file and confusion when looking for aliases with the alias
command. It would be better to ignore shared aliases pointing to closed activities.
If we completely separate taxi from the zebra backend, this will have major benefits:
So in my idea, each aliases could be bound to a specific backend, and then when I do a taxi ci, the entries will be pushed to appropriate location.
What do you think about that? This goes in the same spirit as #24, #29 but one step ahead...
in .tksrc:
editor = '/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl -n -w'
then in zsh:
taxi edit
Result:
Traceback (most recent call last):
File "/usr/local/bin/taxi", line 4, in <module>
app.main()
File "/Library/Python/2.7/site-packages/taxi/app.py", line 148, in main
app.run()
File "/Library/Python/2.7/site-packages/taxi/app.py", line 136, in run
action.run()
File "/Library/Python/2.7/site-packages/taxi/commands.py", line 408, in run
file.spawn_editor(self.options.file, editor)
File "/Library/Python/2.7/site-packages/taxi/utils/file.py", line 29, in spawn_editor
subprocess.call(editor)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 486, in call
return Popen(*popenargs, **kwargs).wait()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 672, in __init__
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1202, in _execute_child
raise child_exception
We also tried in tksrc with a backslash /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -n -w
but it still breaks.
In Pdb session, args
shows args = ['/Applications/Sublime', 'Text.app/Contents/SharedSupport/bin/subl', '-n', '-w', '/Users/sebastien/zebra/2013/07.tks']
i tried to commit following message
telefonie (1313/118) 0.50 Aufräumen Tickets bezüglich VOIP - SUP-3755
in zebra the text is stored until the umlaut
"Aufr"
On the current matser, I got this issue at commit:
[dj]/Users/dj/Sites/taxi|master>taxi ci --ignore-date-error
Pushing entries...
Traceback (most recent call last):
File "/usr/local/bin/taxi", line 3, in <module>
app.main()
File "/Users/dj/Sites/taxi/taxi/app.py", line 178, in main
app.run()
File "/Users/dj/Sites/taxi/taxi/app.py", line 61, in run
self.run_command(args[0], options.__dict__, command_args)
File "/Users/dj/Sites/taxi/taxi/app.py", line 165, in run_command
action.run()
File "/Users/dj/Sites/taxi/taxi/commands.py", line 386, in run
self._entry_pushed)
File "/Users/dj/Sites/taxi/taxi/remote.py", line 102, in send_entries
'project_id': entry.project_id,
AttributeError: 'TimesheetEntry' object has no attribute 'project_id'
sebastien:~/www/teachcycle|enroll $ taxi show 1484
Traceback (most recent call last):
File "/usr/local/bin/taxi", line 4, in
app.main()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/app.py", line 148, in main
app.run()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/app.py", line 136, in run
action.run()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/commands.py", line 487, in run
raise Exception("Error: the project doesn't exist")
Exception: Error: the project doesn't exist
Currently when I enter an invalid alias, the application goes in exception mode. Like:
[dj]/Users/dj/Sites/taxi|master>taxi status
Error: The alias `_ssm2` is not mapped in your configuration file.
Did you mean one of the following?
_ssm
ssm_zh
_sodes
But sometimes (depending of the PO) aliases are not available directly and it's then useful to be able to use them in advanced. I suggest not to break the flow but just ignoring the impacted entries. Example:
[dj]/Users/dj/Sites/taxi|master>taxi status
Staging changes :
# Vendredi 19 septembre #
_ssm (1868/693) 1.00 Meeting
_ssm2 (ignored) 1.00 Meeting of the new project
Invalid alias `_ssm2`. Did you mean one of the following: (_ssm, ssm_zh, _sodes)?
_ssm (1868/693) 0.50 Call
2.50
Total 2.50
I wanted to start coding this, but as i seems you are in a refactoring session, maybe it's better to not start it yet... Feedback welcome
Could be great if we update zebra to be able to define taxi alias directly on the projects. Then aliases will fetch at taxi update
.
Then those aliases should be overridable by any user as always by running a taxi add
...
What about this? Could we push it forward?
Here is the output:
pia_ext (2077/1009) 4.25 Automatic dynamisation of the links
pia_ext (2077/1009) 0.75 Deployment to quality, preprod and prod
Traceback (most recent call last):
File "/usr/local/bin/taxi", line 3, in <module>
app.main()
File "/Users/dj/Sites/taxi/taxi/app.py", line 175, in main
app.run()
File "/Users/dj/Sites/taxi/taxi/app.py", line 61, in run
self.run_command(args[0], options.__dict__, command_args)
File "/Users/dj/Sites/taxi/taxi/app.py", line 162, in run_command
action.run()
File "/Users/dj/Sites/taxi/taxi/commands.py", line 423, in run
ignored_entries_list)
File "/Users/dj/Sites/taxi/taxi/ui/__init__.py", line 235, in pushed_entries_summary
self.pushed_entries_total(pushed_entries)
File "/Users/dj/Sites/taxi/taxi/ui/__init__.py", line 186, in pushed_entries_total
self.display_entries_list(pushed_entries, 'Total pushed', False)
File "/Users/dj/Sites/taxi/taxi/ui/__init__.py", line 173, in display_entries_list
reason = entry[1]
AttributeError: AggregatedEntry instance has no attribute '__getitem__'
In taxi, it's possible to do:
alias 09:00-? first task
But not
alias 09:00-09:15 Daily
alias2 -? second task
This generate the following error
Error: Parse error at line 29: The duration must be a float number or a HH:mm string
Consider the following file :
alias? 1000-1100
other -1200
alias? -1300
If I commit this a first time, only the other
line will be commited. Then the third line will use the end time of the first time as its start time, leading to a wrong timesheeting.
I wish to have personal alias such as _lunch
or _pingpong
that are not pushed to zebra
Implement the same logic as the clean-aliases
command and run it on every update. Also the clean-aliases
command looks buggy because it proposes to clean shared aliases but doesn't clean them.
When using an inexistent alias, taxi says it's mapped to "(None/None)" although it should report an error:
Also when committing, all the lines get committed, except for the one having the error, and then taxi crashes with an error "the alias is not mapped" which causes the entries to be partially committed and not commented in the entries file.
As discussed, I have the feeling that a single "taxi stop" command (without requiring the use of an earlier taxi start), could be useful:
taxi enginestart (adds a time for the arrival)
taxi pitstop activity_code "activity description"
What do you think?
sebastien:/usr/local/bin|master $ taxi clean-aliases
Traceback (most recent call last):
File "/usr/local/bin/taxi", line 4, in
app.main()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/app.py", line 148, in main
app.run()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/app.py", line 136, in run
action.run()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/commands.py", line 316, in run
if (project is None or not project.is_active() or
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/models.py", line 135, in is_active
(self.start_date is None or
AttributeError: Project instance has no attribute 'start_date'
sebastien:/usr/local/bin|master $ taxi update
Updating database, this may take some time...
Projects database updated successfully.
sebastien:/usr/local/bin|master $ taxi clean-aliases
The following aliases are mapped to inactive projects:
...
Do you want to clean them [y/N]? N
I get the following error when "Noé" appears one of the entry:
Staging changes :
# Wednesday 22 january #
jlc_dotcom_sup_co (1415/154) 0.25 daily
Traceback (most recent call last):
File "/usr/local/bin/taxi", line 4, in <module>
app.main()
File "/Library/Python/2.7/site-packages/taxi/app.py", line 149, in main
app.run()
File "/Library/Python/2.7/site-packages/taxi/app.py", line 137, in run
action.run()
File "/Library/Python/2.7/site-packages/taxi/commands.py", line 554, in run
self.view.show_status(t.get_entries(self.date))
File "/Library/Python/2.7/site-packages/taxi/ui/__init__.py", line 201, in show_status
self.msg(unicode(entry))
File "/Library/Python/2.7/site-packages/taxi/ui/__init__.py", line 24, in msg
print(message.encode(self._get_encoding()))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 96: ordinal not in range(128)
If I removed the accent in the following line, it just works:
jlc_dotcom_sup_dev 1.25 JLC-1306 investigated with Noé
Traceback (most recent call last):
File "/usr/local/bin/taxi", line 3, in
app.main()
File "/Users/dj/Sites/taxi/taxi/app.py", line 175, in main
app.run()
File "/Users/dj/Sites/taxi/taxi/app.py", line 61, in run
self.run_command(args[0], options.dict, command_args)
File "/Users/dj/Sites/taxi/taxi/app.py", line 162, in run_command
action.run()
File "/Users/dj/Sites/taxi/taxi/commands.py", line 476, in run
self.view.show_status(t.get_entries(regroup=True))
File "/Users/dj/Sites/taxi/taxi/ui/init.py", line 216, in show_status
date_utils.unicode_strftime(date, '%A %d %B').capitalize())
File "/Users/dj/Sites/taxi/taxi/ui/init.py", line 31, in msg
self.stdout.write(u"%s%s\n" % (color, message.encode(self._get_encoding())))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 16: ordinal not in range(128)
For instance when you install Taxi on MacOSX, you get:
Traceback (most recent call last):
File "/usr/local/bin/taxi", line 4, in <module>
app.main()
File "/Library/Python/2.7/site-packages/taxi/app.py", line 148, in main
app.run()
File "/Library/Python/2.7/site-packages/taxi/app.py", line 136, in run
action.run()
File "/Library/Python/2.7/site-packages/taxi/commands.py", line 400, in run
t.add_date(datetime.date.today(), is_top_down)
File "/Library/Python/2.7/site-packages/taxi/models.py", line 395, in add_date
self.parser.parsed_lines.insert(index, DateLine(date, date_format=self.date_format))
File "/Library/Python/2.7/site-packages/taxi/parser/__init__.py", line 66, in __init__
self.text = date_utils.unicode_strftime(self.date, date_format)
File "/Library/Python/2.7/site-packages/taxi/utils/date.py", line 17, in unicode_strftime
locale_encoding = locale.getlocale()[1]
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 530, in getlocale
return _parse_localename(localename)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 443, in _parse_localename
raise ValueError, 'unknown locale: %s' % localename
ValueError: unknown locale: UTF-8
To solve this you have to add these lines below to your ~/.bash_profile
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
Thanks
Some people (only OS X people at the moment) got the following exception when trying to commit a file with accented entries:
Traceback (most recent call last):
File "/usr/local/bin/taxi", line 4, in <module>
app.main()
File "/Library/Python/2.7/site-packages/taxi/app.py", line 557, in main
call_action(actions, options, args)
File "/Library/Python/2.7/site-packages/taxi/app.py", line 467, in call_action
action[1](options=options, args=args)
File "/Library/Python/2.7/site-packages/taxi/app.py", line 305, in commit
pusher.push(parser.get_entries(date=options.date))
File "/Library/Python/2.7/site-packages/taxi/pusher.py", line 9, in push
self.remote.send_entries(entries)
File "/Library/Python/2.7/site-packages/taxi/remote.py", line 127, in send_entries
(entry, error))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 84: ordinal not in range(128)
export:
declare -x COMMAND_MODE="unix2003"
declare -x EDITOR="nano"
declare -x HOME="/Users/patrickwicky"
declare -x LANG="de_CH.UTF-8"
declare -x LOGNAME="patrickwicky"
declare -x OLDPWD="/Users/patrickwicky"
declare -x PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin"
declare -x PWD="/Users/patrickwicky/zebra"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_AUTH_SOCK="/tmp/launch-ku1YF1/Listeners"
declare -x TERM="xterm-256color"
declare -x TERM_PROGRAM="Apple_Terminal"
declare -x TERM_PROGRAM_VERSION="309"
declare -x TERM_SESSION_ID="11EA53C1-8583-456F-A7EB-8539FE717A91"
declare -x TMPDIR="/var/folders/59/dzp67gpd2g5bt6vmg6_rtk400000gn/T/"
declare -x USER="patrickwicky"
declare -x __CF_USER_TEXT_ENCODING="0x1F5:0:3"
EHLO
I just encountered a problem with Taxi 3.0-beta2 when i try to create a new file (this bug was also in the former version but i upgraded to seeif there's a bugfix for that)
~/tks > taxi --version
taxi 3.0-beta2
I get following errors
~/tks > taxi edit --verbose
Traceback (most recent call last):
File "/usr/local/bin/taxi", line 4, in <module>
app.main()
File "/Library/Python/2.7/site-packages/taxi/app.py", line 148, in main
app.run()
File "/Library/Python/2.7/site-packages/taxi/app.py", line 136, in run
action.run()
File "/Library/Python/2.7/site-packages/taxi/commands.py", line 401, in run
t.save()
File "/Library/Python/2.7/site-packages/taxi/models.py", line 399, in save
self.parser.save()
File "/Library/Python/2.7/site-packages/taxi/parser/parsers/__init__.py", line 35, in save
self.io.write(lines)
File "/Library/Python/2.7/site-packages/taxi/parser/io.py", line 24, in write
f.write('%s\n' % line)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/codecs.py", line 691, in write
return self.writer.write(data)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/codecs.py", line 351, in write
data, consumed = self.encode(object, self.errors)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 10: ordinal not in range(128)
~/tks >
/bastian
start and end dates are available in "enddate" and "startdate" attributes of the all.json listing
When I have multiple entries with the same description, they get rewritten differently. Here’s the text before commit:
alias -12:15 Bla bla
alias -13:45 Bla bla
Then, white spaces (sorry I like aligning things) are removed and start time is added:
# alias 11:30-12:15 Bla bla
# alias 13:15-13:45 Bla bla
I agree it’s a non-blocking issue but it makes my file unreadable. We should do it for all entries or none, but not only grouped entries.
If your timesheet file can’t be parsed, you can’t edit it. Here’s the error returned:
Traceback (most recent call last):
File "/usr/local/bin/taxi", line 4, in <module>
app.main()
File "/usr/local/lib/python2.7/site-packages/taxi/app.py", line 175, in main
app.run()
File "/usr/local/lib/python2.7/site-packages/taxi/app.py", line 61, in run
self.run_command(args[0], options.__dict__, command_args)
File "/usr/local/lib/python2.7/site-packages/taxi/app.py", line 162, in run_command
action.run()
File "/usr/local/lib/python2.7/site-packages/taxi/commands.py", line 458, in run
t.add_date(datetime.date.today(), is_top_down)
UnboundLocalError: local variable 't' referenced before assignment
I'm getting this traceback when trying to use autofill:
[mikl:~] % taxi autofill
Traceback (most recent call last):
File "/usr/local/bin/taxi", line 4, in <module>
app.main()
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/app.py", line 149, in main
app.run()
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/app.py", line 137, in run
action.run()
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/commands.py", line 279, in run
t.prefill(auto_fill_days, last_date, add_to_bottom)
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/models.py", line 381, in prefill
self.add_date(cur_date, add_to_bottom)
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/models.py", line 396, in add_date
self.parser.parsed_lines.insert(index, DateLine(date, date_format=self.date_format))
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/parser/__init__.py", line 69, in __init__
self.text = date_utils.unicode_strftime(self.date, date_format)
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/taxi/utils/date.py", line 17, in unicode_strftime
locale_encoding = locale.getlocale()[1]
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 530, in getlocale
return _parse_localename(localename)
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 443, in _parse_localename
raise ValueError, 'unknown locale: %s' % localename
ValueError: unknown locale: UTF-8
My Python version:
Python 2.7.5 (default, Aug 25 2013, 00:04:04)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
C:\Users\mcornut>taxi update
Updating database, this may take some time...
Traceback (most recent call last):
File "", line 1, in
File "C:\Python27\lib\site-packages\taxi\app.py", line 149, in main
app.run()
File "C:\Python27\lib\site-packages\taxi\app.py", line 137, in run
action.run()
File "C:\Python27\lib\site-packages\taxi\commands.py", line 602, in run
projects = r.get_projects()
File "C:\Python27\lib\site-packages\taxi\remote.py", line 154, in get_projects
self._login()
File "C:\Python27\lib\site-packages\taxi\remote.py", line 82, in _login
response = self._request(login_url, parameters)
File "C:\Python27\lib\site-packages\taxi\remote.py", line 62, in _request
response = opener.open(request, timeout=self.DEFAULT_TIMEOUT)
File "C:\Python27\lib\urllib2.py", line 404, in open
response = self._open(req, data)
File "C:\Python27\lib\urllib2.py", line 422, in _open
'_open', req)
File "C:\Python27\lib\urllib2.py", line 382, in _call_chain
result = func(*args)
File "C:\Python27\lib\urllib2.py", line 1222, in https_open
return self.do_open(httplib.HTTPSConnection, req)
File "C:\Python27\lib\urllib2.py", line 1187, in do_open
r = h.getresponse(buffering=True)
File "C:\Python27\lib\httplib.py", line 1045, in getresponse
response.begin()
File "C:\Python27\lib\httplib.py", line 409, in begin
version, status, reason = self._read_status()
File "C:\Python27\lib\httplib.py", line 365, in _read_status
line = self.fp.readline(_MAXLINE + 1)
File "C:\Python27\lib\socket.py", line 476, in readline
data = self._sock.recv(self._rbufsize)
File "C:\Python27\lib\ssl.py", line 241, in recv
return self.read(buflen)
File "C:\Python27\lib\ssl.py", line 160, in read
return self._sslobj.read(len)
ssl.SSLError: The read operation timed out
# we are May 1st, I have one un-pushed entry for 30.04.2013:
taxi --date=30.04.2013 commit
=> Total pushed 0.00
My version is v3.0-beta4
It would be awesome if the taxi start command would use the end time of the last entry as the start time of the new entry, if from the same day. Or maybe it could do that optionally... But since the end time is rounded to a quarter of an hour I almost always have to correct the start time to the same value in order to not book too much time because of overlaps.
I have the latest version and today when I tried editing the file, I got the following error:
Traceback (most recent call last):
File "/usr/local/bin/taxi", line 4, in <module>
app.main()
File "/usr/local/lib/python2.7/site-packages/taxi/app.py", line 178, in main
app.run()
File "/usr/local/lib/python2.7/site-packages/taxi/app.py", line 61, in run
self.run_command(args[0], options.__dict__, command_args)
File "/usr/local/lib/python2.7/site-packages/taxi/app.py", line 165, in run_command
action.run()
File "/usr/local/lib/python2.7/site-packages/taxi/commands.py", line 452, in run
timesheet_collection = self.get_timesheet_collection()
File "/usr/local/lib/python2.7/site-packages/taxi/commands.py", line 52, in get_timesheet_collection
int(self.settings.get('nb_previous_files'))
File "/usr/local/lib/python2.7/site-packages/taxi/commands.py", line 123, in get_files
file_date = file_date.replace(month=file_date.month - 1)
ValueError: day is out of range for month
My last entry was on 30/07/2014 and everything was committed. I did something wrong?
If I save with multiple entries having the same alias & description, I get the following error:
File "/usr/local/bin/taxi", line 4, in <module>
app.main()
File "/usr/local/lib/python2.7/site-packages/taxi/app.py", line 178, in main
app.run()
File "/usr/local/lib/python2.7/site-packages/taxi/app.py", line 61, in run
self.run_command(args[0], options.__dict__, command_args)
File "/usr/local/lib/python2.7/site-packages/taxi/app.py", line 165, in run_command
action.run()
File "/usr/local/lib/python2.7/site-packages/taxi/commands.py", line 490, in run
self.view.show_status(t.get_entries(regroup=True))
File "/usr/local/lib/python2.7/site-packages/taxi/ui/__init__.py", line 237, in show_status
if not entry.is_local():
AttributeError: AggregatedEntry instance has no attribute 'is_local'
When taxi is invoked with -f and the file is not the current month file, the current date is still added to the file, which should not be the case.
Entries on the same date with the same description should be grouped in the status and commit commands
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.