Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 16 additions & 21 deletions markdown/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ def __init__(self, *args, **kwargs):
If they are of type string, the module mdx_name.py will be loaded.
If they are a subclass of markdown.Extension, they will be used
as-is.
* extension_configs: Configuration settingis for extensions.
* extension_configs: Configuration settings for extensions.
* output_format: Format of output. Supported formats are:
* "xhtml1": Outputs XHTML 1.x. Default.
* "xhtml5": Outputs XHTML style tags of HTML 5
Expand All @@ -114,13 +114,11 @@ def __init__(self, *args, **kwargs):

# For backward compatibility, loop through old positional args
pos = ['extensions', 'extension_configs', 'safe_mode', 'output_format']
for c, arg in enumerate(args):
if pos[c] not in kwargs:
kwargs[pos[c]] = arg
if c+1 == len(pos): # pragma: no cover
# ignore any additional args
break
if len(args):
for arg, pos_arg in zip(args, pos):
if pos_arg not in kwargs:
kwargs[pos_arg] = arg

if args:
warnings.warn('Positional arguments are deprecated in Markdown. '
'Use keyword arguments only.',
DeprecationWarning)
Expand Down Expand Up @@ -400,17 +398,17 @@ def convert(self, source):
return output.strip()

def convertFile(self, input=None, output=None, encoding=None):
"""Converts a markdown file and returns the HTML as a unicode string.
"""Converts a Markdown file and returns the HTML as a Unicode string.

Decodes the file using the provided encoding (defaults to utf-8),
passes the file content to markdown, and outputs the html to either
the provided stream or the file with provided name, using the same
encoding as the source file. The 'xmlcharrefreplace' error handler is
used when encoding the output.

**Note:** This is the only place that decoding and encoding of unicode
takes place in Python-Markdown. (All other code is unicode-in /
unicode-out.)
**Note:** This is the only place that decoding and encoding of Unicode
takes place in Python-Markdown. (All other code is Unicode-in /
Unicode-out.)

Keyword arguments:

Expand Down Expand Up @@ -476,7 +474,7 @@ def convertFile(self, input=None, output=None, encoding=None):


def markdown(text, *args, **kwargs):
"""Convert a markdown string to HTML and return HTML as a unicode string.
"""Convert a Markdown string to HTML and return HTML as a Unicode string.

This is a shortcut function for `Markdown` class to cover the most
basic use case. It initializes an instance of Markdown, loads the
Expand Down Expand Up @@ -510,14 +508,11 @@ def markdownFromFile(*args, **kwargs):
"""
# For backward compatibility loop through positional args
pos = ['input', 'output', 'extensions', 'encoding']
c = 0
for arg in args:
if pos[c] not in kwargs:
kwargs[pos[c]] = arg
c += 1
if c == len(pos):
break
if len(args):
for arg, pos_arg in zip(args, pos):
if pos_arg not in kwargs:
kwargs[pos_arg] = arg

if args:
warnings.warn('Positional arguments are depreacted in '
'Markdown and will raise an error in version 2.7. '
'Use keyword arguments only.',
Expand Down