From 5b2a737327000f480bcb42eb431a13e681d223cb Mon Sep 17 00:00:00 2001 From: Luna Date: Thu, 23 May 2019 21:50:07 -0300 Subject: [PATCH 1/6] update api url to rana.lavatech.top --- packages/wakatime/api.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/wakatime/api.py b/packages/wakatime/api.py index 546f693..b0b48d3 100644 --- a/packages/wakatime/api.py +++ b/packages/wakatime/api.py @@ -49,7 +49,7 @@ def send_heartbeats(heartbeats, args, configs, use_ntlm_proxy=False): api_url = args.api_url if not api_url: - api_url = 'https://rana.discordapp.io/api/v1/users/current/heartbeats.bulk' + api_url = 'https://rana.lavatech.top/api/v1/users/current/heartbeats.bulk' log.debug('Sending heartbeats to api at %s' % api_url) timeout = args.timeout if not timeout: @@ -171,7 +171,7 @@ def get_time_today(args, use_ntlm_proxy=False): fetch summary. """ - url = 'https://rana.discordapp.io/api/v1/users/current/summaries' + url = 'https://rana.lavatech.top/api/v1/users/current/summaries' timeout = args.timeout if not timeout: timeout = 60 From 48f256cb52e1ff94632379eeb604216698380411 Mon Sep 17 00:00:00 2001 From: Luna Date: Thu, 23 May 2019 22:21:24 -0300 Subject: [PATCH 2/6] enable custom base url --- packages/wakatime/api.py | 20 ++++++++++++-------- packages/wakatime/main.py | 2 +- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/wakatime/api.py b/packages/wakatime/api.py index 546f693..f925b13 100644 --- a/packages/wakatime/api.py +++ b/packages/wakatime/api.py @@ -38,6 +38,11 @@ except ImportError: # pragma: nocover sys.exit(UNKNOWN_ERROR) +def _make_url(configs, path): + base_url = configs.get('settings', 'base_url') + return '%s/%s' % (base_url, path) + + def send_heartbeats(heartbeats, args, configs, use_ntlm_proxy=False): """Send heartbeats to WakaTime API. @@ -47,9 +52,7 @@ def send_heartbeats(heartbeats, args, configs, use_ntlm_proxy=False): if len(heartbeats) == 0: return SUCCESS - api_url = args.api_url - if not api_url: - api_url = 'https://rana.discordapp.io/api/v1/users/current/heartbeats.bulk' + api_url = _make_url(configs, '/api/v1/users/current/heartbeats.bulk') log.debug('Sending heartbeats to api at %s' % api_url) timeout = args.timeout if not timeout: @@ -163,7 +166,7 @@ def send_heartbeats(heartbeats, args, configs, use_ntlm_proxy=False): return AUTH_ERROR if code == 401 else API_ERROR -def get_time_today(args, use_ntlm_proxy=False): +def get_time_today(args, configs, use_ntlm_proxy=False): """Get coding time from WakaTime API for given time range. Returns total time as string or `None` when unable to fetch summary from @@ -171,7 +174,8 @@ def get_time_today(args, use_ntlm_proxy=False): fetch summary. """ - url = 'https://rana.discordapp.io/api/v1/users/current/summaries' + url = _make_url(configs, '/api/v1/users/current/summaries') + timeout = args.timeout if not timeout: timeout = 60 @@ -219,7 +223,7 @@ def get_time_today(args, use_ntlm_proxy=False): verify=ssl_verify) except RequestException: if should_try_ntlm: - return get_time_today(args, use_ntlm_proxy=True) + return get_time_today(args, configs, use_ntlm_proxy=True) session_cache.delete() if log.isEnabledFor(logging.DEBUG): @@ -233,7 +237,7 @@ def get_time_today(args, use_ntlm_proxy=False): except: # delete cached session when requests raises unknown exception if should_try_ntlm: - return get_time_today(args, use_ntlm_proxy=True) + return get_time_today(args, configs, use_ntlm_proxy=True) session_cache.delete() if log.isEnabledFor(logging.DEBUG): @@ -264,7 +268,7 @@ def get_time_today(args, use_ntlm_proxy=False): return None, API_ERROR else: if should_try_ntlm: - return get_time_today(args, use_ntlm_proxy=True) + return get_time_today(args, configs, use_ntlm_proxy=True) session_cache.delete() log.debug({ diff --git a/packages/wakatime/main.py b/packages/wakatime/main.py index 02a40dc..a17b626 100644 --- a/packages/wakatime/main.py +++ b/packages/wakatime/main.py @@ -43,7 +43,7 @@ def execute(argv=None): setup_logging(args, __version__) if args.today: - text, retval = get_time_today(args) + text, retval = get_time_today(args, configs) if text: print(text) return retval From a91facf9222369cffaa32b28147f964282738503 Mon Sep 17 00:00:00 2001 From: Luna Date: Thu, 23 May 2019 22:24:34 -0300 Subject: [PATCH 3/6] update README.md, add base_url setting --- README.md | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index c23799c..66e8cac 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,30 @@ -[![Vim](https://wakatime.com/static/img/Vim-supported-brightgreen.svg)](https://github.com/wakatime/vim-wakatime#installation) -[![Neovim](https://wakatime.com/static/img/Neovim-supported-brightgreen.svg)](https://github.com/wakatime/vim-wakatime#installation) -[![MacVim](https://wakatime.com/static/img/MacVim-supported-brightgreen.svg)](https://github.com/wakatime/vim-wakatime#installation) -[![gVim](https://wakatime.com/static/img/gVim-supported-brightgreen.svg)](https://github.com/wakatime/vim-wakatime#installation) - - -# vim-wakatime +# vim-rana Quantify your coding inside Vim. +**This is a fork of vim-wakatime. Rana is not affiliated with WakaTime.** + +**Rana is a reverse-engineered WakaTime server.** https://github.com/lnyaa/rana Installation ------------ -1. With [Vundle](https://github.com/gmarik/vundle): `echo "Plugin 'wakatime/vim-wakatime'" >> ~/.vimrc && vim +PluginInstall` +1. With [Vundle](https://github.com/gmarik/vundle): `echo "Plugin 'https://gitdab.com/lavatech/vim-rana'" >> ~/.vimrc && vim +PluginInstall` - Or with [Pathogen](https://github.com/tpope/vim-pathogen): `cd ~/.vim/bundle && git clone git://github.com/wakatime/vim-wakatime.git` + Or with [Pathogen](https://github.com/tpope/vim-pathogen): `cd ~/.vim/bundle && git clone https://gitdab.com/lavatech/vim-rana.git` - Or with [Vim-plug](https://github.com/junegunn/vim-plug): add `Plug 'wakatime/vim-wakatime'` to .vimrc file. While in vim reload .vimrc with `:so ~/.vimrc` or restart vim, enter + Or with [Vim-plug](https://github.com/junegunn/vim-plug): add `Plug 'https://gitdab.com/lavatech/vim-rana'` to .vimrc file. While in vim reload .vimrc with `:so ~/.vimrc` or restart vim, enter `:PlugInstall`. 2. Enter your [api key](https://wakatime.com/settings#apikey), then press `enter`. -3. Use Vim and your coding activity will be displayed on your [WakaTime dashboard](https://wakatime.com). +3. Enter your Rana instance's base URL on the `~/.wakatime.cfg` file. Put it on the `base_url` field. e.g `base_url=https://rana.discordapp.io` + +4. Use Vim and your coding activity will be displayed on your preffered rana instance. Note: WakaTime depends on [Python](http://www.python.org/getit/) being installed to work correctly. -Screen Shots ------------- - -![Project Overview](https://wakatime.com/static/img/ScreenShots/Screen-Shot-2016-03-21.png) - - Configuring ----------- @@ -81,7 +74,7 @@ For more general troubleshooting info, see the [wakatime-cli Troubleshooting Sec Uninstalling ------------ -1. Remove `Plugin 'wakatime/vim-wakatime'` from your `.vimrc` file. +1. Remove `Plugin 'lavatech/vim-rana'` from your `.vimrc` file. 2. Run in terminal: `rm ~/.wakatime.*`. From 0e6020c4f3ff7f4e2ed398d7d3c02b74fb3ad203 Mon Sep 17 00:00:00 2001 From: Luna Date: Thu, 23 May 2019 22:25:07 -0300 Subject: [PATCH 4/6] add api.wakatime.com default when base_url not provided --- packages/wakatime/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/wakatime/api.py b/packages/wakatime/api.py index f925b13..68a8568 100644 --- a/packages/wakatime/api.py +++ b/packages/wakatime/api.py @@ -39,7 +39,7 @@ except ImportError: # pragma: nocover def _make_url(configs, path): - base_url = configs.get('settings', 'base_url') + base_url = configs.get('settings', 'base_url') or 'https://api.wakatime.com' return '%s/%s' % (base_url, path) From 605e6096fb372ff8f743e3395ebf2d70e053c9c8 Mon Sep 17 00:00:00 2001 From: Luna Date: Thu, 23 May 2019 22:36:22 -0300 Subject: [PATCH 5/6] remove extra slash on api urls --- packages/wakatime/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/wakatime/api.py b/packages/wakatime/api.py index 79701ed..dc56f42 100644 --- a/packages/wakatime/api.py +++ b/packages/wakatime/api.py @@ -40,7 +40,7 @@ except ImportError: # pragma: nocover def _make_url(configs, path): base_url = configs.get('settings', 'base_url') or 'https://api.wakatime.com' - return '%s/%s' % (base_url, path) + return '%s%s' % (base_url, path) def send_heartbeats(heartbeats, args, configs, use_ntlm_proxy=False): From b7112ff3ae2d08094cb469e45b8ec3859bbb600a Mon Sep 17 00:00:00 2001 From: Luna Date: Thu, 6 Jun 2019 14:57:16 -0300 Subject: [PATCH 6/6] update rana-cli package --- packages/wakatime/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/wakatime/api.py b/packages/wakatime/api.py index dc56f42..06519bf 100644 --- a/packages/wakatime/api.py +++ b/packages/wakatime/api.py @@ -39,7 +39,7 @@ except ImportError: # pragma: nocover def _make_url(configs, path): - base_url = configs.get('settings', 'base_url') or 'https://api.wakatime.com' + base_url = configs.get('settings', 'base_url', fallback=None) or 'https://api.wakatime.com' return '%s%s' % (base_url, path)