Commit Graph

246 Commits

Author SHA1 Message Date
Kristján Valur Jónsson 3b69db27d7 issue 9910
Add a Py_SetPath api to override magic path computations when starting up python.
2010-09-27 05:32:54 +00:00
Benjamin Peterson b5d23b4dfc note version 2010-09-21 21:29:26 +00:00
Georg Brandl 6faee4e2ce #9911: doc copyedits. 2010-09-21 14:48:28 +00:00
Benjamin Peterson 2c53971b37 add PyErr_SyntaxLocationEx, to support adding a column offset 2010-09-20 22:42:10 +00:00
Victor Stinner 1205f2774e Issue #9738: PyUnicode_FromFormat() and PyErr_Format() raise an error on
a non-ASCII byte in the format string.

Document also the encoding.
2010-09-11 00:54:47 +00:00
Victor Stinner 2b19f35786 Add versionadded tag to PyUnicode_AsUnicodeCopy's doc 2010-09-03 22:13:42 +00:00
Daniel Stutzbach 98c07bde45 Doc fix: unicode() is now str() 2010-09-03 18:31:07 +00:00
Victor Stinner e4ea994f20 Document PyUnicode_AsUnicodeCopy() 2010-09-03 16:23:29 +00:00
Benjamin Peterson 3cabbeb077 fix old markup 2010-08-21 21:23:28 +00:00
Victor Stinner c14190dc5b Add versionadded tag to PyModule_GetFilenameObject() doc 2010-08-18 10:57:33 +00:00
Victor Stinner 6c00c1464f Issue #9425: Create PyModule_GetFilenameObject() function
... to get the filename as a unicode object, instead of a byte string. Function
needed to support unencodable filenames. Deprecate PyModule_GetFilename() in
favor on the new function.
2010-08-17 23:37:11 +00:00
Victor Stinner 6009ece0ed Replace :func: by :cfunc:
To get links to the C functions
2010-08-17 22:01:02 +00:00
Georg Brandl 67b21b7547 Consistency check for versionadded/changed directives. 2010-08-17 15:07:14 +00:00
Victor Stinner ad5b1df67f Add versionadded tag to PySys_FormatStd*() functions doc 2010-08-16 18:39:49 +00:00
Victor Stinner 79766636b6 Issue #9599: Create PySys_FormatStdout() and PySys_FormatStderr()
Write a message formatted by PyUnicode_FromFormatV() to sys.stdout and
sys.stderr.
2010-08-16 17:36:42 +00:00
Victor Stinner 47fcb5b4c3 Issue #9542: Create PyUnicode_FSDecoder() function
It's a ParseTuple converter: decode bytes objects to unicode using
PyUnicode_DecodeFSDefaultAndSize(); str objects are output as-is.

 * Don't specify surrogateescape error handler in the comments nor the
   documentation, but PyUnicode_DecodeFSDefaultAndSize() and
   PyUnicode_EncodeFSDefault() because these functions use strict error handler
   for the mbcs encoding (on Windows).
 * Remove PyUnicode_FSConverter() comment in unicodeobject.c to avoid
   inconsistency with unicodeobject.h.
2010-08-13 23:59:58 +00:00
Georg Brandl 4d2240915f Fix copy-paste error. 2010-08-13 15:10:49 +00:00
Victor Stinner 4a2b7a1b14 Issue #9425: Create PyErr_WarnFormat() function
Similar to PyErr_WarnEx() but use PyUnicode_FromFormatV() to format the warning
message.

Strip also some trailing spaces.
2010-08-13 14:03:48 +00:00
Victor Stinner 3603cc5fdb Issue #9425: PyFile_FromFd() ignores the name argument
This function is only by imp.find_module() which does return the filename in a
separated variable.
2010-08-13 13:34:52 +00:00
Georg Brandl 7cb1319688 Terminology fix: exceptions are raised, except in generator.throw(). 2010-08-03 12:06:29 +00:00
Georg Brandl 8477f82c3e #8648: document UTF-7 codec functions. 2010-08-02 20:05:19 +00:00
Georg Brandl 502c3eb52f #8578: mention danger of not incref'ing weak referenced object. 2010-08-02 17:49:25 +00:00
Georg Brandl 6f934196ae #9381: fix markup. 2010-07-26 08:51:42 +00:00
Victor Stinner 1f1ccc0386 #9158: Fix y* format of PyArg_Parse*() functions documentation 2010-07-05 21:36:21 +00:00
Benjamin Peterson d7c3ed54ef Merged revisions 80605-80609,80642-80646,80651-80652,80674,80684-80686,80748,80852,80854,80870,80872-80873,80907,80915-80916,80951-80952,80976-80977,80985,81038-81040,81042,81053,81070,81104-81105,81114,81125,81245,81285,81402,81463,81516,81562-81563,81567,81593,81635,81680-81681,81684,81801,81888,81931-81933,81939-81942,81963,81984,81991,82120,82188,82264-82267 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80605 | andrew.kuchling | 2010-04-28 19:22:16 -0500 (Wed, 28 Apr 2010) | 1 line

  Add various items
........
  r80606 | andrew.kuchling | 2010-04-28 20:44:30 -0500 (Wed, 28 Apr 2010) | 6 lines

  Fix doubled 'the'.
  Markup fixes to use :exc:, :option: in a few places.
    (Glitch: unittest.main's -c ends up a link to the Python
    interpreter's -c option.  Should we skip using :option: for that
    switch, or disable the auto-linking somehow?)
........
  r80607 | andrew.kuchling | 2010-04-28 20:45:41 -0500 (Wed, 28 Apr 2010) | 1 line

  Add various unittest items
........
  r80608 | benjamin.peterson | 2010-04-28 22:18:05 -0500 (Wed, 28 Apr 2010) | 1 line

  update pypy description
........
  r80609 | benjamin.peterson | 2010-04-28 22:30:59 -0500 (Wed, 28 Apr 2010) | 1 line

  update pypy url
........
  r80642 | andrew.kuchling | 2010-04-29 19:49:09 -0500 (Thu, 29 Apr 2010) | 1 line

  Always add space after RFC; reword paragraph
........
  r80643 | andrew.kuchling | 2010-04-29 19:52:31 -0500 (Thu, 29 Apr 2010) | 6 lines

  Reword paragraph to make its meaning clearer.

  Antoine Pitrou: is my version of the paragraph still correct?

  R. David Murray: is this more understandable than the previous version?
........
  r80644 | andrew.kuchling | 2010-04-29 20:02:15 -0500 (Thu, 29 Apr 2010) | 1 line

  Fix typos
........
  r80645 | andrew.kuchling | 2010-04-29 20:32:47 -0500 (Thu, 29 Apr 2010) | 1 line

  Markup fix; clarify by adding 'in that order'
........
  r80646 | andrew.kuchling | 2010-04-29 20:33:40 -0500 (Thu, 29 Apr 2010) | 1 line

  Add various items; rearrange unittest section a bit
........
  r80651 | andrew.kuchling | 2010-04-30 08:46:55 -0500 (Fri, 30 Apr 2010) | 1 line

  Minor grammar re-wording
........
  r80652 | andrew.kuchling | 2010-04-30 08:47:34 -0500 (Fri, 30 Apr 2010) | 1 line

  Add item
........
  r80674 | andrew.kuchling | 2010-04-30 20:19:16 -0500 (Fri, 30 Apr 2010) | 1 line

  Add various items
........
  r80684 | andrew.kuchling | 2010-05-01 07:05:52 -0500 (Sat, 01 May 2010) | 1 line

  Minor grammar fix
........
  r80685 | andrew.kuchling | 2010-05-01 07:06:51 -0500 (Sat, 01 May 2010) | 1 line

  Describe memoryview
........
  r80686 | antoine.pitrou | 2010-05-01 07:16:39 -0500 (Sat, 01 May 2010) | 4 lines

  Fix attribution. Travis didn't do much and he did a bad work.
  (yes, this is a sensitive subject, sorry)
........
  r80748 | andrew.kuchling | 2010-05-03 20:24:22 -0500 (Mon, 03 May 2010) | 1 line

  Add some more items; the urlparse change is added twice
........
  r80852 | andrew.kuchling | 2010-05-05 20:09:47 -0500 (Wed, 05 May 2010) | 1 line

  Reword paragraph; fix filename, which should be pyconfig.h
........
  r80854 | andrew.kuchling | 2010-05-05 20:10:56 -0500 (Wed, 05 May 2010) | 1 line

  Add various items
........
  r80870 | andrew.kuchling | 2010-05-06 09:14:09 -0500 (Thu, 06 May 2010) | 1 line

  Describe ElementTree 1.3; rearrange new-module sections; describe dict views as sets; small edits and items
........
  r80872 | andrew.kuchling | 2010-05-06 12:21:59 -0500 (Thu, 06 May 2010) | 1 line

  Add 2 items; record ideas for two initial sections; clarify wording
........
  r80873 | andrew.kuchling | 2010-05-06 12:27:57 -0500 (Thu, 06 May 2010) | 1 line

  Change section title; point to unittest2
........
  r80907 | andrew.kuchling | 2010-05-06 20:45:14 -0500 (Thu, 06 May 2010) | 1 line

  Add a new section on the development plan; add an item
........
  r80915 | antoine.pitrou | 2010-05-07 05:15:51 -0500 (Fri, 07 May 2010) | 3 lines

  Fix some markup and a class name. Also, wrap a long line.
........
  r80916 | andrew.kuchling | 2010-05-07 06:30:47 -0500 (Fri, 07 May 2010) | 1 line

  Re-word text
........
  r80951 | andrew.kuchling | 2010-05-07 20:15:26 -0500 (Fri, 07 May 2010) | 1 line

  Add two items
........
  r80952 | andrew.kuchling | 2010-05-07 20:35:55 -0500 (Fri, 07 May 2010) | 1 line

  Get accents correct
........
  r80976 | andrew.kuchling | 2010-05-08 08:28:03 -0500 (Sat, 08 May 2010) | 1 line

  Add logging.dictConfig example; give up on writing a Ttk example
........
  r80977 | andrew.kuchling | 2010-05-08 08:29:46 -0500 (Sat, 08 May 2010) | 1 line

  Markup fixes
........
  r80985 | andrew.kuchling | 2010-05-08 10:39:46 -0500 (Sat, 08 May 2010) | 7 lines

  Write summary of the 2.7 release; rewrite the future section some more;
  mention PYTHONWARNINGS env. var; tweak some examples for readability.

  And with this commit, the "What's New" is done... except for a
  complete read-through to polish the text, and fixing any reported errors,
  but those tasks can easily wait until after beta2.
........
  r81038 | benjamin.peterson | 2010-05-09 16:09:40 -0500 (Sun, 09 May 2010) | 1 line

  finish clause
........
  r81039 | andrew.kuchling | 2010-05-10 09:18:27 -0500 (Mon, 10 May 2010) | 1 line

  Markup fix; re-word a sentence
........
  r81040 | andrew.kuchling | 2010-05-10 09:20:12 -0500 (Mon, 10 May 2010) | 1 line

  Use title case
........
  r81042 | andrew.kuchling | 2010-05-10 10:03:35 -0500 (Mon, 10 May 2010) | 1 line

  Link to unittest2 article
........
  r81053 | florent.xicluna | 2010-05-10 14:59:22 -0500 (Mon, 10 May 2010) | 2 lines

  Add a link on maketrans().
........
  r81070 | andrew.kuchling | 2010-05-10 18:13:41 -0500 (Mon, 10 May 2010) | 1 line

  Fix typo
........
  r81104 | andrew.kuchling | 2010-05-11 19:38:44 -0500 (Tue, 11 May 2010) | 1 line

  Revision pass: lots of edits, typo fixes, rearrangements
........
  r81105 | andrew.kuchling | 2010-05-11 19:40:47 -0500 (Tue, 11 May 2010) | 1 line

  Let's call this done
........
  r81114 | andrew.kuchling | 2010-05-12 08:56:07 -0500 (Wed, 12 May 2010) | 1 line

  Grammar fix
........
  r81125 | andrew.kuchling | 2010-05-12 13:56:48 -0500 (Wed, 12 May 2010) | 1 line

  #8696: add documentation for logging.config.dictConfig (PEP 391)
........
  r81245 | andrew.kuchling | 2010-05-16 18:31:16 -0500 (Sun, 16 May 2010) | 1 line

  Add cross-reference to later section
........
  r81285 | vinay.sajip | 2010-05-18 03:16:27 -0500 (Tue, 18 May 2010) | 1 line

  Fixed minor typo in ReST markup.
........
  r81402 | vinay.sajip | 2010-05-21 12:41:34 -0500 (Fri, 21 May 2010) | 1 line

  Updated logging documentation with more dictConfig information.
........
  r81463 | georg.brandl | 2010-05-22 03:17:23 -0500 (Sat, 22 May 2010) | 1 line

  #8785: less confusing description of regex.find*.
........
  r81516 | andrew.kuchling | 2010-05-25 08:34:08 -0500 (Tue, 25 May 2010) | 1 line

  Add three items
........
  r81562 | andrew.kuchling | 2010-05-27 08:22:53 -0500 (Thu, 27 May 2010) | 1 line

  Rewrite wxWidgets section
........
  r81563 | andrew.kuchling | 2010-05-27 08:30:09 -0500 (Thu, 27 May 2010) | 1 line

  Remove top-level 'General Questions' section, pushing up the questions it contains
........
  r81567 | andrew.kuchling | 2010-05-27 16:29:59 -0500 (Thu, 27 May 2010) | 1 line

  Add item
........
  r81593 | georg.brandl | 2010-05-29 03:46:18 -0500 (Sat, 29 May 2010) | 1 line

  #8616: add new turtle demo "nim".
........
  r81635 | georg.brandl | 2010-06-01 02:25:23 -0500 (Tue, 01 Jun 2010) | 1 line

  Put docs for RegexObject.search() before RegexObject.match() to mirror re.search() and re.match() order.
........
  r81680 | vinay.sajip | 2010-06-03 17:34:42 -0500 (Thu, 03 Jun 2010) | 1 line

  Issue #8890: Documentation changed to avoid reference to temporary files.
........
  r81681 | sean.reifschneider | 2010-06-03 20:51:26 -0500 (Thu, 03 Jun 2010) | 2 lines

  Issue8810: Clearing up docstring for tzinfo.utcoffset.
........
  r81684 | vinay.sajip | 2010-06-04 08:41:02 -0500 (Fri, 04 Jun 2010) | 1 line

  Issue #8890: Documentation changed to avoid reference to temporary files - other cases covered.
........
  r81801 | andrew.kuchling | 2010-06-07 08:38:40 -0500 (Mon, 07 Jun 2010) | 1 line

  #8875: Remove duplicated paragraph
........
  r81888 | andrew.kuchling | 2010-06-10 20:54:58 -0500 (Thu, 10 Jun 2010) | 1 line

  Add a few more items
........
  r81931 | georg.brandl | 2010-06-12 01:26:54 -0500 (Sat, 12 Jun 2010) | 1 line

  Fix punctuation.
........
  r81932 | georg.brandl | 2010-06-12 01:28:58 -0500 (Sat, 12 Jun 2010) | 1 line

  Document that an existing directory raises in mkdir().
........
  r81933 | georg.brandl | 2010-06-12 01:45:33 -0500 (Sat, 12 Jun 2010) | 1 line

  Update version in README.
........
  r81939 | georg.brandl | 2010-06-12 04:45:01 -0500 (Sat, 12 Jun 2010) | 1 line

  Use newer toctree syntax.
........
  r81940 | georg.brandl | 2010-06-12 04:45:28 -0500 (Sat, 12 Jun 2010) | 1 line

  Add document on how to build.
........
  r81941 | georg.brandl | 2010-06-12 04:45:58 -0500 (Sat, 12 Jun 2010) | 1 line

  Fix gratuitous indentation.
........
  r81942 | georg.brandl | 2010-06-12 04:46:03 -0500 (Sat, 12 Jun 2010) | 1 line

  Update README.
........
  r81963 | andrew.kuchling | 2010-06-12 15:00:55 -0500 (Sat, 12 Jun 2010) | 1 line

  Grammar fix
........
  r81984 | georg.brandl | 2010-06-14 10:58:39 -0500 (Mon, 14 Jun 2010) | 1 line

  #8993: fix reference.
........
  r81991 | andrew.kuchling | 2010-06-14 19:38:58 -0500 (Mon, 14 Jun 2010) | 1 line

  Add another bunch of items
........
  r82120 | andrew.kuchling | 2010-06-20 16:45:45 -0500 (Sun, 20 Jun 2010) | 1 line

  Note that Python 3.x isn't covered; add forward ref. for UTF-8; note error in 2.5 and up
........
  r82188 | benjamin.peterson | 2010-06-23 19:02:46 -0500 (Wed, 23 Jun 2010) | 1 line

  remove reverted changed
........
  r82264 | georg.brandl | 2010-06-27 05:47:47 -0500 (Sun, 27 Jun 2010) | 1 line

  Confusing punctuation.
........
  r82265 | georg.brandl | 2010-06-27 05:49:23 -0500 (Sun, 27 Jun 2010) | 1 line

  Use designated syntax for optional grammar element.
........
  r82266 | georg.brandl | 2010-06-27 05:51:44 -0500 (Sun, 27 Jun 2010) | 1 line

  Fix URL.
........
  r82267 | georg.brandl | 2010-06-27 05:55:38 -0500 (Sun, 27 Jun 2010) | 1 line

  Two typos.
........
2010-06-27 22:32:30 +00:00
Benjamin Peterson 2ebf8ce488 Merged revisions 81881-81882 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81881 | andrew.kuchling | 2010-06-10 19:16:08 -0500 (Thu, 10 Jun 2010) | 1 line

  #5753: update demo.c to use PySys_SetArgvEx(), and add a comment
........
  r81882 | andrew.kuchling | 2010-06-10 19:23:01 -0500 (Thu, 10 Jun 2010) | 1 line

  #5753: Suggest PySys_SetArgvEx() instead of PySys_SetArgv()
........
2010-06-27 21:48:35 +00:00
Mark Dickinson 3a23c9eed5 Issue #9089: PyNumber_Int is no more. Remove it from the docs. 2010-06-27 17:36:54 +00:00
Georg Brandl 952867aa30 #9078: fix some Unicode C API descriptions, in comments and docs. 2010-06-27 10:17:12 +00:00
Alexander Belopolsky 1341f57c9f Merged revisions 82251 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82251 | alexander.belopolsky | 2010-06-26 14:49:10 -0400 (Sat, 26 Jun 2010) | 1 line

  Issue 9024: Added :cdata: tag to PyDateTimeAPI
........
2010-06-26 18:57:02 +00:00
Alexander Belopolsky 56303e021d Merged revisions 82236 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82236 | alexander.belopolsky | 2010-06-25 22:05:19 -0400 (Fri, 25 Jun 2010) | 4 lines

  Issue #9024: Fixed mark-up for PyDateTime_IMPORT macro and added that
  it is typically used in module initialization function. Thanks Tim
  Golden for the patch.
........
2010-06-26 02:15:07 +00:00
Victor Stinner 25e8ec4724 Issue #8850: Remove "w" and "w#" formats from PyArg_Parse*() functions, use
"w*" format instead. Add tests for "w*" format.
2010-06-25 00:02:38 +00:00
Victor Stinner 2aa3af4a16 Issue #8939: Improve arg.rst
* Add :ctype: to Py_BEGIN_ALLOW_THREADS and int
 * "s" and "s#" formats of Py_BuildValue(): specify that the Python object type
   is str in the description
2010-06-18 23:59:45 +00:00
Antoine Pitrou 046028899d Further refinements to the C file API. 2010-06-15 17:30:16 +00:00
Antoine Pitrou 5d8a6c85ec Fixes to the PyFile_FromFd() doc, by Renato Cunha. 2010-06-15 17:00:21 +00:00
Victor Stinner 06e49dd029 Issue #8592: PyArg_Parse*() functions raise a TypeError for "y", "u" and "Z"
formats if the string contains a null byte/character. Write unit tests for
string formats.
2010-06-13 18:21:50 +00:00
Victor Stinner 7909b0085a Fix some bugs in c-api/arg.rst documentation
* replace "the default encoding" by "'utf-8' encoding"
 * fix "w" / "w*" / "w#" doc: similar to "y" / "y*" / "y#"
   and not "s" / "s*" / "s#"
 * "u#": remove "Non-Unicode objects are handled by interpreting their
   read-buffer pointer ...", it's no more true
 * "es", "es#": remove "... and objects convertible to Unicode into a character
   buffer", it's no more true
 * Py_BuildValue(), "K" and "L" formats: specify the name of the C type on
   Windows (_int64 / unsigned _int64) as done for PyArg_Parse*() long long
   types
--CETTE ligne, et les suivantes ci-dessous, seront ignorées--

M    Doc/c-api/arg.rst
2010-06-11 23:30:12 +00:00
Victor Stinner 3dcb5acdb0 Issue #8838, #8339: Remove codecs.charbuffer_encode() and "t#" parsing format
Remove last references to the "char buffer" of the buffer protocol from
Python3.
2010-06-08 22:54:19 +00:00
Brian Curtin 1fbd36b51d Fix #8946. Extra PyObject* parameter documented which doesn't exist. 2010-06-08 22:27:07 +00:00
Victor Stinner 69e25fa5b8 Issue #8925: fix types of Py_Parse*() and Py_BuildValue() functions
* Add links to Python types
 * Replace "string" by bytes or str
 * Replace "long" by "int"
 * Specify the default encoding
 * Fix reST syntax ("..note ::")
 * etc.
2010-06-07 21:20:41 +00:00
Victor Stinner 7eeb5b5e50 Issue #8848: U / U# formats of Py_BuildValue() are just alias to s / s# 2010-06-07 19:57:46 +00:00
Antoine Pitrou f978facc0e Merged revisions 81398 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81398 | antoine.pitrou | 2010-05-21 19:12:38 +0200 (ven., 21 mai 2010) | 6 lines

  Issue #5753: A new C API function, :cfunc:`PySys_SetArgvEx`, allows
  embedders of the interpreter to set sys.argv without also modifying
  sys.path.  This helps fix `CVE-2008-5983
  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5983>`_.
........
2010-05-21 17:25:34 +00:00
Victor Stinner 9ca9c25bcd Issue #8589: Decode PYTHONWARNINGS environment variable with the file system
encoding and surrogateespace error handler instead of the locale encoding to be
consistent with os.environ. Add PySys_AddWarnOptionUnicode() function.
2010-05-19 16:53:30 +00:00
Benjamin Peterson b4324516a0 fix run-on sentence 2010-05-15 17:42:02 +00:00
Victor Stinner ae6265f8d0 Issue #8715: Create PyUnicode_EncodeFSDefault() function: Encode a Unicode
object to Py_FileSystemDefaultEncoding with the "surrogateescape" error
handler, return a bytes object. If Py_FileSystemDefaultEncoding is not set,
fall back to UTF-8.
2010-05-15 16:27:27 +00:00
Victor Stinner 77c3862417 Issue #8711: Document PyUnicode_DecodeFSDefault*() functions
* Add paragraph titles to c-api/unicode.rst.
 * Fix PyUnicode_DecodeFSDefault*() comment: it now uses the "surrogateescape"
   error handler (and not "replace")
 * Remove "The function is intended to be used for paths and file names only
   during bootstrapping process where the codecs are not set up." from
   PyUnicode_FSConverter() comment: it is used after the bootstrapping and for
   other purposes than file names
2010-05-14 15:58:55 +00:00
Benjamin Peterson f9a444223c Merged revisions 81145 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81145 | benjamin.peterson | 2010-05-13 16:14:10 -0500 (Thu, 13 May 2010) | 1 line

  rip out mention of types.ListType #8703
........
2010-05-13 21:16:51 +00:00
Antoine Pitrou 83fd9b97b8 Issue #8593: Fix, reorder and improve the documentation for argument parsing 2010-05-03 15:57:23 +00:00
Benjamin Peterson 44d3d7854b add versionadded 2010-04-25 21:03:34 +00:00
Benjamin Peterson fb88636199 prevent the dict constructor from accepting non-string keyword args #8419
This adds PyArg_ValidateKeywordArguments, which checks that keyword arguments
are all strings, using an optimized method if possible.
2010-04-24 18:21:17 +00:00
Barry Warsaw 28a691b7fd PEP 3147 2010-04-17 00:19:56 +00:00