diff options
author | James McCoy <jamessan@jamessan.com> | 2021-11-06 11:10:08 -0400 |
---|---|---|
committer | James McCoy <jamessan@jamessan.com> | 2021-12-25 12:11:34 -0500 |
commit | fb14e2a8d6aacfb02578c2e191f26cfdf416bfde (patch) | |
tree | e43ebfdfd790bd103d68b6ad4747a4a12107de1d | |
parent | 9e93e5c0c8ea5bfe96f94e5c357d93f0315920e2 (diff) | |
download | rneovim-fb14e2a8d6aacfb02578c2e191f26cfdf416bfde.tar.gz rneovim-fb14e2a8d6aacfb02578c2e191f26cfdf416bfde.tar.bz2 rneovim-fb14e2a8d6aacfb02578c2e191f26cfdf416bfde.zip |
fix(msgpack#strptime): use calendar.timegm to get seconds since epoch
datetime.datetime.timestamp does not exist on Windows and
datetime.datetiem.strftime('%s') is not supported, since '%s' is a POSIX
format. Instead, use the recommended `calendar.timegm(obj.utctimetuple())`.
-rw-r--r-- | runtime/autoload/msgpack.vim | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/runtime/autoload/msgpack.vim b/runtime/autoload/msgpack.vim index 7dd225e3d9..7f98a5b230 100644 --- a/runtime/autoload/msgpack.vim +++ b/runtime/autoload/msgpack.vim @@ -56,6 +56,7 @@ function s:msgpack_init_python() abort \. " time = datetime.datetime.fromtimestamp(timestamp)\n" \. " return time.strftime(fmt)\n" \. "def shada_dict_strptime():\n" + \. " import calendar\n" \. " import datetime\n" \. " import vim\n" \. " fmt = vim.eval('a:format')\n" @@ -64,7 +65,10 @@ function s:msgpack_init_python() abort \. " try:\n" \. " timestamp = int(timestamp.timestamp())\n" \. " except:\n" - \. " timestamp = int(timestamp.strftime('%s'))\n" + \. " try:\n" + \. " timestamp = int(timestamp.strftime('%s'))\n" + \. " except:\n" + \. " timestamp = calendar.timegm(timestamp.utctimetuple())\n" \. " if timestamp > 2 ** 31:\n" \. " tsabs = abs(timestamp)\n" \. " return ('{\"_TYPE\": v:msgpack_types.integer,'\n" |