PyPI download statistics have been broken for a long time and appear to
have been officially disabled in May 2016. See GitHub issue for details:
https://github.com/pypa/pypi-legacy/issues/396
fix flake8 warnings
Set jinja environment defaults within settings
updating docs to remove JINJA_EXTENSIONS
update logger warning and defaults documentation
better way to grab jinja environment
updating settings after refactor
Convert all tables to 'data::' directives.
Replace inline literals with code blocks for better readability.
Per suggestion from Avaris on IRC:
- Section rename: "Path metadata" to "Metadata" and move over AUTHOR and
all *_METADATA options.
- Merge "Date format and locale" and "Timezone" into a new section "Time
and Date" and move over TIMEZONE, DEFAULT_DATE, DATE_FORMATS,
DEFAULT_DATE_FORMAT.
- Move RELATIVE_URL under 'URL settings'. Here, convert URL settings
example from a 4-bullet inline literal to a single code block for
better readability in both source and output.
- Move *_TEMPLATE options under "Templates".
Cosmetic and wording updates to accommodate the above changes and
provide a consistent layout.
Fixes two bugs that was introduced by #1743:
- First was the unnecessary exception name output when skipping
content files if a required metadata wasn't available.
It was
`ERROR: Skipping ./demo.rst: could not find information about 'NameError: date'`
and now should be
`ERROR: Skipping ./demo.rst: could not find information about 'date'`
- Second was a more serious issue. Improper string formatting in the logger
resulted in implicit decoding and would break for non-ascii error messages.
This adheres more closely to the specs, especially Atom, where the
'description' arg becomes <summary>.
Note that this means full article content will no longer appear in RSS
feeds.
Python's shutil.copy2 fails on Android when copying a file's meta data (perm bits, access times) onto certain filesystems. This is documented as python issue28141 https://bugs.python.org/issue28141
These commits workaround that bug by
+ creating a new function copy_file_metadata in utils.py
+ wrapping calls to copy2 in a try/except clause that logs any errors that occur but keep execution going
+ changing the calls to shutil.copy2 to calls to the new function