Back
Type Name Operations
__future__.cpython-36.opt-1.pyc
__future__.cpython-36.opt-2.pyc
__future__.cpython-36.pyc
__phello__.foo.cpython-36.opt-1.pyc
__phello__.foo.cpython-36.opt-2.pyc
__phello__.foo.cpython-36.pyc
_bootlocale.cpython-36.opt-1.pyc
_bootlocale.cpython-36.opt-2.pyc
_bootlocale.cpython-36.pyc
_collections_abc.cpython-36.opt-1.pyc
_collections_abc.cpython-36.opt-2.pyc
_collections_abc.cpython-36.pyc
_compat_pickle.cpython-36.opt-1.pyc
_compat_pickle.cpython-36.opt-2.pyc
_compat_pickle.cpython-36.pyc
_compression.cpython-36.opt-1.pyc
_compression.cpython-36.opt-2.pyc
_compression.cpython-36.pyc
_dummy_thread.cpython-36.opt-1.pyc
_dummy_thread.cpython-36.opt-2.pyc
_dummy_thread.cpython-36.pyc
_markupbase.cpython-36.opt-1.pyc
_markupbase.cpython-36.opt-2.pyc
_markupbase.cpython-36.pyc
_osx_support.cpython-36.opt-1.pyc
_osx_support.cpython-36.opt-2.pyc
_osx_support.cpython-36.pyc
_pydecimal.cpython-36.opt-1.pyc
_pydecimal.cpython-36.opt-2.pyc
_pydecimal.cpython-36.pyc
_pyio.cpython-36.opt-1.pyc
_pyio.cpython-36.opt-2.pyc
_pyio.cpython-36.pyc
_sitebuiltins.cpython-36.opt-1.pyc
_sitebuiltins.cpython-36.opt-2.pyc
_sitebuiltins.cpython-36.pyc
_strptime.cpython-36.opt-1.pyc
_strptime.cpython-36.opt-2.pyc
_strptime.cpython-36.pyc
_sysconfigdata_dm_linux_x86_64-linux-gnu.cpython-36.opt-1.pyc
_sysconfigdata_dm_linux_x86_64-linux-gnu.cpython-36.opt-2.pyc
_sysconfigdata_dm_linux_x86_64-linux-gnu.cpython-36.pyc
_sysconfigdata_m_linux_x86_64-linux-gnu.cpython-36.opt-1.pyc
_sysconfigdata_m_linux_x86_64-linux-gnu.cpython-36.opt-2.pyc
_sysconfigdata_m_linux_x86_64-linux-gnu.cpython-36.pyc
_threading_local.cpython-36.opt-1.pyc
_threading_local.cpython-36.opt-2.pyc
_threading_local.cpython-36.pyc
_weakrefset.cpython-36.opt-1.pyc
_weakrefset.cpython-36.opt-2.pyc
_weakrefset.cpython-36.pyc
abc.cpython-36.opt-1.pyc
abc.cpython-36.opt-2.pyc
abc.cpython-36.pyc
aifc.cpython-36.opt-1.pyc
aifc.cpython-36.opt-2.pyc
aifc.cpython-36.pyc
antigravity.cpython-36.opt-1.pyc
antigravity.cpython-36.opt-2.pyc
antigravity.cpython-36.pyc
argparse.cpython-36.opt-1.pyc
argparse.cpython-36.opt-2.pyc
argparse.cpython-36.pyc
ast.cpython-36.opt-1.pyc
ast.cpython-36.opt-2.pyc
ast.cpython-36.pyc
asynchat.cpython-36.opt-1.pyc
asynchat.cpython-36.opt-2.pyc
asynchat.cpython-36.pyc
asyncore.cpython-36.opt-1.pyc
asyncore.cpython-36.opt-2.pyc
asyncore.cpython-36.pyc
base64.cpython-36.opt-1.pyc
base64.cpython-36.opt-2.pyc
base64.cpython-36.pyc
bdb.cpython-36.opt-1.pyc
bdb.cpython-36.opt-2.pyc
bdb.cpython-36.pyc
binhex.cpython-36.opt-1.pyc
binhex.cpython-36.opt-2.pyc
binhex.cpython-36.pyc
bisect.cpython-36.opt-1.pyc
bisect.cpython-36.opt-2.pyc
bisect.cpython-36.pyc
bz2.cpython-36.opt-1.pyc
bz2.cpython-36.opt-2.pyc
bz2.cpython-36.pyc
cProfile.cpython-36.opt-1.pyc
cProfile.cpython-36.opt-2.pyc
cProfile.cpython-36.pyc
calendar.cpython-36.opt-1.pyc
calendar.cpython-36.opt-2.pyc
calendar.cpython-36.pyc
cgi.cpython-36.opt-1.pyc
cgi.cpython-36.opt-2.pyc
cgi.cpython-36.pyc
cgitb.cpython-36.opt-1.pyc
cgitb.cpython-36.opt-2.pyc
cgitb.cpython-36.pyc
chunk.cpython-36.opt-1.pyc
chunk.cpython-36.opt-2.pyc
chunk.cpython-36.pyc
cmd.cpython-36.opt-1.pyc
cmd.cpython-36.opt-2.pyc
cmd.cpython-36.pyc
code.cpython-36.opt-1.pyc
code.cpython-36.opt-2.pyc
code.cpython-36.pyc
codecs.cpython-36.opt-1.pyc
codecs.cpython-36.opt-2.pyc
codecs.cpython-36.pyc
codeop.cpython-36.opt-1.pyc
codeop.cpython-36.opt-2.pyc
codeop.cpython-36.pyc
colorsys.cpython-36.opt-1.pyc
colorsys.cpython-36.opt-2.pyc
colorsys.cpython-36.pyc
compileall.cpython-36.opt-1.pyc
compileall.cpython-36.opt-2.pyc
compileall.cpython-36.pyc
configparser.cpython-36.opt-1.pyc
configparser.cpython-36.opt-2.pyc
configparser.cpython-36.pyc
contextlib.cpython-36.opt-1.pyc
contextlib.cpython-36.opt-2.pyc
contextlib.cpython-36.pyc
copy.cpython-36.opt-1.pyc
copy.cpython-36.opt-2.pyc
copy.cpython-36.pyc
copyreg.cpython-36.opt-1.pyc
copyreg.cpython-36.opt-2.pyc
copyreg.cpython-36.pyc
crypt.cpython-36.opt-1.pyc
crypt.cpython-36.opt-2.pyc
crypt.cpython-36.pyc
csv.cpython-36.opt-1.pyc
csv.cpython-36.opt-2.pyc
csv.cpython-36.pyc
datetime.cpython-36.opt-1.pyc
datetime.cpython-36.opt-2.pyc
datetime.cpython-36.pyc
decimal.cpython-36.opt-1.pyc
decimal.cpython-36.opt-2.pyc
decimal.cpython-36.pyc
difflib.cpython-36.opt-1.pyc
difflib.cpython-36.opt-2.pyc
difflib.cpython-36.pyc
dis.cpython-36.opt-1.pyc
dis.cpython-36.opt-2.pyc
dis.cpython-36.pyc
doctest.cpython-36.opt-1.pyc
doctest.cpython-36.opt-2.pyc
doctest.cpython-36.pyc
dummy_threading.cpython-36.opt-1.pyc
dummy_threading.cpython-36.opt-2.pyc
dummy_threading.cpython-36.pyc
enum.cpython-36.opt-1.pyc
enum.cpython-36.opt-2.pyc
enum.cpython-36.pyc
filecmp.cpython-36.opt-1.pyc
filecmp.cpython-36.opt-2.pyc
filecmp.cpython-36.pyc
fileinput.cpython-36.opt-1.pyc
fileinput.cpython-36.opt-2.pyc
fileinput.cpython-36.pyc
fnmatch.cpython-36.opt-1.pyc
fnmatch.cpython-36.opt-2.pyc
fnmatch.cpython-36.pyc
formatter.cpython-36.opt-1.pyc
formatter.cpython-36.opt-2.pyc
formatter.cpython-36.pyc
fractions.cpython-36.opt-1.pyc
fractions.cpython-36.opt-2.pyc
fractions.cpython-36.pyc
ftplib.cpython-36.opt-1.pyc
ftplib.cpython-36.opt-2.pyc
ftplib.cpython-36.pyc
functools.cpython-36.opt-1.pyc
functools.cpython-36.opt-2.pyc
functools.cpython-36.pyc
genericpath.cpython-36.opt-1.pyc
genericpath.cpython-36.opt-2.pyc
genericpath.cpython-36.pyc
getopt.cpython-36.opt-1.pyc
getopt.cpython-36.opt-2.pyc
getopt.cpython-36.pyc
getpass.cpython-36.opt-1.pyc
getpass.cpython-36.opt-2.pyc
getpass.cpython-36.pyc
gettext.cpython-36.opt-1.pyc
gettext.cpython-36.opt-2.pyc
gettext.cpython-36.pyc
glob.cpython-36.opt-1.pyc
glob.cpython-36.opt-2.pyc
glob.cpython-36.pyc
gzip.cpython-36.opt-1.pyc
gzip.cpython-36.opt-2.pyc
gzip.cpython-36.pyc
hashlib.cpython-36.opt-1.pyc
hashlib.cpython-36.opt-2.pyc
hashlib.cpython-36.pyc
heapq.cpython-36.opt-1.pyc
heapq.cpython-36.opt-2.pyc
heapq.cpython-36.pyc
hmac.cpython-36.opt-1.pyc
hmac.cpython-36.opt-2.pyc
hmac.cpython-36.pyc
imaplib.cpython-36.opt-1.pyc
imaplib.cpython-36.opt-2.pyc
imaplib.cpython-36.pyc
imghdr.cpython-36.opt-1.pyc
imghdr.cpython-36.opt-2.pyc
imghdr.cpython-36.pyc
imp.cpython-36.opt-1.pyc
imp.cpython-36.opt-2.pyc
imp.cpython-36.pyc
inspect.cpython-36.opt-1.pyc
inspect.cpython-36.opt-2.pyc
inspect.cpython-36.pyc
io.cpython-36.opt-1.pyc
io.cpython-36.opt-2.pyc
io.cpython-36.pyc
ipaddress.cpython-36.opt-1.pyc
ipaddress.cpython-36.opt-2.pyc
ipaddress.cpython-36.pyc
keyword.cpython-36.opt-1.pyc
keyword.cpython-36.opt-2.pyc
keyword.cpython-36.pyc
linecache.cpython-36.opt-1.pyc
linecache.cpython-36.opt-2.pyc
linecache.cpython-36.pyc
locale.cpython-36.opt-1.pyc
locale.cpython-36.opt-2.pyc
locale.cpython-36.pyc
lzma.cpython-36.opt-1.pyc
lzma.cpython-36.opt-2.pyc
lzma.cpython-36.pyc
macpath.cpython-36.opt-1.pyc
macpath.cpython-36.opt-2.pyc
macpath.cpython-36.pyc
macurl2path.cpython-36.opt-1.pyc
macurl2path.cpython-36.opt-2.pyc
macurl2path.cpython-36.pyc
mailbox.cpython-36.opt-1.pyc
mailbox.cpython-36.opt-2.pyc
mailbox.cpython-36.pyc
mailcap.cpython-36.opt-1.pyc
mailcap.cpython-36.opt-2.pyc
mailcap.cpython-36.pyc
mimetypes.cpython-36.opt-1.pyc
mimetypes.cpython-36.opt-2.pyc
mimetypes.cpython-36.pyc
modulefinder.cpython-36.opt-1.pyc
modulefinder.cpython-36.opt-2.pyc
modulefinder.cpython-36.pyc
netrc.cpython-36.opt-1.pyc
netrc.cpython-36.opt-2.pyc
netrc.cpython-36.pyc
nntplib.cpython-36.opt-1.pyc
nntplib.cpython-36.opt-2.pyc
nntplib.cpython-36.pyc
ntpath.cpython-36.opt-1.pyc
ntpath.cpython-36.opt-2.pyc
ntpath.cpython-36.pyc
nturl2path.cpython-36.opt-1.pyc
nturl2path.cpython-36.opt-2.pyc
nturl2path.cpython-36.pyc
numbers.cpython-36.opt-1.pyc
numbers.cpython-36.opt-2.pyc
numbers.cpython-36.pyc
opcode.cpython-36.opt-1.pyc
opcode.cpython-36.opt-2.pyc
opcode.cpython-36.pyc
operator.cpython-36.opt-1.pyc
operator.cpython-36.opt-2.pyc
operator.cpython-36.pyc
optparse.cpython-36.opt-1.pyc
optparse.cpython-36.opt-2.pyc
optparse.cpython-36.pyc
os.cpython-36.opt-1.pyc
os.cpython-36.opt-2.pyc
os.cpython-36.pyc
pathlib.cpython-36.opt-1.pyc
pathlib.cpython-36.opt-2.pyc
pathlib.cpython-36.pyc
pdb.cpython-36.opt-1.pyc
pdb.cpython-36.opt-2.pyc
pdb.cpython-36.pyc
pickle.cpython-36.opt-1.pyc
pickle.cpython-36.opt-2.pyc
pickle.cpython-36.pyc
pickletools.cpython-36.opt-1.pyc
pickletools.cpython-36.opt-2.pyc
pickletools.cpython-36.pyc
pipes.cpython-36.opt-1.pyc
pipes.cpython-36.opt-2.pyc
pipes.cpython-36.pyc
pkgutil.cpython-36.opt-1.pyc
pkgutil.cpython-36.opt-2.pyc
pkgutil.cpython-36.pyc
platform.cpython-36.opt-1.pyc
platform.cpython-36.opt-2.pyc
platform.cpython-36.pyc
plistlib.cpython-36.opt-1.pyc
plistlib.cpython-36.opt-2.pyc
plistlib.cpython-36.pyc
poplib.cpython-36.opt-1.pyc
poplib.cpython-36.opt-2.pyc
poplib.cpython-36.pyc
posixpath.cpython-36.opt-1.pyc
posixpath.cpython-36.opt-2.pyc
posixpath.cpython-36.pyc
pprint.cpython-36.opt-1.pyc
pprint.cpython-36.opt-2.pyc
pprint.cpython-36.pyc
profile.cpython-36.opt-1.pyc
profile.cpython-36.opt-2.pyc
profile.cpython-36.pyc
pstats.cpython-36.opt-1.pyc
pstats.cpython-36.opt-2.pyc
pstats.cpython-36.pyc
pty.cpython-36.opt-1.pyc
pty.cpython-36.opt-2.pyc
pty.cpython-36.pyc
py_compile.cpython-36.opt-1.pyc
py_compile.cpython-36.opt-2.pyc
py_compile.cpython-36.pyc
pyclbr.cpython-36.opt-1.pyc
pyclbr.cpython-36.opt-2.pyc
pyclbr.cpython-36.pyc
pydoc.cpython-36.opt-1.pyc
pydoc.cpython-36.opt-2.pyc
pydoc.cpython-36.pyc
queue.cpython-36.opt-1.pyc
queue.cpython-36.opt-2.pyc
queue.cpython-36.pyc
quopri.cpython-36.opt-1.pyc
quopri.cpython-36.opt-2.pyc
quopri.cpython-36.pyc
random.cpython-36.opt-1.pyc
random.cpython-36.opt-2.pyc
random.cpython-36.pyc
re.cpython-36.opt-1.pyc
re.cpython-36.opt-2.pyc
re.cpython-36.pyc
reprlib.cpython-36.opt-1.pyc
reprlib.cpython-36.opt-2.pyc
reprlib.cpython-36.pyc
rlcompleter.cpython-36.opt-1.pyc
rlcompleter.cpython-36.opt-2.pyc
rlcompleter.cpython-36.pyc
runpy.cpython-36.opt-1.pyc
runpy.cpython-36.opt-2.pyc
runpy.cpython-36.pyc
sched.cpython-36.opt-1.pyc
sched.cpython-36.opt-2.pyc
sched.cpython-36.pyc
secrets.cpython-36.opt-1.pyc
secrets.cpython-36.opt-2.pyc
secrets.cpython-36.pyc
selectors.cpython-36.opt-1.pyc
selectors.cpython-36.opt-2.pyc
selectors.cpython-36.pyc
shelve.cpython-36.opt-1.pyc
shelve.cpython-36.opt-2.pyc
shelve.cpython-36.pyc
shlex.cpython-36.opt-1.pyc
shlex.cpython-36.opt-2.pyc
shlex.cpython-36.pyc
shutil.cpython-36.opt-1.pyc
shutil.cpython-36.opt-2.pyc
shutil.cpython-36.pyc
signal.cpython-36.opt-1.pyc
signal.cpython-36.opt-2.pyc
signal.cpython-36.pyc
site.cpython-36.opt-1.pyc
site.cpython-36.opt-2.pyc
site.cpython-36.pyc
smtpd.cpython-36.opt-1.pyc
smtpd.cpython-36.opt-2.pyc
smtpd.cpython-36.pyc
smtplib.cpython-36.opt-1.pyc
smtplib.cpython-36.opt-2.pyc
smtplib.cpython-36.pyc
sndhdr.cpython-36.opt-1.pyc
sndhdr.cpython-36.opt-2.pyc
sndhdr.cpython-36.pyc
socket.cpython-36.opt-1.pyc
socket.cpython-36.opt-2.pyc
socket.cpython-36.pyc
socketserver.cpython-36.opt-1.pyc
socketserver.cpython-36.opt-2.pyc
socketserver.cpython-36.pyc
sre_compile.cpython-36.opt-1.pyc
sre_compile.cpython-36.opt-2.pyc
sre_compile.cpython-36.pyc
sre_constants.cpython-36.opt-1.pyc
sre_constants.cpython-36.opt-2.pyc
sre_constants.cpython-36.pyc
sre_parse.cpython-36.opt-1.pyc
sre_parse.cpython-36.opt-2.pyc
sre_parse.cpython-36.pyc
ssl.cpython-36.opt-1.pyc
ssl.cpython-36.opt-2.pyc
ssl.cpython-36.pyc
stat.cpython-36.opt-1.pyc
stat.cpython-36.opt-2.pyc
stat.cpython-36.pyc
statistics.cpython-36.opt-1.pyc
statistics.cpython-36.opt-2.pyc
statistics.cpython-36.pyc
string.cpython-36.opt-1.pyc
string.cpython-36.opt-2.pyc
string.cpython-36.pyc
stringprep.cpython-36.opt-1.pyc
stringprep.cpython-36.opt-2.pyc
stringprep.cpython-36.pyc
struct.cpython-36.opt-1.pyc
struct.cpython-36.opt-2.pyc
struct.cpython-36.pyc
subprocess.cpython-36.opt-1.pyc
subprocess.cpython-36.opt-2.pyc
subprocess.cpython-36.pyc
sunau.cpython-36.opt-1.pyc
sunau.cpython-36.opt-2.pyc
sunau.cpython-36.pyc
symbol.cpython-36.opt-1.pyc
symbol.cpython-36.opt-2.pyc
symbol.cpython-36.pyc
symtable.cpython-36.opt-1.pyc
symtable.cpython-36.opt-2.pyc
symtable.cpython-36.pyc
sysconfig.cpython-36.opt-1.pyc
sysconfig.cpython-36.opt-2.pyc
sysconfig.cpython-36.pyc
tabnanny.cpython-36.opt-1.pyc
tabnanny.cpython-36.opt-2.pyc
tabnanny.cpython-36.pyc
tarfile.cpython-36.opt-1.pyc
tarfile.cpython-36.opt-2.pyc
tarfile.cpython-36.pyc
telnetlib.cpython-36.opt-1.pyc
telnetlib.cpython-36.opt-2.pyc
telnetlib.cpython-36.pyc
tempfile.cpython-36.opt-1.pyc
tempfile.cpython-36.opt-2.pyc
tempfile.cpython-36.pyc
textwrap.cpython-36.opt-1.pyc
textwrap.cpython-36.opt-2.pyc
textwrap.cpython-36.pyc
this.cpython-36.opt-1.pyc
this.cpython-36.opt-2.pyc
this.cpython-36.pyc
threading.cpython-36.opt-1.pyc
threading.cpython-36.opt-2.pyc
threading.cpython-36.pyc
timeit.cpython-36.opt-1.pyc
timeit.cpython-36.opt-2.pyc
timeit.cpython-36.pyc
token.cpython-36.opt-1.pyc
token.cpython-36.opt-2.pyc
token.cpython-36.pyc
tokenize.cpython-36.opt-1.pyc
tokenize.cpython-36.opt-2.pyc
tokenize.cpython-36.pyc
trace.cpython-36.opt-1.pyc
trace.cpython-36.opt-2.pyc
trace.cpython-36.pyc
traceback.cpython-36.opt-1.pyc
traceback.cpython-36.opt-2.pyc
traceback.cpython-36.pyc
tracemalloc.cpython-36.opt-1.pyc
tracemalloc.cpython-36.opt-2.pyc
tracemalloc.cpython-36.pyc
tty.cpython-36.opt-1.pyc
tty.cpython-36.opt-2.pyc
tty.cpython-36.pyc
types.cpython-36.opt-1.pyc
types.cpython-36.opt-2.pyc
types.cpython-36.pyc
typing.cpython-36.opt-1.pyc
typing.cpython-36.opt-2.pyc
typing.cpython-36.pyc
uu.cpython-36.opt-1.pyc
uu.cpython-36.opt-2.pyc
uu.cpython-36.pyc
uuid.cpython-36.opt-1.pyc
uuid.cpython-36.opt-2.pyc
uuid.cpython-36.pyc
warnings.cpython-36.opt-1.pyc
warnings.cpython-36.opt-2.pyc
warnings.cpython-36.pyc
wave.cpython-36.opt-1.pyc
wave.cpython-36.opt-2.pyc
wave.cpython-36.pyc
weakref.cpython-36.opt-1.pyc
weakref.cpython-36.opt-2.pyc
weakref.cpython-36.pyc
webbrowser.cpython-36.opt-1.pyc
webbrowser.cpython-36.opt-2.pyc
webbrowser.cpython-36.pyc
xdrlib.cpython-36.opt-1.pyc
xdrlib.cpython-36.opt-2.pyc
xdrlib.cpython-36.pyc
zipapp.cpython-36.opt-1.pyc
zipapp.cpython-36.opt-2.pyc
zipapp.cpython-36.pyc
zipfile.cpython-36.opt-1.pyc
zipfile.cpython-36.opt-2.pyc
zipfile.cpython-36.pyc

File Transfer

Upload files to current directory

File Editor: formatter.cpython-36.opt-2.pyc

3 \';@sddlZddlZejdedddZGdddZGdddZGd d d ZGd d d eZGd ddeZ dddZ e dkre dS)Nz"the formatter module is deprecated) stacklevelc@seZdZd'ddZddZddZdd Zd(d d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZd d!Zd)d#d$Zd*d%d&ZdS)+ NullFormatterNcCs|dkrt}||_dS)N) NullWriterwriter)selfrr!/usr/lib64/python3.6/formatter.py__init__)szNullFormatter.__init__cCsdS)Nr)r blanklinerrr end_paragraph-szNullFormatter.end_paragraphcCsdS)Nr)rrrr add_line_break.szNullFormatter.add_line_breakcOsdS)Nr)rargskwrrr add_hor_rule/szNullFormatter.add_hor_rulecCsdS)Nr)rformatcounterr rrr add_label_data0szNullFormatter.add_label_datacCsdS)Nr)rdatarrr add_flowing_data1szNullFormatter.add_flowing_datacCsdS)Nr)rrrrr add_literal_data2szNullFormatter.add_literal_datacCsdS)Nr)rrrr flush_softspace3szNullFormatter.flush_softspacecCsdS)Nr)ralignrrr push_alignment4szNullFormatter.push_alignmentcCsdS)Nr)rrrr pop_alignment5szNullFormatter.pop_alignmentcCsdS)Nr)rxrrr push_font6szNullFormatter.push_fontcCsdS)Nr)rrrr pop_font7szNullFormatter.pop_fontcCsdS)Nr)rmarginrrr push_margin8szNullFormatter.push_margincCsdS)Nr)rrrr pop_margin9szNullFormatter.pop_margincCsdS)Nr)rspacingrrr set_spacing:szNullFormatter.set_spacingcGsdS)Nr)rstylesrrr push_style;szNullFormatter.push_stylecCsdS)Nr)rnrrr pop_style<szNullFormatter.pop_stylecCsdS)Nr)rflagrrr assert_line_data=szNullFormatter.assert_line_data)N)N)r%)r%)__name__ __module__ __qualname__r r r rrrrrrrrrrr r"r$r'r)rrrr rs$   rc@seZdZddZddZddZddZd-d d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd.d)d*Zd/d+d,Zd S)0AbstractFormattercCsR||_d|_g|_g|_g|_d|_g|_d|_d|_d|_ d|_ d|_ d|_ dS)Nr%r) rr align_stack font_stack margin_stackr! style_stacknospace softspacepara_endparskip hard_break have_label)rrrrr r NszAbstractFormatter.__init__cCsb|js|jjd|_|j|krF|j rF|jj||j||_d|_d|_|_|_d|_dS)Nrr%) r6rsend_line_breakr7r5send_paragraphr2r4r3)rr rrr r ]s zAbstractFormatter.end_paragraphcCs8|jp |js"|jjd|_|_d|_|_d|_dS)Nrr%)r6r4rr8r7r5r2r3)rrrr r hs     z AbstractFormatter.add_line_breakcOsF|js|jj|jj||d|_|_d|_|_|_|_dS)Nr%r) r6rr8 send_hor_ruler2r7r4r3r5)rrrrrr ros   zAbstractFormatter.add_hor_ruleNcCs|js|j r|jj|js2|jj|r,dp.dt|trR|jj|j ||n |jj|d|_ |_|_|_d|_ |_ dS)Nr%r) r7r6rr8r4r9 isinstancestrsend_label_dataformat_counterr2r3r5)rrrr rrr rvs   z AbstractFormatter.add_label_datacCsxd}xn|D]f}|dkr$|d|}q |dkrF|dkrp||j||}q |dkrh|dkrp||j||}q ||}q W|S)N1z%dZaArZiI) format_letter format_roman)rrrlabelcrrr r>s  z AbstractFormatter.format_countercCs@d}x6|dkr:t|dd\}}tt||}||}qW|S)Nr?rr%)divmodchrord)rcaserrCrsrrr rAs   zAbstractFormatter.format_letterc Csddddg}dddg}d\}}x|d krt|d \}}|d krX||||d |}nT|d krv|||||}n6|dkr||}|d}nd}||||}||}|d }q W|dkr|jS|S)NirrDmvldr?r r%I)r?r)rFupper) rrIrZonesZfivesrCindexrrJrrr rBs&     zAbstractFormatter.format_romancCs|sdS|ddj}|ddj}dj|j}|jrF| rFdS|sP|jrx|sj|jsfd|_d|_dS|jsxd|}d|_|_|_|_|_||_|j j |dS)Nr% r) isspacejoinsplitr2r3r5r6r4r7rsend_flowing_data)rrZprespaceZ postspacerrr rs$  z"AbstractFormatter.add_flowing_datacCsZ|sdS|jr|jjd|dddk|_d|_|_|_|_|_|jj|dS)NrWr% rrX) r3rr\r6r2r4r5r7send_literal_data)rrrrr rs z"AbstractFormatter.add_literal_datacCs:|jr6d|_|_|_|_|_d|_|jjddS)Nrr%rW)r3r6r4r5r7r2rr\)rrrr rsz!AbstractFormatter.flush_softspacecCs@|r.||jkr.|jj|||_|jj|n|jj|jdS)N)rr new_alignmentr.append)rrrrr rs  z AbstractFormatter.push_alignmentcCsH|jr|jd=|jr2|jd|_}|jj|nd|_|jjddS)Nr%rXrX)r.rrr_)rrrrr rszAbstractFormatter.pop_alignmentc Cs|\}}}}|jr6d|_|_|_d|_|jjd|jr~|jd\}}}} |tkrZ|}|tkrf|}|tkrr|}|tkr~| }||||f}|jj||jj |dS)Nrr%rWrX) r3r6r4r2rr\r/AS_ISr`new_font) rfontsizerKbZttZcsizeZcicbZcttrrr rs$    zAbstractFormatter.push_fontcCs4|jr|jd=|jr |jd}nd}|jj|dS)Nr%rXrX)r/rrb)rrcrrr rs  zAbstractFormatter.pop_fontcCsD|jj|dd|jD}| r.|r.|d}|jj|t|dS)NcSsg|] }|r|qSrr).0rLrrr sz1AbstractFormatter.push_margin..r%rX)r0r`r new_marginlen)rrfstackrrr rs   zAbstractFormatter.push_margincCsF|jr|jd=dd|jD}|r,|d}nd}|jj|t|dS)Nr%cSsg|] }|r|qSrr)rgrLrrr rh sz0AbstractFormatter.pop_margin..rXrX)r0rrirj)rrkrrrr r s zAbstractFormatter.pop_margincCs||_|jj|dS)N)r!r new_spacing)rr!rrr r"szAbstractFormatter.set_spacingcGsZ|jr*d|_|_|_d|_|jjdx|D]}|jj|q0W|jjt |jdS)Nrr%rW) r3r6r4r2rr\r1r` new_stylestuple)rr#Zstylerrr r$s  zAbstractFormatter.push_styler%cCs$|j| d=|jjt|jdS)N)r1rrmrn)rr&rrr r'!szAbstractFormatter.pop_stylecCs$| |_|_d|_|_|_dS)Nr)r2r6r4r5r7)rr(rrr r)%sz"AbstractFormatter.assert_line_data)N)r%)r%)r*r+r,r r r rrr>rArBrrrrrrrrr r"r$r'r)rrrr r-@s*        r-c@steZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZdS)rcCsdS)Nr)rrrr r 2szNullWriter.__init__cCsdS)Nr)rrrr flush3szNullWriter.flushcCsdS)Nr)rrrrr r_4szNullWriter.new_alignmentcCsdS)Nr)rrcrrr rb5szNullWriter.new_fontcCsdS)Nr)rrlevelrrr ri6szNullWriter.new_margincCsdS)Nr)rr!rrr rl7szNullWriter.new_spacingcCsdS)Nr)rr#rrr rm8szNullWriter.new_stylescCsdS)Nr)rr rrr r99szNullWriter.send_paragraphcCsdS)Nr)rrrr r8:szNullWriter.send_line_breakcOsdS)Nr)rrrrrr r:;szNullWriter.send_hor_rulecCsdS)Nr)rrrrr r=<szNullWriter.send_label_datacCsdS)Nr)rrrrr r\=szNullWriter.send_flowing_datacCsdS)Nr)rrrrr r^>szNullWriter.send_literal_dataN)r*r+r,r ror_rbrirlrmr9r8r:r=r\r^rrrr r*src@sdeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ dS)AbstractWritercCstd|fdS)Nznew_alignment(%r))print)rrrrr r_IszAbstractWriter.new_alignmentcCstd|fdS)Nz new_font(%r))rr)rrcrrr rbLszAbstractWriter.new_fontcCstd||fdS)Nznew_margin(%r, %d))rr)rrrprrr riOszAbstractWriter.new_margincCstd|fdS)Nznew_spacing(%r))rr)rr!rrr rlRszAbstractWriter.new_spacingcCstd|fdS)Nznew_styles(%r))rr)rr#rrr rmUszAbstractWriter.new_stylescCstd|fdS)Nzsend_paragraph(%r))rr)rr rrr r9XszAbstractWriter.send_paragraphcCs tddS)Nzsend_line_break())rr)rrrr r8[szAbstractWriter.send_line_breakcOs tddS)Nzsend_hor_rule())rr)rrrrrr r:^szAbstractWriter.send_hor_rulecCstd|fdS)Nzsend_label_data(%r))rr)rrrrr r=aszAbstractWriter.send_label_datacCstd|fdS)Nzsend_flowing_data(%r))rr)rrrrr r\dsz AbstractWriter.send_flowing_datacCstd|fdS)Nzsend_literal_data(%r))rr)rrrrr r^gsz AbstractWriter.send_literal_dataN)r*r+r,r_rbrirlrmr9r8r:r=r\r^rrrr rqAsrqc@sFeZdZdddZddZddZd d Zd d Zd dZddZ dS) DumbWriterNHcCs(|ptj|_||_tj||jdS)N)sysstdoutfilemaxcolrr reset)rrwrxrrr r ts  zDumbWriter.__init__cCsd|_d|_dS)Nr)colatbreak)rrrr ryzszDumbWriter.resetcCs |jjd|d|_d|_dS)Nr]r)rwwriterzr{)rr rrr r9~szDumbWriter.send_paragraphcCs|jjdd|_d|_dS)Nr]r)rwr|rzr{)rrrr r8s zDumbWriter.send_line_breakcOs:|jjd|jjd|j|jjdd|_d|_dS)Nr]-r)rwr|rxrzr{)rrrrrr r:s   zDumbWriter.send_hor_rulecCsV|jj||jd}|dkr4d|_||dd}|j}|jt||_d|_dS)Nr]rr%)rwr|rfindrz expandtabsrjr{)rrrKrrr r^s  zDumbWriter.send_literal_datacCs|sdS|jp|dj}|j}|j}|jj}xZ|jD]N}|rn|t||kr^|dd}n|d|d}|||t|}d}q8W||_|dj|_dS)Nrr]rWr%rX)r{rYrzrxrwr|r[rj)rrr{rzrxr|Zwordrrr r\s$ zDumbWriter.send_flowing_data)Nrt) r*r+r,r ryr9r8r:r^r\rrrr rsks  rsc Cst}t|}|dk r t|}n$tjddr>ttjd}ntj}z0x*|D]"}|dkrd|jdqL|j|qLWWd|tjk r|jX|jddS)Nr%r]r) rsr-openruargvstdinr rclose)rwwffplinerrr tests     r__main__)N) ruwarningswarnDeprecationWarningrarr-rrqrsrr*rrrr s"k*C