You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There was an s3fs release earlier today, if that's related.
2020-03-27T18:16:37.6354466Z =================================== FAILURES ===================================
2020-03-27T18:16:37.6354971Z _____________________ TestParquetPyArrow.test_s3_roundtrip _____________________
2020-03-27T18:16:37.6356687Z [gw1] linux -- Python 3.7.6 /home/vsts/miniconda3/envs/pandas-dev/bin/python
2020-03-27T18:16:37.6357366Z
2020-03-27T18:16:37.6358186Z value = '五, 27 3月 2020 18:11:53 GMT', tzinfo = <class 'dateutil.tz.tz.tzlocal'>
2020-03-27T18:16:37.6358700Z
2020-03-27T18:16:37.6359050Z def _parse_timestamp_with_tzinfo(value, tzinfo):
2020-03-27T18:16:37.6359491Z """Parse timestamp with pluggable tzinfo options."""
2020-03-27T18:16:37.6359936Z if isinstance(value, (int, float)):
2020-03-27T18:16:37.6360574Z # Possibly an epoch time.
2020-03-27T18:16:37.6361048Z return datetime.datetime.fromtimestamp(value, tzinfo())
2020-03-27T18:16:37.6361681Z else:
2020-03-27T18:16:37.6362073Z try:
2020-03-27T18:16:37.6362431Z return datetime.datetime.fromtimestamp(float(value), tzinfo())
2020-03-27T18:16:37.6362828Z except (TypeError, ValueError):
2020-03-27T18:16:37.6363153Z pass
2020-03-27T18:16:37.6363414Z try:
2020-03-27T18:16:37.6363776Z # In certain cases, a timestamp marked with GMT can be parsed into a
2020-03-27T18:16:37.6364222Z # different time zone, so here we provide a context which will
2020-03-27T18:16:37.6364618Z # enforce that GMT == UTC.
2020-03-27T18:16:37.6365341Z > return dateutil.parser.parse(value, tzinfos={'GMT': tzutc()})
2020-03-27T18:16:37.6365750Z
2020-03-27T18:16:37.6366507Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/botocore/utils.py:607:
2020-03-27T18:16:37.6367110Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2020-03-27T18:16:37.6367487Z
2020-03-27T18:16:37.6368063Z timestr = '五, 27 3月 2020 18:11:53 GMT', parserinfo = None
2020-03-27T18:16:37.6368765Z kwargs = {'tzinfos': {'GMT': tzutc()}}
2020-03-27T18:16:37.6369118Z
2020-03-27T18:16:37.6369430Z def parse(timestr, parserinfo=None, **kwargs):
2020-03-27T18:16:37.6369874Z """
2020-03-27T18:16:37.6370113Z
2020-03-27T18:16:37.6370427Z Parse a string in one of the supported formats, using the
2020-03-27T18:16:37.6370810Z ``parserinfo`` parameters.
2020-03-27T18:16:37.6371081Z
2020-03-27T18:16:37.6371354Z :param timestr:
2020-03-27T18:16:37.6371687Z A string containing a date/time stamp.
2020-03-27T18:16:37.6371991Z
2020-03-27T18:16:37.6372246Z :param parserinfo:
2020-03-27T18:16:37.6372622Z A :class:`parserinfo` object containing parameters for the parser.
2020-03-27T18:16:37.6373134Z If ``None``, the default arguments to the :class:`parserinfo`
2020-03-27T18:16:37.6373533Z constructor are used.
2020-03-27T18:16:37.6373811Z
2020-03-27T18:16:37.6374133Z The ``**kwargs`` parameter takes the following keyword arguments:
2020-03-27T18:16:37.6374471Z
2020-03-27T18:16:37.6374723Z :param default:
2020-03-27T18:16:37.6375085Z The default datetime object, if this is a datetime object and not
2020-03-27T18:16:37.6375578Z ``None``, elements specified in ``timestr`` replace elements in the
2020-03-27T18:16:37.6375955Z default object.
2020-03-27T18:16:37.6376228Z
2020-03-27T18:16:37.6376479Z :param ignoretz:
2020-03-27T18:16:37.6376863Z If set ``True``, time zones in parsed strings are ignored and a naive
2020-03-27T18:16:37.6377278Z :class:`datetime` object is returned.
2020-03-27T18:16:37.6377589Z
2020-03-27T18:16:37.6378571Z :param tzinfos:
2020-03-27T18:16:37.6379161Z Additional time zone names / aliases which may be present in the
2020-03-27T18:16:37.6379643Z string. This argument maps time zone names (and optionally offsets
2020-03-27T18:16:37.6380091Z from those time zones) to time zones. This parameter can be a
2020-03-27T18:16:37.6380546Z dictionary with timezone aliases mapping time zone names to time
2020-03-27T18:16:37.6380981Z zones or a function taking two parameters (``tzname`` and
2020-03-27T18:16:37.6381394Z ``tzoffset``) and returning a time zone.
2020-03-27T18:16:37.6381699Z
2020-03-27T18:16:37.6382025Z The timezones to which the names are mapped can be an integer
2020-03-27T18:16:37.6382494Z offset from UTC in seconds or a :class:`tzinfo` object.
2020-03-27T18:16:37.6382838Z
2020-03-27T18:16:37.6383237Z .. doctest::
2020-03-27T18:16:37.6383606Z :options: +NORMALIZE_WHITESPACE
2020-03-27T18:16:37.6384047Z
2020-03-27T18:16:37.6384378Z >>> from dateutil.parser import parse
2020-03-27T18:16:37.6384771Z >>> from dateutil.tz import gettz
2020-03-27T18:16:37.6385594Z >>> tzinfos = {"BRST": -7200, "CST": gettz("America/Chicago")}
2020-03-27T18:16:37.6386479Z >>> parse("2012-01-19 17:21:00 BRST", tzinfos=tzinfos)
2020-03-27T18:16:37.6387401Z datetime.datetime(2012, 1, 19, 17, 21, tzinfo=tzoffset(u'BRST', -7200))
2020-03-27T18:16:37.6388159Z >>> parse("2012-01-19 17:21:00 CST", tzinfos=tzinfos)
2020-03-27T18:16:37.6388663Z datetime.datetime(2012, 1, 19, 17, 21,
2020-03-27T18:16:37.6389349Z tzinfo=tzfile('/usr/share/zoneinfo/America/Chicago'))
2020-03-27T18:16:37.6390349Z
2020-03-27T18:16:37.6390823Z This parameter is ignored if ``ignoretz`` is set.
2020-03-27T18:16:37.6391283Z
2020-03-27T18:16:37.6391595Z :param dayfirst:
2020-03-27T18:16:37.6392353Z Whether to interpret the first value in an ambiguous 3-integer date
2020-03-27T18:16:37.6393105Z (e.g. 01/05/09) as the day (``True``) or month (``False``). If
2020-03-27T18:16:37.6393685Z ``yearfirst`` is set to ``True``, this distinguishes between YDM and
2020-03-27T18:16:37.6394156Z YMD. If set to ``None``, this value is retrieved from the current
2020-03-27T18:16:37.6394610Z :class:`parserinfo` object (which itself defaults to ``False``).
2020-03-27T18:16:37.6394968Z
2020-03-27T18:16:37.6395226Z :param yearfirst:
2020-03-27T18:16:37.6395841Z Whether to interpret the first value in an ambiguous 3-integer date
2020-03-27T18:16:37.6396511Z (e.g. 01/05/09) as the year. If ``True``, the first number is taken to
2020-03-27T18:16:37.6397349Z be the year, otherwise the last number is taken to be the year. If
2020-03-27T18:16:37.6398069Z this is set to ``None``, the value is retrieved from the current
2020-03-27T18:16:37.6398617Z :class:`parserinfo` object (which itself defaults to ``False``).
2020-03-27T18:16:37.6399037Z
2020-03-27T18:16:37.6399333Z :param fuzzy:
2020-03-27T18:16:37.6399809Z Whether to allow fuzzy parsing, allowing for string like "Today is
2020-03-27T18:16:37.6400291Z January 1, 2047 at 8:21:00AM".
2020-03-27T18:16:37.6400628Z
2020-03-27T18:16:37.6400954Z :param fuzzy_with_tokens:
2020-03-27T18:16:37.6401391Z If ``True``, ``fuzzy`` is automatically set to True, and the parser
2020-03-27T18:16:37.6401903Z will return a tuple where the first element is the parsed
2020-03-27T18:16:37.6402536Z :class:`datetime.datetime` datetimestamp and the second element is
2020-03-27T18:16:37.6403633Z a tuple containing the portions of the string which were ignored:
2020-03-27T18:16:37.6404036Z
2020-03-27T18:16:37.6404341Z .. doctest::
2020-03-27T18:16:37.6404638Z
2020-03-27T18:16:37.6405107Z >>> from dateutil.parser import parse
2020-03-27T18:16:37.6405634Z >>> parse("Today is January 1, 2047 at 8:21:00AM", fuzzy_with_tokens=True)
2020-03-27T18:16:37.6406513Z (datetime.datetime(2047, 1, 1, 8, 21), (u'Today is ', u' ', u'at '))
2020-03-27T18:16:37.6407199Z
2020-03-27T18:16:37.6407464Z :return:
2020-03-27T18:16:37.6407834Z Returns a :class:`datetime.datetime` object or, if the
2020-03-27T18:16:37.6408278Z ``fuzzy_with_tokens`` option is ``True``, returns a tuple, the
2020-03-27T18:16:37.6408981Z first element being a :class:`datetime.datetime` object, the second
2020-03-27T18:16:37.6409472Z a tuple containing the fuzzy tokens.
2020-03-27T18:16:37.6409793Z
2020-03-27T18:16:37.6416049Z :raises ValueError:
2020-03-27T18:16:37.6416719Z Raised for invalid or unknown string format, if the provided
2020-03-27T18:16:37.6417444Z :class:`tzinfo` is not in a valid format, or if an invalid date
2020-03-27T18:16:37.6417891Z would be created.
2020-03-27T18:16:37.6418311Z
2020-03-27T18:16:37.6418726Z :raises OverflowError:
2020-03-27T18:16:37.6419273Z Raised if the parsed date exceeds the largest valid C integer on
2020-03-27T18:16:37.6419711Z your system.
2020-03-27T18:16:37.6420018Z """
2020-03-27T18:16:37.6420330Z if parserinfo:
2020-03-27T18:16:37.6420877Z return parser(parserinfo).parse(timestr, **kwargs)
2020-03-27T18:16:37.6421255Z else:
2020-03-27T18:16:37.6421644Z > return DEFAULTPARSER.parse(timestr, **kwargs)
2020-03-27T18:16:37.6422091Z
2020-03-27T18:16:37.6423228Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/dateutil/parser/_parser.py:1374:
2020-03-27T18:16:37.6423959Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2020-03-27T18:16:37.6424342Z
2020-03-27T18:16:37.6424658Z self = <dateutil.parser._parser.parser object at 0x7f1de46b9350>
2020-03-27T18:16:37.6425310Z timestr = '五, 27 3月 2020 18:11:53 GMT'
2020-03-27T18:16:37.6425800Z default = datetime.datetime(2020, 3, 27, 0, 0), ignoretz = False
2020-03-27T18:16:37.6426475Z tzinfos = {'GMT': tzutc()}, kwargs = {}, res = None, skipped_tokens = None
2020-03-27T18:16:37.6426876Z
2020-03-27T18:16:37.6427164Z def parse(self, timestr, default=None,
2020-03-27T18:16:37.6427538Z ignoretz=False, tzinfos=None, **kwargs):
2020-03-27T18:16:37.6427849Z """
2020-03-27T18:16:37.6428204Z Parse the date/time string into a :class:`datetime.datetime` object.
2020-03-27T18:16:37.6428565Z
2020-03-27T18:16:37.6428819Z :param timestr:
2020-03-27T18:16:37.6429210Z Any date/time string using the supported formats.
2020-03-27T18:16:37.6429526Z
2020-03-27T18:16:37.6429779Z :param default:
2020-03-27T18:16:37.6430167Z The default datetime object, if this is a datetime object and not
2020-03-27T18:16:37.6430776Z ``None``, elements specified in ``timestr`` replace elements in the
2020-03-27T18:16:37.6431441Z default object.
2020-03-27T18:16:37.6431742Z
2020-03-27T18:16:37.6432049Z :param ignoretz:
2020-03-27T18:16:37.6432467Z If set ``True``, time zones in parsed strings are ignored and a
2020-03-27T18:16:37.6432975Z naive :class:`datetime.datetime` object is returned.
2020-03-27T18:16:37.6433343Z
2020-03-27T18:16:37.6433628Z :param tzinfos:
2020-03-27T18:16:37.6434055Z Additional time zone names / aliases which may be present in the
2020-03-27T18:16:37.6434682Z string. This argument maps time zone names (and optionally offsets
2020-03-27T18:16:37.6435260Z from those time zones) to time zones. This parameter can be a
2020-03-27T18:16:37.6435702Z dictionary with timezone aliases mapping time zone names to time
2020-03-27T18:16:37.6436155Z zones or a function taking two parameters (``tzname`` and
2020-03-27T18:16:37.6436696Z ``tzoffset``) and returning a time zone.
2020-03-27T18:16:37.6437208Z
2020-03-27T18:16:37.6437620Z The timezones to which the names are mapped can be an integer
2020-03-27T18:16:37.6438077Z offset from UTC in seconds or a :class:`tzinfo` object.
2020-03-27T18:16:37.6438437Z
2020-03-27T18:16:37.6438699Z .. doctest::
2020-03-27T18:16:37.6439054Z :options: +NORMALIZE_WHITESPACE
2020-03-27T18:16:37.6439354Z
2020-03-27T18:16:37.6439678Z >>> from dateutil.parser import parse
2020-03-27T18:16:37.6440070Z >>> from dateutil.tz import gettz
2020-03-27T18:16:37.6440793Z >>> tzinfos = {"BRST": -7200, "CST": gettz("America/Chicago")}
2020-03-27T18:16:37.6441604Z >>> parse("2012-01-19 17:21:00 BRST", tzinfos=tzinfos)
2020-03-27T18:16:37.6442377Z datetime.datetime(2012, 1, 19, 17, 21, tzinfo=tzoffset(u'BRST', -7200))
2020-03-27T18:16:37.6443465Z >>> parse("2012-01-19 17:21:00 CST", tzinfos=tzinfos)
2020-03-27T18:16:37.6443989Z datetime.datetime(2012, 1, 19, 17, 21,
2020-03-27T18:16:37.6444715Z tzinfo=tzfile('/usr/share/zoneinfo/America/Chicago'))
2020-03-27T18:16:37.6445160Z
2020-03-27T18:16:37.6445519Z This parameter is ignored if ``ignoretz`` is set.
2020-03-27T18:16:37.6445856Z
2020-03-27T18:16:37.6446238Z :param \\*\\*kwargs:
2020-03-27T18:16:37.6447528Z Keyword arguments as passed to ``_parse()``.
2020-03-27T18:16:37.6448032Z
2020-03-27T18:16:37.6448353Z :return:
2020-03-27T18:16:37.6448768Z Returns a :class:`datetime.datetime` object or, if the
2020-03-27T18:16:37.6449286Z ``fuzzy_with_tokens`` option is ``True``, returns a tuple, the
2020-03-27T18:16:37.6449817Z first element being a :class:`datetime.datetime` object, the second
2020-03-27T18:16:37.6450310Z a tuple containing the fuzzy tokens.
2020-03-27T18:16:37.6450667Z
2020-03-27T18:16:37.6450965Z :raises ParserError:
2020-03-27T18:16:37.6451396Z Raised for invalid or unknown string format, if the provided
2020-03-27T18:16:37.6451904Z :class:`tzinfo` is not in a valid format, or if an invalid date
2020-03-27T18:16:37.6452350Z would be created.
2020-03-27T18:16:37.6452800Z
2020-03-27T18:16:37.6453091Z :raises TypeError:
2020-03-27T18:16:37.6453885Z Raised for non-string or character stream input.
2020-03-27T18:16:37.6454326Z
2020-03-27T18:16:37.6454656Z :raises OverflowError:
2020-03-27T18:16:37.6455085Z Raised if the parsed date exceeds the largest valid C integer on
2020-03-27T18:16:37.6455507Z your system.
2020-03-27T18:16:37.6455922Z """
2020-03-27T18:16:37.6456431Z
2020-03-27T18:16:37.6456744Z if default is None:
2020-03-27T18:16:37.6457160Z default = datetime.datetime.now().replace(hour=0, minute=0,
2020-03-27T18:16:37.6457686Z second=0, microsecond=0)
2020-03-27T18:16:37.6458066Z
2020-03-27T18:16:37.6458428Z res, skipped_tokens = self._parse(timestr, **kwargs)
2020-03-27T18:16:37.6458778Z
2020-03-27T18:16:37.6459191Z if res is None:
2020-03-27T18:16:37.6459743Z > raise ParserError("Unknown string format: %s", timestr)
2020-03-27T18:16:37.6460612Z E dateutil.parser._parser.ParserError: Unknown string format: 五, 27 3月 2020 18:11:53 GMT
2020-03-27T18:16:37.6461135Z
2020-03-27T18:16:37.6461831Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/dateutil/parser/_parser.py:649: ParserError
2020-03-27T18:16:37.6462294Z
2020-03-27T18:16:37.6462654Z During handling of the above exception, another exception occurred:
2020-03-27T18:16:37.6463101Z
2020-03-27T18:16:37.6463488Z self = <pandas.tests.io.test_parquet.TestParquetPyArrow object at 0x7f1d76d75210>
2020-03-27T18:16:37.6464218Z df_compat = A B
2020-03-27T18:16:37.6464554Z 0 1 foo
2020-03-27T18:16:37.6464841Z 1 2 foo
2020-03-27T18:16:37.6465108Z 2 3 foo
2020-03-27T18:16:37.6465977Z s3_resource = s3.ServiceResource(), pa = 'pyarrow'
2020-03-27T18:16:37.6466419Z
2020-03-27T18:16:37.6466772Z def test_s3_roundtrip(self, df_compat, s3_resource, pa):
2020-03-27T18:16:37.6467176Z # GH #19134
2020-03-27T18:16:37.6467888Z > check_round_trip(df_compat, pa, path="s3://pandas-test/pyarrow.parquet")
2020-03-27T18:16:37.6468598Z
2020-03-27T18:16:37.6468923Z pandas/tests/io/test_parquet.py:488:
2020-03-27T18:16:37.6469382Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2020-03-27T18:16:37.6469883Z pandas/tests/io/test_parquet.py:176: in check_round_trip
2020-03-27T18:16:37.6470262Z compare(repeat)
2020-03-27T18:16:37.6470636Z pandas/tests/io/test_parquet.py:168: in compare
2020-03-27T18:16:37.6471190Z actual = read_parquet(path, **read_kwargs)
2020-03-27T18:16:37.6471616Z pandas/io/parquet.py:300: in read_parquet
2020-03-27T18:16:37.6472030Z return impl.read(path, columns=columns, **kwargs)
2020-03-27T18:16:37.6472668Z pandas/io/parquet.py:113: in read
2020-03-27T18:16:37.6473217Z path, _, _, should_close = get_filepath_or_buffer(path)
2020-03-27T18:16:37.6473645Z pandas/io/common.py:201: in get_filepath_or_buffer
2020-03-27T18:16:37.6474112Z filepath_or_buffer, encoding=encoding, compression=compression, mode=mode
2020-03-27T18:16:37.6474560Z pandas/io/s3.py:48: in get_filepath_or_buffer
2020-03-27T18:16:37.6475000Z file, _fs = get_file_and_filesystem(filepath_or_buffer, mode=mode)
2020-03-27T18:16:37.6475436Z pandas/io/s3.py:29: in get_file_and_filesystem
2020-03-27T18:16:37.6475860Z file = fs.open(_strip_schema(filepath_or_buffer), mode)
2020-03-27T18:16:37.6476799Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/fsspec/spec.py:774: in open
2020-03-27T18:16:37.6477280Z **kwargs
2020-03-27T18:16:37.6478236Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/s3fs/core.py:377: in _open
2020-03-27T18:16:37.6478798Z autocommit=autocommit, requester_pays=requester_pays)
2020-03-27T18:16:37.6479601Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/s3fs/core.py:1095: in __init__
2020-03-27T18:16:37.6480120Z cache_type=cache_type)
2020-03-27T18:16:37.6480867Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/fsspec/spec.py:1056: in __init__
2020-03-27T18:16:37.6481404Z self.details = fs.info(path)
2020-03-27T18:16:37.6482347Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/s3fs/core.py:528: in info
2020-03-27T18:16:37.6483012Z Key=key, **version_id_kw(version_id), **self.req_kw)
2020-03-27T18:16:37.6484814Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/s3fs/core.py:199: in _call_s3
2020-03-27T18:16:37.6485427Z return method(**additional_kwargs)
2020-03-27T18:16:37.6486423Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/botocore/client.py:316: in _api_call
2020-03-27T18:16:37.6487194Z return self._make_api_call(operation_name, kwargs)
2020-03-27T18:16:37.6488049Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/botocore/client.py:613: in _make_api_call
2020-03-27T18:16:37.6488645Z operation_model, request_dict, request_context)
2020-03-27T18:16:37.6489404Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/botocore/client.py:632: in _make_request
2020-03-27T18:16:37.6489999Z return self._endpoint.make_request(operation_model, request_dict)
2020-03-27T18:16:37.6491059Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/botocore/endpoint.py:102: in make_request
2020-03-27T18:16:37.6491692Z return self._send_request(request_dict, operation_model)
2020-03-27T18:16:37.6492529Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/botocore/endpoint.py:135: in _send_request
2020-03-27T18:16:37.6493171Z request, operation_model, context)
2020-03-27T18:16:37.6494139Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/botocore/endpoint.py:167: in _get_response
2020-03-27T18:16:37.6494730Z request, operation_model)
2020-03-27T18:16:37.6495541Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/botocore/endpoint.py:218: in _do_get_response
2020-03-27T18:16:37.6496167Z response_dict, operation_model.output_shape)
2020-03-27T18:16:37.6497203Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/botocore/parsers.py:242: in parse
2020-03-27T18:16:37.6497800Z parsed = self._do_parse(response, shape)
2020-03-27T18:16:37.6498590Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/botocore/parsers.py:774: in _do_parse
2020-03-27T18:16:37.6499160Z member_shapes, final_parsed)
2020-03-27T18:16:37.6499969Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/botocore/parsers.py:833: in _parse_non_payload_attrs
2020-03-27T18:16:37.6500723Z member_shape, headers[header_name])
2020-03-27T18:16:37.6501547Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/botocore/parsers.py:302: in _parse_shape
2020-03-27T18:16:37.6502128Z return handler(shape, node)
2020-03-27T18:16:37.6502916Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/botocore/parsers.py:175: in _get_text_content
2020-03-27T18:16:37.6503488Z return func(self, shape, text)
2020-03-27T18:16:37.6504298Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/botocore/parsers.py:462: in _handle_timestamp
2020-03-27T18:16:37.6504870Z return self._timestamp_parser(text)
2020-03-27T18:16:37.6505668Z ../../../miniconda3/envs/pandas-dev/lib/python3.7/site-packages/botocore/utils.py:626: in parse_timestamp
2020-03-27T18:16:37.6506266Z return _parse_timestamp_with_tzinfo(value, tzinfo)
2020-03-27T18:16:37.6506771Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2020-03-27T18:16:37.6507148Z
2020-03-27T18:16:37.6507825Z value = '五, 27 3月 2020 18:11:53 GMT', tzinfo = <class 'dateutil.tz.tz.tzlocal'>
2020-03-27T18:16:37.6508344Z
2020-03-27T18:16:37.6508684Z def _parse_timestamp_with_tzinfo(value, tzinfo):
2020-03-27T18:16:37.6509139Z """Parse timestamp with pluggable tzinfo options."""
2020-03-27T18:16:37.6509563Z if isinstance(value, (int, float)):
2020-03-27T18:16:37.6509962Z # Possibly an epoch time.
2020-03-27T18:16:37.6510383Z return datetime.datetime.fromtimestamp(value, tzinfo())
2020-03-27T18:16:37.6510764Z else:
2020-03-27T18:16:37.6511070Z try:
2020-03-27T18:16:37.6511478Z return datetime.datetime.fromtimestamp(float(value), tzinfo())
2020-03-27T18:16:37.6511946Z except (TypeError, ValueError):
2020-03-27T18:16:37.6512297Z pass
2020-03-27T18:16:37.6512606Z try:
2020-03-27T18:16:37.6513006Z # In certain cases, a timestamp marked with GMT can be parsed into a
2020-03-27T18:16:37.6513528Z # different time zone, so here we provide a context which will
2020-03-27T18:16:37.6513992Z # enforce that GMT == UTC.
2020-03-27T18:16:37.6514846Z return dateutil.parser.parse(value, tzinfos={'GMT': tzutc()})
2020-03-27T18:16:37.6515508Z except (TypeError, ValueError) as e:
2020-03-27T18:16:37.6516237Z > raise ValueError('Invalid timestamp "%s": %s' % (value, e))
2020-03-27T18:16:37.6517538Z E ValueError: Invalid timestamp "五, 27 3月 2020 18:11:53 GMT": Unknown string format: 五, 27 3月 2020 18:11:53 GMT
The text was updated successfully, but these errors were encountered:
Would s3fs or fastparquet (or anything else in the stack for that test) write something like Timestamp.now().strftime(...) to the file that we then read in order to round-trip?
An s3 / pyarrow test is failing on master. Does anyone have time to debug it?
https://dev.azure.com/pandas-dev/pandas/_build/results?buildId=31733&view=logs&j=a3a13ea8-7cf0-5bdb-71bb-6ac8830ae35c&t=add65f64-6c25-5783-8fd6-d9aa1b63d9d4&l=115.
There was an s3fs release earlier today, if that's related.
The text was updated successfully, but these errors were encountered: