msgpack.vim: fix syntax errors, python2 errors

This commit is contained in:
Justin M. Keyes
2018-05-07 02:15:03 +02:00
parent 34b6a3d944
commit 33bfea31b0

View File

@@ -43,6 +43,7 @@ function s:msgpack_init_python() abort
for suf in ['', '3'] for suf in ['', '3']
try try
execute 'python' . suf execute 'python' . suf
\. "\n"
\. "def shada_dict_strftime():\n" \. "def shada_dict_strftime():\n"
\. " import datetime\n" \. " import datetime\n"
\. " import vim\n" \. " import vim\n"
@@ -60,12 +61,15 @@ function s:msgpack_init_python() abort
\. " fmt = vim.eval('a:format')\n" \. " fmt = vim.eval('a:format')\n"
\. " timestr = vim.eval('a:string')\n" \. " timestr = vim.eval('a:string')\n"
\. " timestamp = datetime.datetime.strptime(timestr, fmt)\n" \. " timestamp = datetime.datetime.strptime(timestr, fmt)\n"
\. " try:\n"
\. " timestamp = int(timestamp.timestamp())\n" \. " timestamp = int(timestamp.timestamp())\n"
\. " except:\n"
\. " timestamp = int(timestamp.strftime('%s'))\n"
\. " if timestamp > 2 ** 31:\n" \. " if timestamp > 2 ** 31:\n"
\. " tsabs = abs(timestamp)" \. " tsabs = abs(timestamp)\n"
\. " return ('{\"_TYPE\": v:msgpack_types.integer,'\n" \. " return ('{\"_TYPE\": v:msgpack_types.integer,'\n"
\. " + '\"_VAL\": [{sign},{v1},{v2},{v3}]}').format(\n" \. " + '\"_VAL\": [{sign},{v1},{v2},{v3}]}').format(\n"
\. " sign=1 if timestamp >= 0 else -1,\n" \. " sign=(1 if timestamp >= 0 else -1),\n"
\. " v1=((tsabs >> 62) & 0x3),\n" \. " v1=((tsabs >> 62) & 0x3),\n"
\. " v2=((tsabs >> 31) & (2 ** 31 - 1)),\n" \. " v2=((tsabs >> 31) & (2 ** 31 - 1)),\n"
\. " v3=(tsabs & (2 ** 31 - 1)))\n" \. " v3=(tsabs & (2 ** 31 - 1)))\n"