Browse Source

fixed table of content

newsletter
Esther Kleinhenz 6 years ago
parent
commit
932959d6b0
49 changed files with 1387 additions and 555 deletions
  1. 22
    0
      doc/graduate-thesis/.texpadtmp/Thesis.aux
  2. 0
    0
      doc/graduate-thesis/.texpadtmp/Thesis.bbl
  3. 48
    0
      doc/graduate-thesis/.texpadtmp/Thesis.blg
  4. 613
    0
      doc/graduate-thesis/.texpadtmp/Thesis.log
  5. 1
    0
      doc/graduate-thesis/.texpadtmp/Thesis.out
  6. 5
    0
      doc/graduate-thesis/.texpadtmp/Thesis.toc
  7. 0
    0
      doc/graduate-thesis/Chapters/Chapter1.aux
  8. BIN
      doc/graduate-thesis/Pruefungsrechtliche_Erklaerung_und_Erklaerung_zur_Veroeffentlichung_der_Abschlussarbeit_public.pdf
  9. 6
    7
      thesisenv/bin/easy_install
  10. 6
    7
      thesisenv/bin/easy_install-3.6
  11. 26
    43
      thesisenv/lib/python3.6/site-packages/pkg_resources/__init__.py
  12. 15
    71
      thesisenv/lib/python3.6/site-packages/pkg_resources/_vendor/appdirs.py
  13. 15
    39
      thesisenv/lib/python3.6/site-packages/pkg_resources/_vendor/pyparsing.py
  14. 1
    1
      thesisenv/lib/python3.6/site-packages/pkg_resources/extern/__init__.py
  15. 2
    3
      thesisenv/lib/python3.6/site-packages/pkg_resources/py31compat.py
  16. 36
    0
      thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/DESCRIPTION.rst
  17. 1
    0
      thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/INSTALLER
  18. 19
    0
      thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/LICENSE.txt
  19. 71
    0
      thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/METADATA
  20. 188
    0
      thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/RECORD
  21. 6
    0
      thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/WHEEL
  22. 2
    0
      thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/dependency_links.txt
  23. 65
    0
      thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/entry_points.txt
  24. 1
    0
      thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/metadata.json
  25. 3
    0
      thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/top_level.txt
  26. 1
    0
      thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/zip-safe
  27. 2
    13
      thesisenv/lib/python3.6/site-packages/setuptools/__init__.py
  28. 15
    39
      thesisenv/lib/python3.6/site-packages/setuptools/_vendor/pyparsing.py
  29. 1
    14
      thesisenv/lib/python3.6/site-packages/setuptools/build_meta.py
  30. 1
    1
      thesisenv/lib/python3.6/site-packages/setuptools/command/bdist_egg.py
  31. 11
    1
      thesisenv/lib/python3.6/site-packages/setuptools/command/build_ext.py
  32. 1
    3
      thesisenv/lib/python3.6/site-packages/setuptools/command/develop.py
  33. 7
    10
      thesisenv/lib/python3.6/site-packages/setuptools/command/easy_install.py
  34. 25
    34
      thesisenv/lib/python3.6/site-packages/setuptools/command/egg_info.py
  35. 3
    11
      thesisenv/lib/python3.6/site-packages/setuptools/command/register.py
  36. 1
    3
      thesisenv/lib/python3.6/site-packages/setuptools/command/test.py
  37. 0
    11
      thesisenv/lib/python3.6/site-packages/setuptools/command/upload.py
  38. 12
    56
      thesisenv/lib/python3.6/site-packages/setuptools/config.py
  39. 22
    23
      thesisenv/lib/python3.6/site-packages/setuptools/dist.py
  40. 1
    1
      thesisenv/lib/python3.6/site-packages/setuptools/extern/__init__.py
  41. 18
    0
      thesisenv/lib/python3.6/site-packages/setuptools/monkey.py
  42. 2
    1
      thesisenv/lib/python3.6/site-packages/setuptools/msvc.py
  43. 9
    17
      thesisenv/lib/python3.6/site-packages/setuptools/package_index.py
  44. 4
    7
      thesisenv/lib/python3.6/site-packages/setuptools/pep425tags.py
  45. 12
    3
      thesisenv/lib/python3.6/site-packages/setuptools/py31compat.py
  46. 1
    2
      thesisenv/lib/python3.6/site-packages/setuptools/py33compat.py
  47. 1
    2
      thesisenv/lib/python3.6/site-packages/setuptools/script (dev).tmpl
  48. 1
    1
      thesisenv/lib/python3.6/site-packages/setuptools/site-patch.py
  49. 84
    131
      thesisenv/lib/python3.6/site-packages/setuptools/wheel.py

+ 22
- 0
doc/graduate-thesis/.texpadtmp/Thesis.aux View File

\relax
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\catcode `"\active
\babel@aux{ngerman}{}
\@writefile{toc}{\contentsline {chapter}{Abstrakt}{1}{dummy.1}}
\@writefile{toc}{\vspace {1em}\global \let \gdef empty{empty} }

+ 0
- 0
doc/graduate-thesis/.texpadtmp/Thesis.bbl View File


+ 48
- 0
doc/graduate-thesis/.texpadtmp/Thesis.blg View File

This is BibTeX, Version 0.99d (TeX Live 2018)
Capacity: max_strings=100000, hash_size=100000, hash_prime=85009
The top-level auxiliary file: /Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.aux
I found no \citation commands---while reading file /Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.aux
I found no \bibdata command---while reading file /Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.aux
I found no \bibstyle command---while reading file /Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.aux
You've used 0 entries,
0 wiz_defined-function locations,
83 strings with 594 characters,
and the built_in function-call counts, 0 in all, are:
= -- 0
> -- 0
< -- 0
+ -- 0
- -- 0
* -- 0
:= -- 0
add.period$ -- 0
call.type$ -- 0
change.case$ -- 0
chr.to.int$ -- 0
cite$ -- 0
duplicate$ -- 0
empty$ -- 0
format.name$ -- 0
if$ -- 0
int.to.chr$ -- 0
int.to.str$ -- 0
missing$ -- 0
newline$ -- 0
num.names$ -- 0
pop$ -- 0
preamble$ -- 0
purify$ -- 0
quote$ -- 0
skip$ -- 0
stack$ -- 0
substring$ -- 0
swap$ -- 0
text.length$ -- 0
text.prefix$ -- 0
top$ -- 0
type$ -- 0
warning$ -- 0
while$ -- 0
width$ -- 0
write$ -- 0
(There were 3 error messages)

+ 613
- 0
doc/graduate-thesis/.texpadtmp/Thesis.log View File

This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=pdflatex 2018.6.7) 27 SEP 2018 10:23
entering extended mode
\write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
**Thesis.tex
(./Thesis.tex
LaTeX2e <2018-04-01> patch level 2
Babel <3.18> and hyphenation patterns for 84 language(s) loaded.
(./Thesis.cls
Document Class: Thesis 2007/22/02 v1.0 LaTeX document class
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/book.cls
Document Class: book 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/bk12.clo
File: bk12.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
)
\c@part=\count80
\c@chapter=\count81
\c@section=\count82
\c@subsection=\count83
\c@subsubsection=\count84
\c@paragraph=\count85
\c@subparagraph=\count86
\c@figure=\count87
\c@table=\count88
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
) (/usr/local/texlive/2018/texmf-dist/tex/latex/setspace/setspace.sty
Package: setspace 2011/12/19 v6.7a set line spacing
) (/usr/local/texlive/2018/texmf-dist/tex/latex/vmargin/vmargin.sty
Package: vmargin 2004/07/15 V2.5 set document margins (VK)

Package: vmargin 2004/07/15 V2.5 set document margins (VK)
\PaperWidth=\dimen103
\PaperHeight=\dimen104
) (/usr/local/texlive/2018/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
Package: fancyhdr 2017/06/30 v3.9a Extensive control of page headers and footers
\f@nch@headwidth=\skip43
\f@nch@O@elh=\skip44
\f@nch@O@erh=\skip45
\f@nch@O@olh=\skip46
\f@nch@O@orh=\skip47
\f@nch@O@elf=\skip48
\f@nch@O@erf=\skip49
\f@nch@O@olf=\skip50
\f@nch@O@orf=\skip51
)
\c@theorem=\count89
(/usr/local/texlive/2018/texmf-dist/tex/latex/caption/caption.sty
Package: caption 2016/02/21 v3.3-144 Customizing captions (AR)
(/usr/local/texlive/2018/texmf-dist/tex/latex/caption/caption3.sty
Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR)
Package caption3 Info: TeX engine: e-TeX on input line 67.
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks14
)
\captionmargin=\dimen105
\captionmargin@=\dimen106
\captionwidth=\dimen107
\caption@tempdima=\dimen108
\caption@indent=\dimen109
\caption@parindent=\dimen110
\caption@hangindent=\dimen111
)
\c@ContinuedFloat=\count90
) (/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR)
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
) (/usr/local/texlive/2018/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: pdftex.def on input line 99.
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex
))
\Gin@req@height=\dimen112
\Gin@req@width=\dimen113
) (/usr/local/texlive/2018/texmf-dist/tex/latex/oberdiek/epstopdf.sty
Package: epstopdf 2016/05/15 v2.6 Conversion with epstopdf on the fly (HO)
(/usr/local/texlive/2018/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
) (/usr/local/texlive/2018/texmf-dist/tex/latex/oberdiek/grfext.sty
Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
))) (/usr/local/texlive/2018/texmf-dist/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/etexcmds.sty
Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
)
Package etexcmds Info: Could not find \expanded.
(etexcmds) That can mean that you are not using pdfTeX 1.50 or
(etexcmds) that some package has redefined \expanded.
(etexcmds) In the latter case, load this package earlier.
))) (/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
Package: pdftexcmds 2018/01/30 v0.27 Utility functions of pdfTeX for LuaTeX (HO)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/ifpdf.sty
Package: ifpdf 2017/03/15 v3.2 Provides the ifpdf switch
)
Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
)
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 438.
Package grfext Info: Graphics extension search list:
(grfext) [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPEG,.JBIG2,.JB2,.eps]
(grfext) \AppendGraphicsExtensions on input line 456.
(/usr/local/texlive/2018/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live
))) (/usr/local/texlive/2018/texmf-dist/tex/latex/subfigure/subfigure.sty
Package: subfigure 2002/03/15 v2.1.5 subfigure package
\subfigtopskip=\skip52
\subfigcapskip=\skip53
\subfigcaptopadj=\dimen114
\subfigbottomskip=\skip54
\subfigcapmargin=\dimen115
\subfiglabelskip=\skip55
\c@subfigure=\count91
\c@lofdepth=\count92
\c@subtable=\count93
\c@lotdepth=\count94

****************************************
* Local config file subfigure.cfg used *
****************************************
(/usr/local/texlive/2018/texmf-dist/tex/latex/subfigure/subfigure.cfg)
\subfig@top=\skip56
\subfig@bottom=\skip57
) (/usr/local/texlive/2018/texmf-dist/tex/latex/booktabs/booktabs.sty
Package: booktabs 2016/04/27 v1.618033 publication quality tables
\heavyrulewidth=\dimen116
\lightrulewidth=\dimen117
\cmidrulewidth=\dimen118
\belowrulesep=\dimen119
\belowbottomsep=\dimen120
\aboverulesep=\dimen121
\abovetopsep=\dimen122
\cmidrulesep=\dimen123
\cmidrulekern=\dimen124
\defaultaddspace=\dimen125
\@cmidla=\count95
\@cmidlb=\count96
\@aboverulesep=\dimen126
\@belowrulesep=\dimen127
\@thisruleclass=\count97
\@lastruleclass=\count98
\@thisrulewidth=\dimen128
) (/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/rotating.sty
Package: rotating 2016/08/11 v2.16d rotated objects in LaTeX
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/ifthen.sty
Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC)
)
\c@r@tfl@t=\count99
\rotFPtop=\skip58
\rotFPbot=\skip59
\rot@float@box=\box26
\rot@mess@toks=\toks15
) (/usr/local/texlive/2018/texmf-dist/tex/latex/listings/listings.sty
\lst@mode=\count100
\lst@gtempboxa=\box27
\lst@token=\toks16
\lst@length=\count101
\lst@currlwidth=\dimen129
\lst@column=\count102
\lst@pos=\count103
\lst@lostspace=\dimen130
\lst@width=\dimen131
\lst@newlines=\count104
\lst@lineno=\count105
\lst@maxwidth=\dimen132
(./lstpatch.sty) (/usr/local/texlive/2018/texmf-dist/tex/latex/listings/lstmisc.sty
File: lstmisc.sty 2015/06/04 1.6 (Carsten Heinz)
\c@lstnumber=\count106
\lst@skipnumbers=\count107
\lst@framebox=\box28
) (/usr/local/texlive/2018/texmf-dist/tex/latex/listings/listings.cfg
File: listings.cfg 2015/06/04 1.6 listings configuration
))
Package: listings 2015/06/04 1.6 (Carsten Heinz)
(./lstpatch.sty) (/usr/local/texlive/2018/texmf-dist/tex/latex/hyperref/hyperref.sty
Package: hyperref 2018/02/06 v6.86b Hypertext links for LaTeX
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO)
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO)
Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO)
Package hobsub Info: Skipping package `infwarerr' (already loaded).
Package hobsub Info: Skipping package `ltxcmds' (already loaded).
Package hobsub Info: Skipping package `ifluatex' (already loaded).
Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO)
Package ifvtex Info: VTeX not detected.
Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO)
Package hobsub Info: Skipping package `ifpdf' (already loaded).
Package hobsub Info: Skipping package `etexcmds' (already loaded).
Package hobsub Info: Skipping package `kvsetkeys' (already loaded).
Package hobsub Info: Skipping package `kvdefinekeys' (already loaded).
Package hobsub Info: Skipping package `pdftexcmds' (already loaded).
Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO)
Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO)
Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO)
Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO)
)
Package hobsub Info: Skipping package `hobsub' (already loaded).
Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO)
Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO)
Package: xcolor-patch 2016/05/16 xcolor patch
Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO)
Package atveryend Info: \enddocument detected (standard20110627).
Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO)
Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO)
Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO)
) (/usr/local/texlive/2018/texmf-dist/tex/generic/ifxetex/ifxetex.sty
Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
) (/usr/local/texlive/2018/texmf-dist/tex/latex/oberdiek/auxhook.sty
Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO)
)
\@linkdim=\dimen133
\Hy@linkcounter=\count108
\Hy@pagecounter=\count109
(/usr/local/texlive/2018/texmf-dist/tex/latex/hyperref/pd1enc.def
File: pd1enc.def 2018/02/06 v6.86b Hyperref: PDFDocEncoding definition (HO)
Now handling font encoding PD1 ...
... no UTF-8 mapping file for font encoding PD1
)
\Hy@SavedSpaceFactor=\count110
(/usr/local/texlive/2018/texmf-dist/tex/latex/latexconfig/hyperref.cfg
File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
)
Package hyperref Info: Option `bookmarks' set `true' on input line 4383.
Package hyperref Info: Option `bookmarksopen' set `true' on input line 4383.
Package hyperref Info: Option `bookmarksnumbered' set `true' on input line 4383.
Package hyperref Info: Option `hypertexnames' set `false' on input line 4383.
Package hyperref Info: Option `colorlinks' set `true' on input line 4383.
Package hyperref Info: Option `unicode' set `true' on input line 4383.
(/usr/local/texlive/2018/texmf-dist/tex/latex/hyperref/puenc.def
File: puenc.def 2018/02/06 v6.86b Hyperref: PDF Unicode definition (HO)
Now handling font encoding PU ...
... no UTF-8 mapping file for font encoding PU
)
Package hyperref Info: Option `breaklinks' set `true' on input line 4383.
Package hyperref Info: Hyper figures OFF on input line 4509.
Package hyperref Info: Link nesting OFF on input line 4514.
Package hyperref Info: Hyper index ON on input line 4517.
Package hyperref Info: Plain pages OFF on input line 4524.
Package hyperref Info: Backreferencing OFF on input line 4529.
Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
Package hyperref Info: Bookmarks ON on input line 4762.
\c@Hy@tempcnt=\count111
(/usr/local/texlive/2018/texmf-dist/tex/latex/url/url.sty
\Urlmuskip=\muskip10
Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc.
)
LaTeX Info: Redefining \url on input line 5115.
\XeTeXLinkMargin=\dimen134
\Fld@menulength=\count112
\Field@Width=\dimen135
\Fld@charsize=\dimen136
Package hyperref Info: Hyper figures OFF on input line 6369.
Package hyperref Info: Link nesting OFF on input line 6374.
Package hyperref Info: Hyper index ON on input line 6377.
Package hyperref Info: backreferencing OFF on input line 6384.
Package hyperref Info: Link coloring ON on input line 6387.
Package hyperref Info: Link coloring with OCG OFF on input line 6394.
Package hyperref Info: PDF/A mode OFF on input line 6399.
LaTeX Info: Redefining \ref on input line 6439.
LaTeX Info: Redefining \pageref on input line 6443.
\Hy@abspage=\count113
\c@Item=\count114
\c@Hfootnote=\count115
)
Package hyperref Info: Driver (autodetected): hpdftex.
(/usr/local/texlive/2018/texmf-dist/tex/latex/hyperref/hpdftex.def
File: hpdftex.def 2018/02/06 v6.86b Hyperref driver for pdfTeX
\Fld@listcount=\count116
\c@bookmark@seq@number=\count117
(/usr/local/texlive/2018/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO)
Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 282.
)
\Hy@SectionHShift=\skip60
)
\c@dummy=\count118
) (/usr/local/texlive/2018/texmf-dist/tex/latex/natbib/natbib.sty
Package: natbib 2010/09/13 8.31b (PWD, AO)
\bibhang=\skip61
\bibsep=\skip62
LaTeX Info: Redefining \cite on input line 694.
\c@NAT@ctr=\count119
) (/usr/local/texlive/2018/texmf-dist/tex/latex/tools/verbatim.sty
Package: verbatim 2014/10/28 v1.5q LaTeX2e package for verbatim enhancements
\every@verbatim=\toks17
\verbatim@line=\toks18
\verbatim@in@stream=\read1
) (./vector.sty) (/usr/local/texlive/2018/texmf-dist/tex/latex/titlesec/titlesec.sty
Package: titlesec 2016/03/21 v2.10.2 Sectioning titles
\ttl@box=\box29
\beforetitleunit=\skip63
\aftertitleunit=\skip64
\ttl@plus=\dimen137
\ttl@minus=\dimen138
\ttl@toksa=\toks19
\titlewidth=\dimen139
\titlewidthlast=\dimen140
\titlewidthfirst=\dimen141
) (/usr/local/texlive/2018/texmf-dist/tex/generic/babel/babel.sty
Package: babel 2018/02/14 3.18 The Babel package
(/usr/local/texlive/2018/texmf-dist/tex/generic/babel/switch.def
File: switch.def 2018/02/14 3.18 Babel switching mechanism
) (/usr/local/texlive/2018/texmf-dist/tex/generic/babel-german/ngerman.ldf
Language: ngerman 2018/03/29 v2.10 German support for babel (post-1996 orthography)
(/usr/local/texlive/2018/texmf-dist/tex/generic/babel-german/ngermanb.ldf
Language: ngermanb 2018/03/29 v2.10 German support for babel (post-1996 orthography)
(/usr/local/texlive/2018/texmf-dist/tex/generic/babel/babel.def
File: babel.def 2018/02/14 3.18 Babel common definitions
\babel@savecnt=\count120
\U@D=\dimen142
(/usr/local/texlive/2018/texmf-dist/tex/generic/babel/txtbabel.def)
\bbl@dirlevel=\count121
)
Package babel Info: Making " an active character on input line 121.
)))
Package hyperref Info: Option `colorlinks' set `true' on input line 15.
(/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.aux)
\openout1 = `Thesis.aux'.

LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 18.
LaTeX Font Info: ... okay on input line 18.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 18.
LaTeX Font Info: ... okay on input line 18.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 18.
LaTeX Font Info: ... okay on input line 18.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 18.
LaTeX Font Info: ... okay on input line 18.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 18.
LaTeX Font Info: ... okay on input line 18.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 18.
LaTeX Font Info: ... okay on input line 18.
LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 18.
LaTeX Font Info: ... okay on input line 18.
LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 18.
LaTeX Font Info: ... okay on input line 18.
Package caption Info: Begin \AtBeginDocument code.
Package caption Info: hyperref package is loaded.
Package caption Info: listings package is loaded.
Package caption Info: rotating package is loaded.
Package caption Info: subfigure package is loaded.
Package caption Info: End \AtBeginDocument code.
(/usr/local/texlive/2018/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count122
\scratchdimen=\dimen143
\scratchbox=\box30
\nofMPsegments=\count123
\nofMParguments=\count124
\everyMPshowfont=\toks20
\MPscratchCnt=\count125
\MPscratchDim=\dimen144
\MPnumerator=\count126
\makeMPintoPDFobject=\count127
\everyMPtoPDFconversion=\toks21
)
\c@lstlisting=\count128
\AtBeginShipoutBox=\box31
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/color.sty
Package: color 2016/07/10 v1.1e Standard LaTeX Color (DPC)
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics-cfg/color.cfg
File: color.cfg 2016/01/02 v1.6 sample color configuration
)
Package color Info: Driver file: pdftex.def on input line 147.
)
Package hyperref Info: Link coloring ON on input line 18.
(/usr/local/texlive/2018/texmf-dist/tex/latex/hyperref/nameref.sty
Package: nameref 2016/05/21 v2.44 Cross-referencing by name of section
(/usr/local/texlive/2018/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO)
)
\c@section@level=\count129
)
LaTeX Info: Redefining \ref on input line 18.
LaTeX Info: Redefining \pageref on input line 18.
LaTeX Info: Redefining \nameref on input line 18.
(/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.out) (/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.out)
\@outlinefile=\write3
\openout3 = `Thesis.out'.


------------------------------------------------------------------------------
Title Page
------------------------------------------------------------------------------
./Thesis.tex:31: Undefined control sequence.
\maketitle ... \setlength {\parskip }{0pt} {\text
{\univname }\par } {\facna...
l.31 \maketitle
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

[1


{/usr/local/texlive/2018/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
------------------------------------------------------------------------------
Abstract Page
------------------------------------------------------------------------------
./Thesis.tex:46: Undefined control sequence.
\abstract ...tyle {empty} \begin {center} {{\text
{Abstrakt}} \par } \bigski...
l.46 \abstract
{
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

[1

]
------------------------------------------------------------------------------
Table of Contents
------------------------------------------------------------------------------
(/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc (/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc
/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc:2: Undefined control sequence.
\contentsline ...up \Hy@safe@activestrue \edef \x
{\endgroup \def \noexpand ...
l.2 \vspace
{1em}\global \let \gdef empty{empty}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

(/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc
/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc:2: Undefined control sequence.
\contentsline ...up \Hy@safe@activestrue \edef \x
{\endgroup \def \noexpand ...
l.2 \vspace
{1em}\global \let \gdef empty{empty}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

(/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc
/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc:2: Undefined control sequence.
\contentsline ...up \Hy@safe@activestrue \edef \x
{\endgroup \def \noexpand ...
l.2 \vspace
{1em}\global \let \gdef empty{empty}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

(/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc
/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc:2: Undefined control sequence.
\contentsline ...up \Hy@safe@activestrue \edef \x
{\endgroup \def \noexpand ...
l.2 \vspace
{1em}\global \let \gdef empty{empty}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

(/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc
/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc:2: Undefined control sequence.
\contentsline ...up \Hy@safe@activestrue \edef \x
{\endgroup \def \noexpand ...
l.2 \vspace
{1em}\global \let \gdef empty{empty}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

(/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc
/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc:2: Undefined control sequence.
\contentsline ...up \Hy@safe@activestrue \edef \x
{\endgroup \def \noexpand ...
l.2 \vspace
{1em}\global \let \gdef empty{empty}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

(/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc
/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc:2: Undefined control sequence.
\contentsline ...up \Hy@safe@activestrue \edef \x
{\endgroup \def \noexpand ...
l.2 \vspace
{1em}\global \let \gdef empty{empty}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

(/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc
/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc:2: Undefined control sequence.
\contentsline ...up \Hy@safe@activestrue \edef \x
{\endgroup \def \noexpand ...
l.2 \vspace
{1em}\global \let \gdef empty{empty}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

(/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc
/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc:2: Undefined control sequence.
\contentsline ...up \Hy@safe@activestrue \edef \x
{\endgroup \def \noexpand ...
l.2 \vspace
{1em}\global \let \gdef empty{empty}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

(/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc
/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc:2: Undefined control sequence.
\contentsline ...up \Hy@safe@activestrue \edef \x
{\endgroup \def \noexpand ...
l.2 \vspace
{1em}\global \let \gdef empty{empty}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

(/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc
/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc:2: Undefined control sequence.
\contentsline ...up \Hy@safe@activestrue \edef \x
{\endgroup \def \noexpand ...
l.2 \vspace
{1em}\global \let \gdef empty{empty}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

(/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc
/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc:2: Undefined control sequence.
\contentsline ...up \Hy@safe@activestrue \edef \x
{\endgroup \def \noexpand ...
l.2 \vspace
{1em}\global \let \gdef empty{empty}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

(/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc
/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc:2: Undefined control sequence.
\contentsline ...up \Hy@safe@activestrue \edef \x
{\endgroup \def \noexpand ...
l.2 \vspace
{1em}\global \let \gdef empty{empty}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc:2: TeX capacity exceeded, sorry [text input levels=15].
\@filef@und ->Thesis.toc
l.2 \vspace
{1em}\global \let \gdef empty{empty}
If you really absolutely need more capacity,
you can ask a wizard to enlarge me.

Here is how much of TeX's memory you used:
12492 strings out of 492649
180801 string characters out of 6129623
261897 words of memory out of 5000000
16223 multiletter control sequences out of 15000+600000
4851 words of font info for 18 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
60i,5n,99p,13210b,357s stack positions out of 5000i,500n,10000p,200000b,80000s
/Users/Esthi/thesis_ek/doc/graduate-thesis/.texpadtmp/Thesis.toc:2: ==> Fatal error occurred, no output PDF file produced!

+ 1
- 0
doc/graduate-thesis/.texpadtmp/Thesis.out View File

\BOOKMARK [0][-]{dummy.1}{\376\377\000A\000b\000s\000t\000r\000a\000k\000t}{}% 1

+ 5
- 0
doc/graduate-thesis/.texpadtmp/Thesis.toc View File

\contentsline {chapter}{Abstrakt}{}
\vspace {1em}\global \let \gdef empty{empty}
\vspace {2em}
\vspace {2em}
\contentsline {chapter}{}{}

+ 0
- 0
doc/graduate-thesis/Chapters/Chapter1.aux View File


BIN
doc/graduate-thesis/Pruefungsrechtliche_Erklaerung_und_Erklaerung_zur_Veroeffentlichung_der_Abschlussarbeit_public.pdf View File


+ 6
- 7
thesisenv/bin/easy_install View File

#!/Users/Esthi/thesis_ek/thesisenv/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==33.1.1','console_scripts','easy_install'
__requires__ = 'setuptools==33.1.1'
#!/Users/Esthi/thesis_ek/thesisenv/bin/python3
# -*- coding: utf-8 -*-
import re import re
import sys import sys
from pkg_resources import load_entry_point

from setuptools.command.easy_install import main


if __name__ == '__main__': if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(
load_entry_point('setuptools==33.1.1', 'console_scripts', 'easy_install')()
)
sys.exit(main())

+ 6
- 7
thesisenv/bin/easy_install-3.6 View File

#!/Users/Esthi/thesis_ek/thesisenv/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==33.1.1','console_scripts','easy_install-3.6'
__requires__ = 'setuptools==33.1.1'
#!/Users/Esthi/thesis_ek/thesisenv/bin/python3
# -*- coding: utf-8 -*-
import re import re
import sys import sys
from pkg_resources import load_entry_point

from setuptools.command.easy_install import main


if __name__ == '__main__': if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(
load_entry_point('setuptools==33.1.1', 'console_scripts', 'easy_install-3.6')()
)
sys.exit(main())

+ 26
- 43
thesisenv/lib/python3.6/site-packages/pkg_resources/__init__.py View File

# Python 3.2 compatibility # Python 3.2 compatibility
import imp as _imp import imp as _imp


try:
FileExistsError
except NameError:
FileExistsError = OSError

from pkg_resources.extern import six from pkg_resources.extern import six
from pkg_resources.extern.six.moves import urllib, map, filter from pkg_resources.extern.six.moves import urllib, map, filter


__import__('pkg_resources.extern.packaging.markers') __import__('pkg_resources.extern.packaging.markers')




__metaclass__ = type


if (3, 0) < sys.version_info < (3, 4):
raise RuntimeError("Python 3.4 or later is required")
if (3, 0) < sys.version_info < (3, 3):
raise RuntimeError("Python 3.3 or later is required")


if six.PY2: if six.PY2:
# Those builtin exceptions are only defined in Python 3 # Those builtin exceptions are only defined in Python 3
XXX Currently this is the same as ``distutils.util.get_platform()``, but it XXX Currently this is the same as ``distutils.util.get_platform()``, but it
needs some hacks for Linux and Mac OS X. needs some hacks for Linux and Mac OS X.
""" """
from sysconfig import get_platform
try:
# Python 2.7 or >=3.2
from sysconfig import get_platform
except ImportError:
from distutils.util import get_platform


plat = get_platform() plat = get_platform()
if sys.platform == "darwin" and not plat.startswith('macosx-'): if sys.platform == "darwin" and not plat.startswith('macosx-'):
"""List of resource names in the directory (like ``os.listdir()``)""" """List of resource names in the directory (like ``os.listdir()``)"""




class WorkingSet:
class WorkingSet(object):
"""A collection of active distributions on sys.path (or a similar list)""" """A collection of active distributions on sys.path (or a similar list)"""


def __init__(self, entries=None): def __init__(self, entries=None):
distributions in the working set, otherwise only ones matching distributions in the working set, otherwise only ones matching
both `group` and `name` are yielded (in distribution order). both `group` and `name` are yielded (in distribution order).
""" """
return (
entry
for dist in self
for entry in dist.get_entry_map(group).values()
if name is None or name == entry.name
)
for dist in self:
entries = dist.get_entry_map(group)
if name is None:
for ep in entries.values():
yield ep
elif name in entries:
yield entries[name]


def run_script(self, requires, script_name): def run_script(self, requires, script_name):
"""Locate distribution for `requires` and run `script_name` script""" """Locate distribution for `requires` and run `script_name` script"""
return not req.marker or any(extra_evals) return not req.marker or any(extra_evals)




class Environment:
class Environment(object):
"""Searchable snapshot of distributions on a search path""" """Searchable snapshot of distributions on a search path"""


def __init__( def __init__(
`platform` is an optional string specifying the name of the platform `platform` is an optional string specifying the name of the platform
that platform-specific distributions must be compatible with. If that platform-specific distributions must be compatible with. If
unspecified, it defaults to the current platform. `python` is an unspecified, it defaults to the current platform. `python` is an
optional string naming the desired version of Python (e.g. ``'3.6'``);
optional string naming the desired version of Python (e.g. ``'3.3'``);
it defaults to the current version. it defaults to the current version.


You may explicitly set `platform` (and/or `python`) to ``None`` if you You may explicitly set `platform` (and/or `python`) to ``None`` if you


@classmethod @classmethod
def _register(cls): def _register(cls):
loader_names = 'SourceFileLoader', 'SourcelessFileLoader',
for name in loader_names:
loader_cls = getattr(importlib_machinery, name, type(None))
register_loader_type(loader_cls, cls)
loader_cls = getattr(
importlib_machinery,
'SourceFileLoader',
type(None),
)
register_loader_type(loader_cls, cls)




DefaultProvider._register() DefaultProvider._register()
).match ).match




class EntryPoint:
class EntryPoint(object):
"""Object representing an advertised importable object""" """Object representing an advertised importable object"""


def __init__(self, name, module_name, attrs=(), extras=(), dist=None): def __init__(self, name, module_name, attrs=(), extras=(), dist=None):
return safe_version(value.strip()) or None return safe_version(value.strip()) or None




class Distribution:
class Distribution(object):
"""Wrap an actual or potential sys.path entry w/metadata""" """Wrap an actual or potential sys.path entry w/metadata"""
PKG_INFO = 'PKG-INFO' PKG_INFO = 'PKG-INFO'


raise AttributeError(attr) raise AttributeError(attr)
return getattr(self._provider, attr) return getattr(self._provider, attr)


def __dir__(self):
return list(
set(super(Distribution, self).__dir__())
| set(
attr for attr in self._provider.__dir__()
if not attr.startswith('_')
)
)

if not hasattr(object, '__dir__'):
# python 2.7 not supported
del __dir__

@classmethod @classmethod
def from_filename(cls, filename, metadata=None, **kw): def from_filename(cls, filename, metadata=None, **kw):
return cls.from_location( return cls.from_location(
dirname, filename = split(path) dirname, filename = split(path)
if dirname and filename and not isdir(dirname): if dirname and filename and not isdir(dirname):
_bypass_ensure_directory(dirname) _bypass_ensure_directory(dirname)
try:
mkdir(dirname, 0o755)
except FileExistsError:
pass
mkdir(dirname, 0o755)




def split_sections(s): def split_sections(s):

+ 15
- 71
thesisenv/lib/python3.6/site-packages/pkg_resources/_vendor/appdirs.py View File

# - Mac OS X: http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/index.html # - Mac OS X: http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/index.html
# - XDG spec for Un*x: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html # - XDG spec for Un*x: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html


__version_info__ = (1, 4, 3)
__version_info__ = (1, 4, 0)
__version__ = '.'.join(map(str, __version_info__)) __version__ = '.'.join(map(str, __version_info__))








def site_data_dir(appname=None, appauthor=None, version=None, multipath=False): def site_data_dir(appname=None, appauthor=None, version=None, multipath=False):
r"""Return full path to the user-shared data dir for this application.
"""Return full path to the user-shared data dir for this application.


"appname" is the name of application. "appname" is the name of application.
If None, just the system directory is returned. If None, just the system directory is returned.
returned, or '/usr/local/share/<AppName>', returned, or '/usr/local/share/<AppName>',
if XDG_DATA_DIRS is not set if XDG_DATA_DIRS is not set


Typical site data directories are:
Typical user data directories are:
Mac OS X: /Library/Application Support/<AppName> Mac OS X: /Library/Application Support/<AppName>
Unix: /usr/local/share/<AppName> or /usr/share/<AppName> Unix: /usr/local/share/<AppName> or /usr/share/<AppName>
Win XP: C:\Documents and Settings\All Users\Application Data\<AppAuthor>\<AppName> Win XP: C:\Documents and Settings\All Users\Application Data\<AppAuthor>\<AppName>
<http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx>
for a discussion of issues. for a discussion of issues.


Typical user config directories are:
Typical user data directories are:
Mac OS X: same as user_data_dir Mac OS X: same as user_data_dir
Unix: ~/.config/<AppName> # or in $XDG_CONFIG_HOME, if defined Unix: ~/.config/<AppName> # or in $XDG_CONFIG_HOME, if defined
Win *: same as user_data_dir Win *: same as user_data_dir


For Unix, we follow the XDG spec and support $XDG_CONFIG_HOME. For Unix, we follow the XDG spec and support $XDG_CONFIG_HOME.
That means, by default "~/.config/<AppName>".
That means, by deafult "~/.config/<AppName>".
""" """
if system in ["win32", "darwin"]: if system in ["win32", "darwin"]:
path = user_data_dir(appname, appauthor, None, roaming) path = user_data_dir(appname, appauthor, None, roaming)




def site_config_dir(appname=None, appauthor=None, version=None, multipath=False): def site_config_dir(appname=None, appauthor=None, version=None, multipath=False):
r"""Return full path to the user-shared data dir for this application.
"""Return full path to the user-shared data dir for this application.


"appname" is the name of application. "appname" is the name of application.
If None, just the system directory is returned. If None, just the system directory is returned.
returned. By default, the first item from XDG_CONFIG_DIRS is returned. By default, the first item from XDG_CONFIG_DIRS is
returned, or '/etc/xdg/<AppName>', if XDG_CONFIG_DIRS is not set returned, or '/etc/xdg/<AppName>', if XDG_CONFIG_DIRS is not set


Typical site config directories are:
Typical user data directories are:
Mac OS X: same as site_data_dir Mac OS X: same as site_data_dir
Unix: /etc/xdg/<AppName> or $XDG_CONFIG_DIRS[i]/<AppName> for each value in Unix: /etc/xdg/<AppName> or $XDG_CONFIG_DIRS[i]/<AppName> for each value in
$XDG_CONFIG_DIRS $XDG_CONFIG_DIRS
return path return path




def user_state_dir(appname=None, appauthor=None, version=None, roaming=False):
r"""Return full path to the user-specific state dir for this application.

"appname" is the name of application.
If None, just the system directory is returned.
"appauthor" (only used on Windows) is the name of the
appauthor or distributing body for this application. Typically
it is the owning company name. This falls back to appname. You may
pass False to disable it.
"version" is an optional version path element to append to the
path. You might want to use this if you want multiple versions
of your app to be able to run independently. If used, this
would typically be "<major>.<minor>".
Only applied when appname is present.
"roaming" (boolean, default False) can be set True to use the Windows
roaming appdata directory. That means that for users on a Windows
network setup for roaming profiles, this user data will be
sync'd on login. See
<http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx>
for a discussion of issues.

Typical user state directories are:
Mac OS X: same as user_data_dir
Unix: ~/.local/state/<AppName> # or in $XDG_STATE_HOME, if defined
Win *: same as user_data_dir

For Unix, we follow this Debian proposal <https://wiki.debian.org/XDGBaseDirectorySpecification#state>
to extend the XDG spec and support $XDG_STATE_HOME.

That means, by default "~/.local/state/<AppName>".
"""
if system in ["win32", "darwin"]:
path = user_data_dir(appname, appauthor, None, roaming)
else:
path = os.getenv('XDG_STATE_HOME', os.path.expanduser("~/.local/state"))
if appname:
path = os.path.join(path, appname)
if appname and version:
path = os.path.join(path, version)
return path


def user_log_dir(appname=None, appauthor=None, version=None, opinion=True): def user_log_dir(appname=None, appauthor=None, version=None, opinion=True):
r"""Return full path to the user-specific log dir for this application. r"""Return full path to the user-specific log dir for this application.


"Logs" to the base app data dir for Windows, and "log" to the "Logs" to the base app data dir for Windows, and "log" to the
base cache dir for Unix. See discussion below. base cache dir for Unix. See discussion below.


Typical user log directories are:
Typical user cache directories are:
Mac OS X: ~/Library/Logs/<AppName> Mac OS X: ~/Library/Logs/<AppName>
Unix: ~/.cache/<AppName>/log # or under $XDG_CACHE_HOME if defined Unix: ~/.cache/<AppName>/log # or under $XDG_CACHE_HOME if defined
Win XP: C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName>\Logs Win XP: C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName>\Logs


class AppDirs(object): class AppDirs(object):
"""Convenience wrapper for getting application dirs.""" """Convenience wrapper for getting application dirs."""
def __init__(self, appname=None, appauthor=None, version=None,
roaming=False, multipath=False):
def __init__(self, appname, appauthor=None, version=None, roaming=False,
multipath=False):
self.appname = appname self.appname = appname
self.appauthor = appauthor self.appauthor = appauthor
self.version = version self.version = version
return user_cache_dir(self.appname, self.appauthor, return user_cache_dir(self.appname, self.appauthor,
version=self.version) version=self.version)


@property
def user_state_dir(self):
return user_state_dir(self.appname, self.appauthor,
version=self.version)

@property @property
def user_log_dir(self): def user_log_dir(self):
return user_log_dir(self.appname, self.appauthor, return user_log_dir(self.appname, self.appauthor,
registry for this guarantees us the correct answer for all CSIDL_* registry for this guarantees us the correct answer for all CSIDL_*
names. names.
""" """
if PY3:
import winreg as _winreg
else:
import _winreg
import _winreg


shell_folder_name = { shell_folder_name = {
"CSIDL_APPDATA": "AppData", "CSIDL_APPDATA": "AppData",
if has_high_char: if has_high_char:
buf = array.zeros('c', buf_size) buf = array.zeros('c', buf_size)
kernel = win32.Kernel32.INSTANCE kernel = win32.Kernel32.INSTANCE
if kernel.GetShortPathName(dir, buf, buf_size):
if kernal.GetShortPathName(dir, buf, buf_size):
dir = jna.Native.toString(buf.tostring()).rstrip("\0") dir = jna.Native.toString(buf.tostring()).rstrip("\0")


return dir return dir
appname = "MyApp" appname = "MyApp"
appauthor = "MyCompany" appauthor = "MyCompany"


props = ("user_data_dir",
"user_config_dir",
"user_cache_dir",
"user_state_dir",
"user_log_dir",
"site_data_dir",
"site_config_dir")

print("-- app dirs %s --" % __version__)
props = ("user_data_dir", "site_data_dir",
"user_config_dir", "site_config_dir",
"user_cache_dir", "user_log_dir")


print("-- app dirs (with optional 'version')") print("-- app dirs (with optional 'version')")
dirs = AppDirs(appname, appauthor, version="1.0") dirs = AppDirs(appname, appauthor, version="1.0")

+ 15
- 39
thesisenv/lib/python3.6/site-packages/pkg_resources/_vendor/pyparsing.py View File

- embedded comments - embedded comments
""" """
__version__ = "2.2.0"
__versionTime__ = "06 Mar 2017 02:06 UTC"
__version__ = "2.1.10"
__versionTime__ = "07 Oct 2016 01:31 UTC"
__author__ = "Paul McGuire <ptmcg@users.sourceforge.net>" __author__ = "Paul McGuire <ptmcg@users.sourceforge.net>"
import string import string
except UnicodeEncodeError: except UnicodeEncodeError:
# Else encode it # Else encode it
ret = unicode(obj).encode(sys.getdefaultencoding(), 'xmlcharrefreplace') ret = unicode(obj).encode(sys.getdefaultencoding(), 'xmlcharrefreplace')
xmlcharref = Regex(r'&#\d+;')
xmlcharref = Regex('&#\d+;')
xmlcharref.setParseAction(lambda t: '\\u' + hex(int(t[0][2:-1]))[2:]) xmlcharref.setParseAction(lambda t: '\\u' + hex(int(t[0][2:-1]))[2:])
return xmlcharref.transformString(ret) return xmlcharref.transformString(ret)
return None return None
def getName(self): def getName(self):
r"""
"""
Returns the results name for this token expression. Useful when several Returns the results name for this token expression. Useful when several
different expressions might match at a particular location. different expressions might match at a particular location.
def setParseAction( self, *fns, **kwargs ): def setParseAction( self, *fns, **kwargs ):
""" """
Define one or more actions to perform when successfully matching parse element definition.
Define action to perform when successfully matching parse element definition.
Parse action fn is a callable method with 0-3 arguments, called as C{fn(s,loc,toks)}, Parse action fn is a callable method with 0-3 arguments, called as C{fn(s,loc,toks)},
C{fn(loc,toks)}, C{fn(toks)}, or just C{fn()}, where: C{fn(loc,toks)}, C{fn(toks)}, or just C{fn()}, where:
- s = the original string being parsed (see note below) - s = the original string being parsed (see note below)
def addParseAction( self, *fns, **kwargs ): def addParseAction( self, *fns, **kwargs ):
""" """
Add one or more parse actions to expression's list of parse actions. See L{I{setParseAction}<setParseAction>}.
Add parse action to expression's list of parse actions. See L{I{setParseAction}<setParseAction>}.
See examples in L{I{copy}<copy>}. See examples in L{I{copy}<copy>}.
""" """
def clear(self): def clear(self):
cache.clear() cache.clear()
def cache_len(self):
return len(cache)
self.get = types.MethodType(get, self) self.get = types.MethodType(get, self)
self.set = types.MethodType(set, self) self.set = types.MethodType(set, self)
self.clear = types.MethodType(clear, self) self.clear = types.MethodType(clear, self)
self.__len__ = types.MethodType(cache_len, self)
if _OrderedDict is not None: if _OrderedDict is not None:
class _FifoCache(object): class _FifoCache(object):
def set(self, key, value): def set(self, key, value):
cache[key] = value cache[key] = value
while len(cache) > size:
try:
cache.popitem(False)
except KeyError:
pass
if len(cache) > size:
cache.popitem(False)
def clear(self): def clear(self):
cache.clear() cache.clear()
def cache_len(self):
return len(cache)
self.get = types.MethodType(get, self) self.get = types.MethodType(get, self)
self.set = types.MethodType(set, self) self.set = types.MethodType(set, self)
self.clear = types.MethodType(clear, self) self.clear = types.MethodType(clear, self)
self.__len__ = types.MethodType(cache_len, self)
else: else:
class _FifoCache(object): class _FifoCache(object):
def set(self, key, value): def set(self, key, value):
cache[key] = value cache[key] = value
while len(key_fifo) > size:
if len(cache) > size:
cache.pop(key_fifo.popleft(), None) cache.pop(key_fifo.popleft(), None)
key_fifo.append(key) key_fifo.append(key)
cache.clear() cache.clear()
key_fifo.clear() key_fifo.clear()
def cache_len(self):
return len(cache)
self.get = types.MethodType(get, self) self.get = types.MethodType(get, self)
self.set = types.MethodType(set, self) self.set = types.MethodType(set, self)
self.clear = types.MethodType(clear, self) self.clear = types.MethodType(clear, self)
self.__len__ = types.MethodType(cache_len, self)
# argument cache for optimizing repeated calls when backtracking through recursive expressions # argument cache for optimizing repeated calls when backtracking through recursive expressions
packrat_cache = {} # this is set later by enabledPackrat(); this is here so that resetCache() doesn't fail packrat_cache = {} # this is set later by enabledPackrat(); this is here so that resetCache() doesn't fail
cap_word = Word(alphas.upper(), alphas.lower()) cap_word = Word(alphas.upper(), alphas.lower())
print(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity")) print(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity"))
# the sum() builtin can be used to merge results into a single ParseResults object
print(sum(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity")))
prints:: prints::
[['More'], ['Iron'], ['Lead'], ['Gold'], ['I'], ['Electricity']]
['More', 'Iron', 'Lead', 'Gold', 'I', 'Electricity']
['More', 'Iron', 'Lead', 'Gold', 'I']
""" """
try: try:
return ParseResults([ t for t,s,e in self.scanString( instring, maxMatches ) ]) return ParseResults([ t for t,s,e in self.scanString( instring, maxMatches ) ])
warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
SyntaxWarning, stacklevel=2) SyntaxWarning, stacklevel=2)
return None return None
return self + And._ErrorStop() + other
return And( [ self, And._ErrorStop(), other ] )
def __rsub__(self, other ): def __rsub__(self, other ):
""" """
class Regex(Token): class Regex(Token):
r"""
"""
Token for matching strings that match a given regular expression. Token for matching strings that match a given regular expression.
Defined with string specifying the regular expression in a form recognized by the inbuilt Python re module. Defined with string specifying the regular expression in a form recognized by the inbuilt Python re module.
If the given regex contains named groups (defined using C{(?P<name>...)}), these will be preserved as If the given regex contains named groups (defined using C{(?P<name>...)}), these will be preserved as
# replace escaped characters # replace escaped characters
if self.escChar: if self.escChar:
ret = re.sub(self.escCharReplacePattern, r"\g<1>", ret)
ret = re.sub(self.escCharReplacePattern,"\g<1>",ret)
# replace escaped quotes # replace escaped quotes
if self.escQuote: if self.escQuote:
constants C{opAssoc.RIGHT} and C{opAssoc.LEFT}. constants C{opAssoc.RIGHT} and C{opAssoc.LEFT}.
- parseAction is the parse action to be associated with - parseAction is the parse action to be associated with
expressions matching this operator expression (the expressions matching this operator expression (the
parse action tuple member may be omitted); if the parse action
is passed a tuple or list of functions, this is equivalent to
calling C{setParseAction(*fn)} (L{ParserElement.setParseAction})
parse action tuple member may be omitted)
- lpar - expression for matching left-parentheses (default=C{Suppress('(')}) - lpar - expression for matching left-parentheses (default=C{Suppress('(')})
- rpar - expression for matching right-parentheses (default=C{Suppress(')')}) - rpar - expression for matching right-parentheses (default=C{Suppress(')')})
else: else:
raise ValueError("operator must indicate right or left associativity") raise ValueError("operator must indicate right or left associativity")
if pa: if pa:
if isinstance(pa, (tuple, list)):
matchExpr.setParseAction(*pa)
else:
matchExpr.setParseAction(pa)
matchExpr.setParseAction( pa )
thisExpr <<= ( matchExpr.setName(termName) | lastExpr ) thisExpr <<= ( matchExpr.setName(termName) | lastExpr )
lastExpr = thisExpr lastExpr = thisExpr
ret <<= lastExpr ret <<= lastExpr

+ 1
- 1
thesisenv/lib/python3.6/site-packages/pkg_resources/extern/__init__.py View File

# on later Python versions to cause relative imports # on later Python versions to cause relative imports
# in the vendor package to resolve the same modules # in the vendor package to resolve the same modules
# as those going through this importer. # as those going through this importer.
if prefix and sys.version_info > (3, 3):
if sys.version_info > (3, 3):
del sys.modules[extant] del sys.modules[extant]
return mod return mod
except ImportError: except ImportError:

+ 2
- 3
thesisenv/lib/python3.6/site-packages/pkg_resources/py31compat.py View File

import errno import errno
import sys import sys


from .extern import six



def _makedirs_31(path, exist_ok=False): def _makedirs_31(path, exist_ok=False):
try: try:
# and exists_ok considerations are disentangled. # and exists_ok considerations are disentangled.
# See https://github.com/pypa/setuptools/pull/1083#issuecomment-315168663 # See https://github.com/pypa/setuptools/pull/1083#issuecomment-315168663
needs_makedirs = ( needs_makedirs = (
six.PY2 or
sys.version_info < (3, 2, 5) or
(3, 3) <= sys.version_info < (3, 3, 6) or
(3, 4) <= sys.version_info < (3, 4, 1) (3, 4) <= sys.version_info < (3, 4, 1)
) )
makedirs = _makedirs_31 if needs_makedirs else os.makedirs makedirs = _makedirs_31 if needs_makedirs else os.makedirs

+ 36
- 0
thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/DESCRIPTION.rst View File

.. image:: https://img.shields.io/pypi/v/setuptools.svg
:target: https://pypi.org/project/setuptools

.. image:: https://readthedocs.org/projects/setuptools/badge/?version=latest
:target: https://setuptools.readthedocs.io

.. image:: https://img.shields.io/travis/pypa/setuptools/master.svg?label=Linux%20build%20%40%20Travis%20CI
:target: https://travis-ci.org/pypa/setuptools

.. image:: https://img.shields.io/appveyor/ci/jaraco/setuptools/master.svg?label=Windows%20build%20%40%20Appveyor
:target: https://ci.appveyor.com/project/jaraco/setuptools/branch/master

.. image:: https://img.shields.io/pypi/pyversions/setuptools.svg

See the `Installation Instructions
<https://packaging.python.org/installing/>`_ in the Python Packaging
User's Guide for instructions on installing, upgrading, and uninstalling
Setuptools.

The project is `maintained at GitHub <https://github.com/pypa/setuptools>`_.

Questions and comments should be directed to the `distutils-sig
mailing list <http://mail.python.org/pipermail/distutils-sig/>`_.
Bug reports and especially tested patches may be
submitted directly to the `bug tracker
<https://github.com/pypa/setuptools/issues>`_.


Code of Conduct
---------------

Everyone interacting in the setuptools project's codebases, issue trackers,
chat rooms, and mailing lists is expected to follow the
`PyPA Code of Conduct <https://www.pypa.io/en/latest/code-of-conduct/>`_.



+ 1
- 0
thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/INSTALLER View File

pip

+ 19
- 0
thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/LICENSE.txt View File

Copyright (C) 2016 Jason R Coombs <jaraco@jaraco.com>

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

+ 71
- 0
thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/METADATA View File

Metadata-Version: 2.0
Name: setuptools
Version: 39.0.1
Summary: Easily download, build, install, upgrade, and uninstall Python packages
Home-page: https://github.com/pypa/setuptools
Author: Python Packaging Authority
Author-email: distutils-sig@python.org
License: UNKNOWN
Project-URL: Documentation, https://setuptools.readthedocs.io/
Keywords: CPAN PyPI distutils eggs package management
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Archiving :: Packaging
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*
Description-Content-Type: text/x-rst; charset=UTF-8
Provides-Extra: certs
Provides-Extra: ssl
Provides-Extra: certs
Requires-Dist: certifi (==2016.9.26); extra == 'certs'
Provides-Extra: ssl
Requires-Dist: wincertstore (==0.2); sys_platform=='win32' and extra == 'ssl'

.. image:: https://img.shields.io/pypi/v/setuptools.svg
:target: https://pypi.org/project/setuptools

.. image:: https://readthedocs.org/projects/setuptools/badge/?version=latest
:target: https://setuptools.readthedocs.io

.. image:: https://img.shields.io/travis/pypa/setuptools/master.svg?label=Linux%20build%20%40%20Travis%20CI
:target: https://travis-ci.org/pypa/setuptools

.. image:: https://img.shields.io/appveyor/ci/jaraco/setuptools/master.svg?label=Windows%20build%20%40%20Appveyor
:target: https://ci.appveyor.com/project/jaraco/setuptools/branch/master

.. image:: https://img.shields.io/pypi/pyversions/setuptools.svg

See the `Installation Instructions
<https://packaging.python.org/installing/>`_ in the Python Packaging
User's Guide for instructions on installing, upgrading, and uninstalling
Setuptools.

The project is `maintained at GitHub <https://github.com/pypa/setuptools>`_.

Questions and comments should be directed to the `distutils-sig
mailing list <http://mail.python.org/pipermail/distutils-sig/>`_.
Bug reports and especially tested patches may be
submitted directly to the `bug tracker
<https://github.com/pypa/setuptools/issues>`_.


Code of Conduct
---------------

Everyone interacting in the setuptools project's codebases, issue trackers,
chat rooms, and mailing lists is expected to follow the
`PyPA Code of Conduct <https://www.pypa.io/en/latest/code-of-conduct/>`_.



+ 188
- 0
thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/RECORD View File

easy_install.py,sha256=MDC9vt5AxDsXX5qcKlBz2TnW6Tpuv_AobnfhCJ9X3PM,126
pkg_resources/__init__.py,sha256=YQ4_WQnPztMsUy1yuvp7ZRBPK9IhOyhgosLpvkFso1I,103551
pkg_resources/py31compat.py,sha256=-ysVqoxLetAnL94uM0kHkomKQTC1JZLN2ZUjqUhMeKE,600
pkg_resources/_vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
pkg_resources/_vendor/appdirs.py,sha256=tgGaL0m4Jo2VeuGfoOOifLv7a7oUEJu2n1vRkqoPw-0,22374
pkg_resources/_vendor/pyparsing.py,sha256=PifeLY3-WhIcBVzLtv0U4T_pwDtPruBhBCkg5vLqa28,229867
pkg_resources/_vendor/six.py,sha256=A6hdJZVjI3t_geebZ9BzUvwRrIXo0lfwzQlM2LcKyas,30098
pkg_resources/_vendor/packaging/__about__.py,sha256=zkcCPTN_6TcLW0Nrlg0176-R1QQ_WVPTm8sz1R4-HjM,720
pkg_resources/_vendor/packaging/__init__.py,sha256=_vNac5TrzwsrzbOFIbF-5cHqc_Y2aPT2D7zrIR06BOo,513
pkg_resources/_vendor/packaging/_compat.py,sha256=Vi_A0rAQeHbU-a9X0tt1yQm9RqkgQbDSxzRw8WlU9kA,860
pkg_resources/_vendor/packaging/_structures.py,sha256=RImECJ4c_wTlaTYYwZYLHEiebDMaAJmK1oPARhw1T5o,1416
pkg_resources/_vendor/packaging/markers.py,sha256=uEcBBtGvzqltgnArqb9c4RrcInXezDLos14zbBHhWJo,8248
pkg_resources/_vendor/packaging/requirements.py,sha256=SikL2UynbsT0qtY9ltqngndha_sfo0w6XGFhAhoSoaQ,4355
pkg_resources/_vendor/packaging/specifiers.py,sha256=SAMRerzO3fK2IkFZCaZkuwZaL_EGqHNOz4pni4vhnN0,28025
pkg_resources/_vendor/packaging/utils.py,sha256=3m6WvPm6NNxE8rkTGmn0r75B_GZSGg7ikafxHsBN1WA,421
pkg_resources/_vendor/packaging/version.py,sha256=OwGnxYfr2ghNzYx59qWIBkrK3SnB6n-Zfd1XaLpnnM0,11556
pkg_resources/extern/__init__.py,sha256=JUtlHHvlxHSNuB4pWqNjcx7n6kG-fwXg7qmJ2zNJlIY,2487
setuptools/__init__.py,sha256=WWIdCbFJnZ9fZoaWDN_x1vDA_Rkm-Sc15iKvPtIYKFs,5700
setuptools/archive_util.py,sha256=kw8Ib_lKjCcnPKNbS7h8HztRVK0d5RacU3r_KRdVnmM,6592
setuptools/build_meta.py,sha256=FllaKTr1vSJyiUeRjVJEZmeEaRzhYueNlimtcwaJba8,5671
setuptools/cli-32.exe,sha256=dfEuovMNnA2HLa3jRfMPVi5tk4R7alCbpTvuxtCyw0Y,65536
setuptools/cli-64.exe,sha256=KLABu5pyrnokJCv6skjXZ6GsXeyYHGcqOUT3oHI3Xpo,74752
setuptools/cli.exe,sha256=dfEuovMNnA2HLa3jRfMPVi5tk4R7alCbpTvuxtCyw0Y,65536
setuptools/config.py,sha256=tVYBM3w1U_uBRRTOZydflxyZ_IrTJT5odlZz3cbuhSw,16381
setuptools/dep_util.py,sha256=fgixvC1R7sH3r13ktyf7N0FALoqEXL1cBarmNpSEoWg,935
setuptools/depends.py,sha256=hC8QIDcM3VDpRXvRVA6OfL9AaQfxvhxHcN_w6sAyNq8,5837
setuptools/dist.py,sha256=_wCSFiGqwyaOUTj0tBjqZF2bqW9aEVu4W1D4gmsveno,42514
setuptools/extension.py,sha256=uc6nHI-MxwmNCNPbUiBnybSyqhpJqjbhvOQ-emdvt_E,1729
setuptools/glibc.py,sha256=X64VvGPL2AbURKwYRsWJOXXGAYOiF_v2qixeTkAULuU,3146
setuptools/glob.py,sha256=Y-fpv8wdHZzv9DPCaGACpMSBWJ6amq_1e0R_i8_el4w,5207
setuptools/gui-32.exe,sha256=XBr0bHMA6Hpz2s9s9Bzjl-PwXfa9nH4ie0rFn4V2kWA,65536
setuptools/gui-64.exe,sha256=aYKMhX1IJLn4ULHgWX0sE0yREUt6B3TEHf_jOw6yNyE,75264
setuptools/gui.exe,sha256=XBr0bHMA6Hpz2s9s9Bzjl-PwXfa9nH4ie0rFn4V2kWA,65536
setuptools/launch.py,sha256=sd7ejwhBocCDx_wG9rIs0OaZ8HtmmFU8ZC6IR_S0Lvg,787
setuptools/lib2to3_ex.py,sha256=t5e12hbR2pi9V4ezWDTB4JM-AISUnGOkmcnYHek3xjg,2013
setuptools/monkey.py,sha256=zZGTH7p0xeXQKLmEwJTPIE4m5m7fJeHoAsxyv5M8e_E,5789
setuptools/msvc.py,sha256=8EiV9ypb3EQJQssPcH1HZbdNsbRvqsFnJ7wPFEGwFIo,40877
setuptools/namespaces.py,sha256=F0Nrbv8KCT2OrO7rwa03om4N4GZKAlnce-rr-cgDQa8,3199
setuptools/package_index.py,sha256=NEsrNXnt_9gGP-nCCYzV-0gk15lXAGO7RghRxpfqLqE,40142
setuptools/pep425tags.py,sha256=NuGMx1gGif7x6iYemh0LfgBr_FZF5GFORIbgmMdU8J4,10882
setuptools/py27compat.py,sha256=3mwxRMDk5Q5O1rSXOERbQDXhFqwDJhhUitfMW_qpUCo,536
setuptools/py31compat.py,sha256=XuU1HCsGE_3zGvBRIhYw2iB-IhCFK4-Pxw_jMiqdNVk,1192
setuptools/py33compat.py,sha256=NKS84nl4LjLIoad6OQfgmygZn4mMvrok_b1N1tzebew,1182
setuptools/py36compat.py,sha256=VUDWxmu5rt4QHlGTRtAFu6W5jvfL6WBjeDAzeoBy0OM,2891
setuptools/sandbox.py,sha256=9UbwfEL5QY436oMI1LtFWohhoZ-UzwHvGyZjUH_qhkw,14276
setuptools/script (dev).tmpl,sha256=f7MR17dTkzaqkCMSVseyOCMVrPVSMdmTQsaB8cZzfuI,201
setuptools/script.tmpl,sha256=WGTt5piezO27c-Dbx6l5Q4T3Ff20A5z7872hv3aAhYY,138
setuptools/site-patch.py,sha256=BVt6yIrDMXJoflA5J6DJIcsJUfW_XEeVhOzelTTFDP4,2307
setuptools/ssl_support.py,sha256=YBDJsCZjSp62CWjxmSkke9kn9rhHHj25Cus6zhJRW3c,8492
setuptools/unicode_utils.py,sha256=NOiZ_5hD72A6w-4wVj8awHFM3n51Kmw1Ic_vx15XFqw,996
setuptools/version.py,sha256=og_cuZQb0QI6ukKZFfZWPlr1HgJBPPn2vO2m_bI9ZTE,144
setuptools/wheel.py,sha256=yF9usxMvpwnymV-oOo5mfDiv3E8jrKkbDEItT7_kjBs,7230
setuptools/windows_support.py,sha256=5GrfqSP2-dLGJoZTq2g6dCKkyQxxa2n5IQiXlJCoYEE,714
setuptools/_vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
setuptools/_vendor/pyparsing.py,sha256=PifeLY3-WhIcBVzLtv0U4T_pwDtPruBhBCkg5vLqa28,229867
setuptools/_vendor/six.py,sha256=A6hdJZVjI3t_geebZ9BzUvwRrIXo0lfwzQlM2LcKyas,30098
setuptools/_vendor/packaging/__about__.py,sha256=zkcCPTN_6TcLW0Nrlg0176-R1QQ_WVPTm8sz1R4-HjM,720
setuptools/_vendor/packaging/__init__.py,sha256=_vNac5TrzwsrzbOFIbF-5cHqc_Y2aPT2D7zrIR06BOo,513
setuptools/_vendor/packaging/_compat.py,sha256=Vi_A0rAQeHbU-a9X0tt1yQm9RqkgQbDSxzRw8WlU9kA,860
setuptools/_vendor/packaging/_structures.py,sha256=RImECJ4c_wTlaTYYwZYLHEiebDMaAJmK1oPARhw1T5o,1416
setuptools/_vendor/packaging/markers.py,sha256=Gvpk9EY20yKaMTiKgQZ8yFEEpodqVgVYtfekoic1Yts,8239
setuptools/_vendor/packaging/requirements.py,sha256=t44M2HVWtr8phIz2OhnILzuGT3rTATaovctV1dpnVIg,4343
setuptools/_vendor/packaging/specifiers.py,sha256=SAMRerzO3fK2IkFZCaZkuwZaL_EGqHNOz4pni4vhnN0,28025
setuptools/_vendor/packaging/utils.py,sha256=3m6WvPm6NNxE8rkTGmn0r75B_GZSGg7ikafxHsBN1WA,421
setuptools/_vendor/packaging/version.py,sha256=OwGnxYfr2ghNzYx59qWIBkrK3SnB6n-Zfd1XaLpnnM0,11556
setuptools/command/__init__.py,sha256=NWzJ0A1BEengZpVeqUyWLNm2bk4P3F4iL5QUErHy7kA,594
setuptools/command/alias.py,sha256=KjpE0sz_SDIHv3fpZcIQK-sCkJz-SrC6Gmug6b9Nkc8,2426
setuptools/command/bdist_egg.py,sha256=RQ9h8BmSVpXKJQST3i_b_sm093Z-aCXbfMBEM2IrI-Q,18185
setuptools/command/bdist_rpm.py,sha256=B7l0TnzCGb-0nLlm6rS00jWLkojASwVmdhW2w5Qz_Ak,1508
setuptools/command/bdist_wininst.py,sha256=_6dz3lpB1tY200LxKPLM7qgwTCceOMgaWFF-jW2-pm0,637
setuptools/command/build_clib.py,sha256=bQ9aBr-5ZSO-9fGsGsDLz0mnnFteHUZnftVLkhvHDq0,4484
setuptools/command/build_ext.py,sha256=PCRAZ2xYnqyEof7EFNtpKYl0sZzT0qdKUNTH3sUdPqk,13173
setuptools/command/build_py.py,sha256=yWyYaaS9F3o9JbIczn064A5g1C5_UiKRDxGaTqYbtLE,9596
setuptools/command/develop.py,sha256=wKbOw2_qUvcDti2lZmtxbDmYb54yAAibExzXIvToz-A,8046
setuptools/command/dist_info.py,sha256=5t6kOfrdgALT-P3ogss6PF9k-Leyesueycuk3dUyZnI,960
setuptools/command/easy_install.py,sha256=I0UOqFrS9U7fmh0uW57IR37keMKSeqXp6z61Oz1nEoA,87054
setuptools/command/egg_info.py,sha256=3b5Y3t_bl_zZRCkmlGi3igvRze9oOaxd-dVf2w1FBOc,24800
setuptools/command/install.py,sha256=a0EZpL_A866KEdhicTGbuyD_TYl1sykfzdrri-zazT4,4683
setuptools/command/install_egg_info.py,sha256=bMgeIeRiXzQ4DAGPV1328kcjwQjHjOWU4FngAWLV78Q,2203
setuptools/command/install_lib.py,sha256=11mxf0Ch12NsuYwS8PHwXBRvyh671QAM4cTRh7epzG0,3840
setuptools/command/install_scripts.py,sha256=UD0rEZ6861mTYhIdzcsqKnUl8PozocXWl9VBQ1VTWnc,2439
setuptools/command/launcher manifest.xml,sha256=xlLbjWrB01tKC0-hlVkOKkiSPbzMml2eOPtJ_ucCnbE,628
setuptools/command/py36compat.py,sha256=SzjZcOxF7zdFUT47Zv2n7AM3H8koDys_0OpS-n9gIfc,4986
setuptools/command/register.py,sha256=bHlMm1qmBbSdahTOT8w6UhA-EgeQIz7p6cD-qOauaiI,270
setuptools/command/rotate.py,sha256=co5C1EkI7P0GGT6Tqz-T2SIj2LBJTZXYELpmao6d4KQ,2164
setuptools/command/saveopts.py,sha256=za7QCBcQimKKriWcoCcbhxPjUz30gSB74zuTL47xpP4,658
setuptools/command/sdist.py,sha256=obDTe2BmWt2PlnFPZZh7e0LWvemEsbCCO9MzhrTZjm8,6711
setuptools/command/setopt.py,sha256=NTWDyx-gjDF-txf4dO577s7LOzHVoKR0Mq33rFxaRr8,5085
setuptools/command/test.py,sha256=MeBAcXUePGjPKqjz4zvTrHatLvNsjlPFcagt3XnFYdk,9214
setuptools/command/upload.py,sha256=i1gfItZ3nQOn5FKXb8tLC2Kd7eKC8lWO4bdE6NqGpE4,1172
setuptools/command/upload_docs.py,sha256=oXiGplM_cUKLwE4CWWw98RzCufAu8tBhMC97GegFcms,7311
setuptools/extern/__init__.py,sha256=2eKMsBMwsZqolIcYBtLZU3t96s6xSTP4PTaNfM5P-I0,2499
setuptools-39.0.1.dist-info/DESCRIPTION.rst,sha256=It3a3GRjT5701mqhrpMcLyW_YS2Dokv-X8zWoTaMRe0,1422
setuptools-39.0.1.dist-info/LICENSE.txt,sha256=wyo6w5WvYyHv0ovnPQagDw22q4h9HCHU_sRhKNIFbVo,1078
setuptools-39.0.1.dist-info/METADATA,sha256=bUSvsq3nbwr4FDQmI4Cu1Sd17lRO4y4MFANuLmZ70gs,2903
setuptools-39.0.1.dist-info/RECORD,,
setuptools-39.0.1.dist-info/WHEEL,sha256=kdsN-5OJAZIiHN-iO4Rhl82KyS0bDWf4uBwMbkNafr8,110
setuptools-39.0.1.dist-info/dependency_links.txt,sha256=HlkCFkoK5TbZ5EMLbLKYhLcY_E31kBWD8TqW2EgmatQ,239
setuptools-39.0.1.dist-info/entry_points.txt,sha256=jBqCYDlVjl__sjYFGXo1JQGIMAYFJE-prYWUtnMZEew,2990
setuptools-39.0.1.dist-info/metadata.json,sha256=kJuHY3HestbJAAqqkLVW75x2Uxgxd2qaz4sQAfFCtXM,4969
setuptools-39.0.1.dist-info/top_level.txt,sha256=2HUXVVwA4Pff1xgTFr3GsTXXKaPaO6vlG6oNJ_4u4Tg,38
setuptools-39.0.1.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
../../../bin/easy_install,sha256=1HY9dEozZxF27JG8uBhjj5mzBtKNnJcCvl9bsqfUFVQ,262
../../../bin/easy_install-3.6,sha256=1HY9dEozZxF27JG8uBhjj5mzBtKNnJcCvl9bsqfUFVQ,262
setuptools-39.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
__pycache__/easy_install.cpython-36.pyc,,
setuptools/_vendor/packaging/__pycache__/_structures.cpython-36.pyc,,
setuptools/_vendor/packaging/__pycache__/version.cpython-36.pyc,,
setuptools/_vendor/packaging/__pycache__/requirements.cpython-36.pyc,,
setuptools/_vendor/packaging/__pycache__/markers.cpython-36.pyc,,
setuptools/_vendor/packaging/__pycache__/_compat.cpython-36.pyc,,
setuptools/_vendor/packaging/__pycache__/specifiers.cpython-36.pyc,,
setuptools/_vendor/packaging/__pycache__/__about__.cpython-36.pyc,,
setuptools/_vendor/packaging/__pycache__/utils.cpython-36.pyc,,
setuptools/_vendor/packaging/__pycache__/__init__.cpython-36.pyc,,
setuptools/_vendor/__pycache__/six.cpython-36.pyc,,
setuptools/_vendor/__pycache__/__init__.cpython-36.pyc,,
setuptools/_vendor/__pycache__/pyparsing.cpython-36.pyc,,
setuptools/__pycache__/package_index.cpython-36.pyc,,
setuptools/__pycache__/py31compat.cpython-36.pyc,,
setuptools/__pycache__/sandbox.cpython-36.pyc,,
setuptools/__pycache__/windows_support.cpython-36.pyc,,
setuptools/__pycache__/wheel.cpython-36.pyc,,
setuptools/__pycache__/version.cpython-36.pyc,,
setuptools/__pycache__/site-patch.cpython-36.pyc,,
setuptools/__pycache__/launch.cpython-36.pyc,,
setuptools/__pycache__/unicode_utils.cpython-36.pyc,,
setuptools/__pycache__/config.cpython-36.pyc,,
setuptools/__pycache__/glibc.cpython-36.pyc,,
setuptools/__pycache__/ssl_support.cpython-36.pyc,,
setuptools/__pycache__/depends.cpython-36.pyc,,
setuptools/__pycache__/glob.cpython-36.pyc,,
setuptools/__pycache__/msvc.cpython-36.pyc,,
setuptools/__pycache__/py27compat.cpython-36.pyc,,
setuptools/__pycache__/pep425tags.cpython-36.pyc,,
setuptools/__pycache__/py33compat.cpython-36.pyc,,
setuptools/__pycache__/lib2to3_ex.cpython-36.pyc,,
setuptools/__pycache__/monkey.cpython-36.pyc,,
setuptools/__pycache__/py36compat.cpython-36.pyc,,
setuptools/__pycache__/dist.cpython-36.pyc,,
setuptools/__pycache__/build_meta.cpython-36.pyc,,
setuptools/__pycache__/namespaces.cpython-36.pyc,,
setuptools/__pycache__/dep_util.cpython-36.pyc,,
setuptools/__pycache__/__init__.cpython-36.pyc,,
setuptools/__pycache__/extension.cpython-36.pyc,,
setuptools/__pycache__/archive_util.cpython-36.pyc,,
setuptools/command/__pycache__/alias.cpython-36.pyc,,
setuptools/command/__pycache__/register.cpython-36.pyc,,
setuptools/command/__pycache__/install_lib.cpython-36.pyc,,
setuptools/command/__pycache__/setopt.cpython-36.pyc,,
setuptools/command/__pycache__/bdist_egg.cpython-36.pyc,,
setuptools/command/__pycache__/bdist_rpm.cpython-36.pyc,,
setuptools/command/__pycache__/dist_info.cpython-36.pyc,,
setuptools/command/__pycache__/develop.cpython-36.pyc,,
setuptools/command/__pycache__/build_py.cpython-36.pyc,,
setuptools/command/__pycache__/build_clib.cpython-36.pyc,,
setuptools/command/__pycache__/upload.cpython-36.pyc,,
setuptools/command/__pycache__/sdist.cpython-36.pyc,,
setuptools/command/__pycache__/install.cpython-36.pyc,,
setuptools/command/__pycache__/egg_info.cpython-36.pyc,,
setuptools/command/__pycache__/py36compat.cpython-36.pyc,,
setuptools/command/__pycache__/easy_install.cpython-36.pyc,,
setuptools/command/__pycache__/build_ext.cpython-36.pyc,,
setuptools/command/__pycache__/rotate.cpython-36.pyc,,
setuptools/command/__pycache__/upload_docs.cpython-36.pyc,,
setuptools/command/__pycache__/saveopts.cpython-36.pyc,,
setuptools/command/__pycache__/__init__.cpython-36.pyc,,
setuptools/command/__pycache__/test.cpython-36.pyc,,
setuptools/command/__pycache__/bdist_wininst.cpython-36.pyc,,
setuptools/command/__pycache__/install_scripts.cpython-36.pyc,,
setuptools/command/__pycache__/install_egg_info.cpython-36.pyc,,
setuptools/extern/__pycache__/__init__.cpython-36.pyc,,
pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-36.pyc,,
pkg_resources/_vendor/packaging/__pycache__/version.cpython-36.pyc,,
pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-36.pyc,,
pkg_resources/_vendor/packaging/__pycache__/markers.cpython-36.pyc,,
pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-36.pyc,,
pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-36.pyc,,
pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-36.pyc,,
pkg_resources/_vendor/packaging/__pycache__/utils.cpython-36.pyc,,
pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-36.pyc,,
pkg_resources/_vendor/__pycache__/appdirs.cpython-36.pyc,,
pkg_resources/_vendor/__pycache__/six.cpython-36.pyc,,
pkg_resources/_vendor/__pycache__/__init__.cpython-36.pyc,,
pkg_resources/_vendor/__pycache__/pyparsing.cpython-36.pyc,,
pkg_resources/__pycache__/py31compat.cpython-36.pyc,,
pkg_resources/__pycache__/__init__.cpython-36.pyc,,
pkg_resources/extern/__pycache__/__init__.cpython-36.pyc,,

+ 6
- 0
thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/WHEEL View File

Wheel-Version: 1.0
Generator: bdist_wheel (0.30.0)
Root-Is-Purelib: true
Tag: py2-none-any
Tag: py3-none-any


+ 2
- 0
thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/dependency_links.txt View File

https://files.pythonhosted.org/packages/source/c/certifi/certifi-2016.9.26.tar.gz#md5=baa81e951a29958563689d868ef1064d
https://files.pythonhosted.org/packages/source/w/wincertstore/wincertstore-0.2.zip#md5=ae728f2f007185648d0c7a8679b361e2

+ 65
- 0
thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/entry_points.txt View File

[console_scripts]
easy_install = setuptools.command.easy_install:main
easy_install-3.6 = setuptools.command.easy_install:main

[distutils.commands]
alias = setuptools.command.alias:alias
bdist_egg = setuptools.command.bdist_egg:bdist_egg
bdist_rpm = setuptools.command.bdist_rpm:bdist_rpm
bdist_wininst = setuptools.command.bdist_wininst:bdist_wininst
build_clib = setuptools.command.build_clib:build_clib
build_ext = setuptools.command.build_ext:build_ext
build_py = setuptools.command.build_py:build_py
develop = setuptools.command.develop:develop
dist_info = setuptools.command.dist_info:dist_info
easy_install = setuptools.command.easy_install:easy_install
egg_info = setuptools.command.egg_info:egg_info
install = setuptools.command.install:install
install_egg_info = setuptools.command.install_egg_info:install_egg_info
install_lib = setuptools.command.install_lib:install_lib
install_scripts = setuptools.command.install_scripts:install_scripts
register = setuptools.command.register:register
rotate = setuptools.command.rotate:rotate
saveopts = setuptools.command.saveopts:saveopts
sdist = setuptools.command.sdist:sdist
setopt = setuptools.command.setopt:setopt
test = setuptools.command.test:test
upload = setuptools.command.upload:upload
upload_docs = setuptools.command.upload_docs:upload_docs

[distutils.setup_keywords]
convert_2to3_doctests = setuptools.dist:assert_string_list
dependency_links = setuptools.dist:assert_string_list
eager_resources = setuptools.dist:assert_string_list
entry_points = setuptools.dist:check_entry_points
exclude_package_data = setuptools.dist:check_package_data
extras_require = setuptools.dist:check_extras
include_package_data = setuptools.dist:assert_bool
install_requires = setuptools.dist:check_requirements
namespace_packages = setuptools.dist:check_nsp
package_data = setuptools.dist:check_package_data
packages = setuptools.dist:check_packages
python_requires = setuptools.dist:check_specifier
setup_requires = setuptools.dist:check_requirements
test_loader = setuptools.dist:check_importable
test_runner = setuptools.dist:check_importable
test_suite = setuptools.dist:check_test_suite
tests_require = setuptools.dist:check_requirements
use_2to3 = setuptools.dist:assert_bool
use_2to3_exclude_fixers = setuptools.dist:assert_string_list
use_2to3_fixers = setuptools.dist:assert_string_list
zip_safe = setuptools.dist:assert_bool

[egg_info.writers]
PKG-INFO = setuptools.command.egg_info:write_pkg_info
dependency_links.txt = setuptools.command.egg_info:overwrite_arg
depends.txt = setuptools.command.egg_info:warn_depends_obsolete
eager_resources.txt = setuptools.command.egg_info:overwrite_arg
entry_points.txt = setuptools.command.egg_info:write_entries
namespace_packages.txt = setuptools.command.egg_info:overwrite_arg
requires.txt = setuptools.command.egg_info:write_requirements
top_level.txt = setuptools.command.egg_info:write_toplevel_names

[setuptools.installation]
eggsecutable = setuptools.command.easy_install:bootstrap


+ 1
- 0
thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/metadata.json View File

{"classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Archiving :: Packaging", "Topic :: System :: Systems Administration", "Topic :: Utilities"], "description_content_type": "text/x-rst; charset=UTF-8", "extensions": {"python.commands": {"wrap_console": {"easy_install": "setuptools.command.easy_install:main", "easy_install-3.6": "setuptools.command.easy_install:main"}}, "python.details": {"contacts": [{"email": "distutils-sig@python.org", "name": "Python Packaging Authority", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst", "license": "LICENSE.txt"}, "project_urls": {"Home": "https://github.com/pypa/setuptools"}}, "python.exports": {"console_scripts": {"easy_install": "setuptools.command.easy_install:main", "easy_install-3.6": "setuptools.command.easy_install:main"}, "distutils.commands": {"alias": "setuptools.command.alias:alias", "bdist_egg": "setuptools.command.bdist_egg:bdist_egg", "bdist_rpm": "setuptools.command.bdist_rpm:bdist_rpm", "bdist_wininst": "setuptools.command.bdist_wininst:bdist_wininst", "build_clib": "setuptools.command.build_clib:build_clib", "build_ext": "setuptools.command.build_ext:build_ext", "build_py": "setuptools.command.build_py:build_py", "develop": "setuptools.command.develop:develop", "dist_info": "setuptools.command.dist_info:dist_info", "easy_install": "setuptools.command.easy_install:easy_install", "egg_info": "setuptools.command.egg_info:egg_info", "install": "setuptools.command.install:install", "install_egg_info": "setuptools.command.install_egg_info:install_egg_info", "install_lib": "setuptools.command.install_lib:install_lib", "install_scripts": "setuptools.command.install_scripts:install_scripts", "register": "setuptools.command.register:register", "rotate": "setuptools.command.rotate:rotate", "saveopts": "setuptools.command.saveopts:saveopts", "sdist": "setuptools.command.sdist:sdist", "setopt": "setuptools.command.setopt:setopt", "test": "setuptools.command.test:test", "upload": "setuptools.command.upload:upload", "upload_docs": "setuptools.command.upload_docs:upload_docs"}, "distutils.setup_keywords": {"convert_2to3_doctests": "setuptools.dist:assert_string_list", "dependency_links": "setuptools.dist:assert_string_list", "eager_resources": "setuptools.dist:assert_string_list", "entry_points": "setuptools.dist:check_entry_points", "exclude_package_data": "setuptools.dist:check_package_data", "extras_require": "setuptools.dist:check_extras", "include_package_data": "setuptools.dist:assert_bool", "install_requires": "setuptools.dist:check_requirements", "namespace_packages": "setuptools.dist:check_nsp", "package_data": "setuptools.dist:check_package_data", "packages": "setuptools.dist:check_packages", "python_requires": "setuptools.dist:check_specifier", "setup_requires": "setuptools.dist:check_requirements", "test_loader": "setuptools.dist:check_importable", "test_runner": "setuptools.dist:check_importable", "test_suite": "setuptools.dist:check_test_suite", "tests_require": "setuptools.dist:check_requirements", "use_2to3": "setuptools.dist:assert_bool", "use_2to3_exclude_fixers": "setuptools.dist:assert_string_list", "use_2to3_fixers": "setuptools.dist:assert_string_list", "zip_safe": "setuptools.dist:assert_bool"}, "egg_info.writers": {"PKG-INFO": "setuptools.command.egg_info:write_pkg_info", "dependency_links.txt": "setuptools.command.egg_info:overwrite_arg", "depends.txt": "setuptools.command.egg_info:warn_depends_obsolete", "eager_resources.txt": "setuptools.command.egg_info:overwrite_arg", "entry_points.txt": "setuptools.command.egg_info:write_entries", "namespace_packages.txt": "setuptools.command.egg_info:overwrite_arg", "requires.txt": "setuptools.command.egg_info:write_requirements", "top_level.txt": "setuptools.command.egg_info:write_toplevel_names"}, "setuptools.installation": {"eggsecutable": "setuptools.command.easy_install:bootstrap"}}}, "extras": ["certs", "ssl"], "generator": "bdist_wheel (0.30.0)", "keywords": ["CPAN", "PyPI", "distutils", "eggs", "package", "management"], "metadata_version": "2.0", "name": "setuptools", "project_url": "Documentation, https://setuptools.readthedocs.io/", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*", "run_requires": [{"extra": "certs", "requires": ["certifi (==2016.9.26)"]}, {"environment": "sys_platform=='win32'", "extra": "ssl", "requires": ["wincertstore (==0.2)"]}], "summary": "Easily download, build, install, upgrade, and uninstall Python packages", "version": "39.0.1"}

+ 3
- 0
thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/top_level.txt View File

easy_install
pkg_resources
setuptools

+ 1
- 0
thesisenv/lib/python3.6/site-packages/setuptools-39.0.1.dist-info/zip-safe View File



+ 2
- 13
thesisenv/lib/python3.6/site-packages/setuptools/__init__.py View File

"""Extensions to the 'distutils' for large or complex distributions""" """Extensions to the 'distutils' for large or complex distributions"""


import os import os
import sys
import functools import functools
import distutils.core import distutils.core
import distutils.filelist import distutils.filelist
from distutils.util import convert_path from distutils.util import convert_path
from fnmatch import fnmatchcase from fnmatch import fnmatchcase


from setuptools.extern.six import PY3
from setuptools.extern.six.moves import filter, map from setuptools.extern.six.moves import filter, map


import setuptools.version import setuptools.version
from setuptools.depends import Require from setuptools.depends import Require
from . import monkey from . import monkey


__metaclass__ = type


__all__ = [ __all__ = [
'setup', 'Distribution', 'Feature', 'Command', 'Extension', 'Require', 'setup', 'Distribution', 'Feature', 'Command', 'Extension', 'Require',
'find_packages'
'find_packages',
] ]


if PY3:
__all__.append('find_namespace_packages')

__version__ = setuptools.version.__version__ __version__ = setuptools.version.__version__


bootstrap_install_from = None bootstrap_install_from = None
lib2to3_fixer_packages = ['lib2to3.fixes'] lib2to3_fixer_packages = ['lib2to3.fixes']




class PackageFinder:
class PackageFinder(object):
""" """
Generate a list of all Python packages found within a directory Generate a list of all Python packages found within a directory
""" """


find_packages = PackageFinder.find find_packages = PackageFinder.find


if PY3:
find_namespace_packages = PEP420PackageFinder.find



def _install_setup_requires(attrs): def _install_setup_requires(attrs):
# Note: do not use `setuptools.Distribution` directly, as # Note: do not use `setuptools.Distribution` directly, as

+ 15
- 39
thesisenv/lib/python3.6/site-packages/setuptools/_vendor/pyparsing.py View File

- embedded comments - embedded comments
""" """
__version__ = "2.2.0"
__versionTime__ = "06 Mar 2017 02:06 UTC"
__version__ = "2.1.10"
__versionTime__ = "07 Oct 2016 01:31 UTC"
__author__ = "Paul McGuire <ptmcg@users.sourceforge.net>" __author__ = "Paul McGuire <ptmcg@users.sourceforge.net>"
import string import string
except UnicodeEncodeError: except UnicodeEncodeError:
# Else encode it # Else encode it
ret = unicode(obj).encode(sys.getdefaultencoding(), 'xmlcharrefreplace') ret = unicode(obj).encode(sys.getdefaultencoding(), 'xmlcharrefreplace')
xmlcharref = Regex(r'&#\d+;')
xmlcharref = Regex('&#\d+;')
xmlcharref.setParseAction(lambda t: '\\u' + hex(int(t[0][2:-1]))[2:]) xmlcharref.setParseAction(lambda t: '\\u' + hex(int(t[0][2:-1]))[2:])
return xmlcharref.transformString(ret) return xmlcharref.transformString(ret)
return None return None
def getName(self): def getName(self):
r"""
"""
Returns the results name for this token expression. Useful when several Returns the results name for this token expression. Useful when several
different expressions might match at a particular location. different expressions might match at a particular location.
def setParseAction( self, *fns, **kwargs ): def setParseAction( self, *fns, **kwargs ):
""" """
Define one or more actions to perform when successfully matching parse element definition.
Define action to perform when successfully matching parse element definition.
Parse action fn is a callable method with 0-3 arguments, called as C{fn(s,loc,toks)}, Parse action fn is a callable method with 0-3 arguments, called as C{fn(s,loc,toks)},
C{fn(loc,toks)}, C{fn(toks)}, or just C{fn()}, where: C{fn(loc,toks)}, C{fn(toks)}, or just C{fn()}, where:
- s = the original string being parsed (see note below) - s = the original string being parsed (see note below)
def addParseAction( self, *fns, **kwargs ): def addParseAction( self, *fns, **kwargs ):
""" """
Add one or more parse actions to expression's list of parse actions. See L{I{setParseAction}<setParseAction>}.
Add parse action to expression's list of parse actions. See L{I{setParseAction}<setParseAction>}.
See examples in L{I{copy}<copy>}. See examples in L{I{copy}<copy>}.
""" """
def clear(self): def clear(self):
cache.clear() cache.clear()
def cache_len(self):
return len(cache)
self.get = types.MethodType(get, self) self.get = types.MethodType(get, self)
self.set = types.MethodType(set, self) self.set = types.MethodType(set, self)
self.clear = types.MethodType(clear, self) self.clear = types.MethodType(clear, self)
self.__len__ = types.MethodType(cache_len, self)
if _OrderedDict is not None: if _OrderedDict is not None:
class _FifoCache(object): class _FifoCache(object):
def set(self, key, value): def set(self, key, value):
cache[key] = value cache[key] = value
while len(cache) > size:
try:
cache.popitem(False)
except KeyError:
pass
if len(cache) > size:
cache.popitem(False)
def clear(self): def clear(self):
cache.clear() cache.clear()
def cache_len(self):
return len(cache)
self.get = types.MethodType(get, self) self.get = types.MethodType(get, self)
self.set = types.MethodType(set, self) self.set = types.MethodType(set, self)
self.clear = types.MethodType(clear, self) self.clear = types.MethodType(clear, self)
self.__len__ = types.MethodType(cache_len, self)
else: else:
class _FifoCache(object): class _FifoCache(object):
def set(self, key, value): def set(self, key, value):
cache[key] = value cache[key] = value
while len(key_fifo) > size:
if len(cache) > size:
cache.pop(key_fifo.popleft(), None) cache.pop(key_fifo.popleft(), None)
key_fifo.append(key) key_fifo.append(key)
cache.clear() cache.clear()
key_fifo.clear() key_fifo.clear()
def cache_len(self):
return len(cache)
self.get = types.MethodType(get, self) self.get = types.MethodType(get, self)
self.set = types.MethodType(set, self) self.set = types.MethodType(set, self)
self.clear = types.MethodType(clear, self) self.clear = types.MethodType(clear, self)
self.__len__ = types.MethodType(cache_len, self)
# argument cache for optimizing repeated calls when backtracking through recursive expressions # argument cache for optimizing repeated calls when backtracking through recursive expressions
packrat_cache = {} # this is set later by enabledPackrat(); this is here so that resetCache() doesn't fail packrat_cache = {} # this is set later by enabledPackrat(); this is here so that resetCache() doesn't fail
cap_word = Word(alphas.upper(), alphas.lower()) cap_word = Word(alphas.upper(), alphas.lower())
print(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity")) print(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity"))
# the sum() builtin can be used to merge results into a single ParseResults object
print(sum(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity")))
prints:: prints::
[['More'], ['Iron'], ['Lead'], ['Gold'], ['I'], ['Electricity']]
['More', 'Iron', 'Lead', 'Gold', 'I', 'Electricity']
['More', 'Iron', 'Lead', 'Gold', 'I']
""" """
try: try:
return ParseResults([ t for t,s,e in self.scanString( instring, maxMatches ) ]) return ParseResults([ t for t,s,e in self.scanString( instring, maxMatches ) ])
warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), warnings.warn("Cannot combine element of type %s with ParserElement" % type(other),
SyntaxWarning, stacklevel=2) SyntaxWarning, stacklevel=2)
return None return None
return self + And._ErrorStop() + other
return And( [ self, And._ErrorStop(), other ] )
def __rsub__(self, other ): def __rsub__(self, other ):
""" """
class Regex(Token): class Regex(Token):
r"""
"""
Token for matching strings that match a given regular expression. Token for matching strings that match a given regular expression.
Defined with string specifying the regular expression in a form recognized by the inbuilt Python re module. Defined with string specifying the regular expression in a form recognized by the inbuilt Python re module.
If the given regex contains named groups (defined using C{(?P<name>...)}), these will be preserved as If the given regex contains named groups (defined using C{(?P<name>...)}), these will be preserved as
# replace escaped characters # replace escaped characters
if self.escChar: if self.escChar:
ret = re.sub(self.escCharReplacePattern, r"\g<1>", ret)
ret = re.sub(self.escCharReplacePattern,"\g<1>",ret)
# replace escaped quotes # replace escaped quotes
if self.escQuote: if self.escQuote:
constants C{opAssoc.RIGHT} and C{opAssoc.LEFT}. constants C{opAssoc.RIGHT} and C{opAssoc.LEFT}.
- parseAction is the parse action to be associated with - parseAction is the parse action to be associated with
expressions matching this operator expression (the expressions matching this operator expression (the
parse action tuple member may be omitted); if the parse action
is passed a tuple or list of functions, this is equivalent to
calling C{setParseAction(*fn)} (L{ParserElement.setParseAction})
parse action tuple member may be omitted)
- lpar - expression for matching left-parentheses (default=C{Suppress('(')}) - lpar - expression for matching left-parentheses (default=C{Suppress('(')})
- rpar - expression for matching right-parentheses (default=C{Suppress(')')}) - rpar - expression for matching right-parentheses (default=C{Suppress(')')})
else: else:
raise ValueError("operator must indicate right or left associativity") raise ValueError("operator must indicate right or left associativity")
if pa: if pa:
if isinstance(pa, (tuple, list)):
matchExpr.setParseAction(*pa)
else:
matchExpr.setParseAction(pa)
matchExpr.setParseAction( pa )
thisExpr <<= ( matchExpr.setName(termName) | lastExpr ) thisExpr <<= ( matchExpr.setName(termName) | lastExpr )
lastExpr = thisExpr lastExpr = thisExpr
ret <<= lastExpr ret <<= lastExpr

+ 1
- 14
thesisenv/lib/python3.6/site-packages/setuptools/build_meta.py View File

distutils.core.Distribution = orig distutils.core.Distribution = orig




def _to_str(s):
"""
Convert a filename to a string (on Python 2, explicitly
a byte string, not Unicode) as distutils checks for the
exact type str.
"""
if sys.version_info[0] == 2 and not isinstance(s, str):
# Assume it's Unicode, as that's what the PEP says
# should be provided.
return s.encode(sys.getfilesystemencoding())
return s


def _run_setup(setup_script='setup.py'): def _run_setup(setup_script='setup.py'):
# Note that we can reuse our build directory between calls # Note that we can reuse our build directory between calls
# Correctness comes first, then optimization later # Correctness comes first, then optimization later




def prepare_metadata_for_build_wheel(metadata_directory, config_settings=None): def prepare_metadata_for_build_wheel(metadata_directory, config_settings=None):
sys.argv = sys.argv[:1] + ['dist_info', '--egg-base', _to_str(metadata_directory)]
sys.argv = sys.argv[:1] + ['dist_info', '--egg-base', metadata_directory]
_run_setup() _run_setup()
dist_info_directory = metadata_directory dist_info_directory = metadata_directory

+ 1
- 1
thesisenv/lib/python3.6/site-packages/setuptools/command/bdist_egg.py View File

return True # Extension module return True # Extension module
pkg = base[len(egg_dir) + 1:].replace(os.sep, '.') pkg = base[len(egg_dir) + 1:].replace(os.sep, '.')
module = pkg + (pkg and '.' or '') + os.path.splitext(name)[0] module = pkg + (pkg and '.' or '') + os.path.splitext(name)[0]
if six.PY2:
if sys.version_info < (3, 3):
skip = 8 # skip magic & date skip = 8 # skip magic & date
elif sys.version_info < (3, 7): elif sys.version_info < (3, 7):
skip = 12 # skip magic & date & file size skip = 12 # skip magic & date & file size

+ 11
- 1
thesisenv/lib/python3.6/site-packages/setuptools/command/build_ext.py View File

and get_abi3_suffix() and get_abi3_suffix()
) )
if use_abi3: if use_abi3:
so_ext = get_config_var('EXT_SUFFIX')
so_ext = _get_config_var_837('EXT_SUFFIX')
filename = filename[:-len(so_ext)] filename = filename[:-len(so_ext)]
filename = filename + get_abi3_suffix() filename = filename + get_abi3_suffix()
if isinstance(ext, Library): if isinstance(ext, Library):
self.create_static_lib( self.create_static_lib(
objects, basename, output_dir, debug, target_lang objects, basename, output_dir, debug, target_lang
) )


def _get_config_var_837(name):
"""
In https://github.com/pypa/setuptools/pull/837, we discovered
Python 3.3.0 exposes the extension suffix under the name 'SO'.
"""
if sys.version_info < (3, 3, 1):
name = 'SO'
return get_config_var(name)

+ 1
- 3
thesisenv/lib/python3.6/site-packages/setuptools/command/develop.py View File

from setuptools import namespaces from setuptools import namespaces
import setuptools import setuptools


__metaclass__ = type



class develop(namespaces.DevelopInstaller, easy_install): class develop(namespaces.DevelopInstaller, easy_install):
"""Set up package for development""" """Set up package for development"""
return easy_install.install_wrapper_scripts(self, dist) return easy_install.install_wrapper_scripts(self, dist)




class VersionlessRequirement:
class VersionlessRequirement(object):
""" """
Adapt a pkg_resources.Distribution to simply return the project Adapt a pkg_resources.Distribution to simply return the project
name as the 'requirement' so that scripts will work across name as the 'requirement' so that scripts will work across

+ 7
- 10
thesisenv/lib/python3.6/site-packages/setuptools/command/easy_install.py View File

import shlex import shlex
import io import io


from sysconfig import get_config_vars, get_path

from setuptools.extern import six from setuptools.extern import six
from setuptools.extern.six.moves import configparser, map from setuptools.extern.six.moves import configparser, map


from setuptools import Command from setuptools import Command
from setuptools.sandbox import run_setup from setuptools.sandbox import run_setup
from setuptools.py31compat import get_path, get_config_vars
from setuptools.py27compat import rmtree_safe from setuptools.py27compat import rmtree_safe
from setuptools.command import setopt from setuptools.command import setopt
from setuptools.archive_util import unpack_archive from setuptools.archive_util import unpack_archive
) )
import pkg_resources.py31compat import pkg_resources.py31compat


__metaclass__ = type

# Turn on PEP440Warnings # Turn on PEP440Warnings
warnings.filterwarnings("default", category=pkg_resources.PEP440Warning) warnings.filterwarnings("default", category=pkg_resources.PEP440Warning)




if six.PY2: if six.PY2:


def _to_bytes(s):
def _to_ascii(s):
return s return s


def isascii(s): def isascii(s):
return False return False
else: else:


def _to_bytes(s):
return s.encode('utf8')
def _to_ascii(s):
return s.encode('ascii')


def isascii(s): def isascii(s):
try: try:
self.all_site_dirs.append(normalize_path(d)) self.all_site_dirs.append(normalize_path(d))
if not self.editable: if not self.editable:
self.check_site_dir() self.check_site_dir()
self.index_url = self.index_url or "https://pypi.org/simple/"
self.index_url = self.index_url or "https://pypi.python.org/simple"
self.shadow_path = self.all_site_dirs[:] self.shadow_path = self.all_site_dirs[:]
for path_item in self.install_dir, normalize_path(self.script_dir): for path_item in self.install_dir, normalize_path(self.script_dir):
if path_item not in self.shadow_path: if path_item not in self.shadow_path:
if is_script: if is_script:
body = self._load_template(dev_path) % locals() body = self._load_template(dev_path) % locals()
script_text = ScriptWriter.get_header(script_text) + body script_text = ScriptWriter.get_header(script_text) + body
self.write_script(script_name, _to_bytes(script_text), 'b')
self.write_script(script_name, _to_ascii(script_text), 'b')


@staticmethod @staticmethod
def _load_template(dev_path): def _load_template(dev_path):
split_args = dict(posix=False) split_args = dict(posix=False)




class ScriptWriter:
class ScriptWriter(object):
""" """
Encapsulates behavior around writing entry point scripts for console and Encapsulates behavior around writing entry point scripts for console and
gui apps. gui apps.

+ 25
- 34
thesisenv/lib/python3.6/site-packages/setuptools/command/egg_info.py View File

return re.compile(pat, flags=re.MULTILINE|re.DOTALL) return re.compile(pat, flags=re.MULTILINE|re.DOTALL)




class InfoCommon:
tag_build = None
tag_date = None

@property
def name(self):
return safe_name(self.distribution.get_name())

def tagged_version(self):
version = self.distribution.get_version()
# egg_info may be called more than once for a distribution,
# in which case the version string already contains all tags.
if self.vtags and version.endswith(self.vtags):
return safe_version(version)
return safe_version(version + self.vtags)

def tags(self):
version = ''
if self.tag_build:
version += self.tag_build
if self.tag_date:
version += time.strftime("-%Y%m%d")
return version
vtags = property(tags)


class egg_info(InfoCommon, Command):
class egg_info(Command):
description = "create a distribution's .egg-info directory" description = "create a distribution's .egg-info directory"


user_options = [ user_options = [
} }


def initialize_options(self): def initialize_options(self):
self.egg_base = None
self.egg_name = None self.egg_name = None
self.egg_info = None
self.egg_version = None self.egg_version = None
self.egg_base = None
self.egg_info = None
self.tag_build = None
self.tag_date = 0
self.broken_egg_info = False self.broken_egg_info = False
self.vtags = None


#################################### ####################################
# allow the 'tag_svn_revision' to be detected and # allow the 'tag_svn_revision' to be detected and
edit_config(filename, dict(egg_info=egg_info)) edit_config(filename, dict(egg_info=egg_info))


def finalize_options(self): def finalize_options(self):
# Note: we need to capture the current value returned
# by `self.tagged_version()`, so we can later update
# `self.distribution.metadata.version` without
# repercussions.
self.egg_name = self.name
self.egg_name = safe_name(self.distribution.get_name())
self.vtags = self.tags()
self.egg_version = self.tagged_version() self.egg_version = self.tagged_version()

parsed_version = parse_version(self.egg_version) parsed_version = parse_version(self.egg_version)


try: try:
if not self.dry_run: if not self.dry_run:
os.unlink(filename) os.unlink(filename)


def tagged_version(self):
version = self.distribution.get_version()
# egg_info may be called more than once for a distribution,
# in which case the version string already contains all tags.
if self.vtags and version.endswith(self.vtags):
return safe_version(version)
return safe_version(version + self.vtags)

def run(self): def run(self):
self.mkpath(self.egg_info) self.mkpath(self.egg_info)
installer = self.distribution.fetch_build_egg installer = self.distribution.fetch_build_egg


self.find_sources() self.find_sources()


def tags(self):
version = ''
if self.tag_build:
version += self.tag_build
if self.tag_date:
version += time.strftime("-%Y%m%d")
return version

def find_sources(self): def find_sources(self):
"""Generate SOURCES.txt manifest file""" """Generate SOURCES.txt manifest file"""
manifest_filename = os.path.join(self.egg_info, "SOURCES.txt") manifest_filename = os.path.join(self.egg_info, "SOURCES.txt")

+ 3
- 11
thesisenv/lib/python3.6/site-packages/setuptools/command/register.py View File

from distutils import log
import distutils.command.register as orig import distutils.command.register as orig




__doc__ = orig.register.__doc__ __doc__ = orig.register.__doc__


def run(self): def run(self):
try:
# Make sure that we are using valid current name/version info
self.run_command('egg_info')
orig.register.run(self)
finally:
self.announce(
"WARNING: Registering is deprecated, use twine to "
"upload instead (https://pypi.org/p/twine/)",
log.WARN
)
# Make sure that we are using valid current name/version info
self.run_command('egg_info')
orig.register.run(self)

+ 1
- 3
thesisenv/lib/python3.6/site-packages/setuptools/command/test.py View File

add_activation_listener, require, EntryPoint) add_activation_listener, require, EntryPoint)
from setuptools import Command from setuptools import Command


__metaclass__ = type



class ScanningLoader(TestLoader): class ScanningLoader(TestLoader):






# adapted from jaraco.classes.properties:NonDataProperty # adapted from jaraco.classes.properties:NonDataProperty
class NonDataProperty:
class NonDataProperty(object):
def __init__(self, fget): def __init__(self, fget):
self.fget = fget self.fget = fget



+ 0
- 11
thesisenv/lib/python3.6/site-packages/setuptools/command/upload.py View File

import getpass import getpass
from distutils import log
from distutils.command import upload as orig from distutils.command import upload as orig




in a variety of different ways. in a variety of different ways.
""" """


def run(self):
try:
orig.upload.run(self)
finally:
self.announce(
"WARNING: Uploading via this command is deprecated, use twine "
"to upload instead (https://pypi.org/p/twine/)",
log.WARN
)

def finalize_options(self): def finalize_options(self):
orig.upload.finalize_options(self) orig.upload.finalize_options(self)
self.username = ( self.username = (

+ 12
- 56
thesisenv/lib/python3.6/site-packages/setuptools/config.py View File

from importlib import import_module from importlib import import_module


from distutils.errors import DistutilsOptionError, DistutilsFileError from distutils.errors import DistutilsOptionError, DistutilsFileError
from setuptools.extern.packaging.version import LegacyVersion, parse
from setuptools.extern.six import string_types, PY3


__metaclass__ = type
from setuptools.extern.six import string_types




def read_configuration( def read_configuration(
If False exceptions are propagated as expected. If False exceptions are propagated as expected.
:rtype: list :rtype: list
""" """
meta = ConfigMetadataHandler(
distribution.metadata, command_options, ignore_option_errors)
meta.parse()

options = ConfigOptionsHandler( options = ConfigOptionsHandler(
distribution, command_options, ignore_option_errors) distribution, command_options, ignore_option_errors)
options.parse() options.parse()


meta = ConfigMetadataHandler(
distribution.metadata, command_options, ignore_option_errors, distribution.package_dir)
meta.parse()

return meta, options return meta, options




class ConfigHandler:
class ConfigHandler(object):
"""Handles metadata supplied in configuration files.""" """Handles metadata supplied in configuration files."""


section_prefix = None section_prefix = None
return f.read() return f.read()


@classmethod @classmethod
def _parse_attr(cls, value, package_dir=None):
def _parse_attr(cls, value):
"""Represents value as a module attribute. """Represents value as a module attribute.


Examples: Examples:
module_name = '.'.join(attrs_path) module_name = '.'.join(attrs_path)
module_name = module_name or '__init__' module_name = module_name or '__init__'


parent_path = os.getcwd()
if package_dir:
if attrs_path[0] in package_dir:
# A custom path was specified for the module we want to import
custom_path = package_dir[attrs_path[0]]
parts = custom_path.rsplit('/', 1)
if len(parts) > 1:
parent_path = os.path.join(os.getcwd(), parts[0])
module_name = parts[1]
else:
module_name = custom_path
elif '' in package_dir:
# A custom parent directory was specified for all root modules
parent_path = os.path.join(os.getcwd(), package_dir[''])
sys.path.insert(0, parent_path)
sys.path.insert(0, os.getcwd())
try: try:
module = import_module(module_name) module = import_module(module_name)
value = getattr(module, attr_name) value = getattr(module, attr_name)


""" """


def __init__(self, target_obj, options, ignore_option_errors=False,
package_dir=None):
super(ConfigMetadataHandler, self).__init__(target_obj, options,
ignore_option_errors)
self.package_dir = package_dir

@property @property
def parsers(self): def parsers(self):
"""Metadata item name to parser function mapping.""" """Metadata item name to parser function mapping."""
:rtype: str :rtype: str


""" """
version = self._parse_file(value)

if version != value:
version = version.strip()
# Be strict about versions loaded from file because it's easy to
# accidentally include newlines and other unintended content
if isinstance(parse(version), LegacyVersion):
raise DistutilsOptionError('Version loaded from %s does not comply with PEP 440: %s' % (
value, version
))
return version

version = self._parse_attr(value, self.package_dir)
version = self._parse_attr(value)


if callable(version): if callable(version):
version = version() version = version()
:param value: :param value:
:rtype: list :rtype: list
""" """
find_directives = ['find:', 'find_namespace:']
trimmed_value = value.strip()
find_directive = 'find:'


if not trimmed_value in find_directives:
if not value.startswith(find_directive):
return self._parse_list(value) return self._parse_list(value)


findns = trimmed_value == find_directives[1]
if findns and not PY3:
raise DistutilsOptionError('find_namespace: directive is unsupported on Python < 3.3')

# Read function arguments from a dedicated section. # Read function arguments from a dedicated section.
find_kwargs = self.parse_section_packages__find( find_kwargs = self.parse_section_packages__find(
self.sections.get('packages.find', {})) self.sections.get('packages.find', {}))


if findns:
from setuptools import find_namespace_packages as find_packages
else:
from setuptools import find_packages
from setuptools import find_packages


return find_packages(**find_kwargs) return find_packages(**find_kwargs)



+ 22
- 23
thesisenv/lib/python3.6/site-packages/setuptools/dist.py View File

file.write('Provides-Extra: %s\n' % extra) file.write('Provides-Extra: %s\n' % extra)




# from Python 3.4
def write_pkg_info(self, base_dir):
"""Write the PKG-INFO file into the release tree.
"""
with open(os.path.join(base_dir, 'PKG-INFO'), 'w',
encoding='UTF-8') as pkg_info:
self.write_pkg_file(pkg_info)


sequence = tuple, list sequence = tuple, list




distribution for the included and excluded features. distribution for the included and excluded features.
""" """


_DISTUTILS_UNSUPPORTED_METADATA = {
'long_description_content_type': None,
'project_urls': dict,
'provides_extras': set,
}

_patched_dist = None _patched_dist = None


def patch_missing_pkg_info(self, attrs): def patch_missing_pkg_info(self, attrs):
self.require_features = [] self.require_features = []
self.features = {} self.features = {}
self.dist_files = [] self.dist_files = []
# Filter-out setuptools' specific options.
self.src_root = attrs.pop("src_root", None) self.src_root = attrs.pop("src_root", None)
self.patch_missing_pkg_info(attrs) self.patch_missing_pkg_info(attrs)
self.project_urls = attrs.get('project_urls', {})
self.dependency_links = attrs.pop('dependency_links', []) self.dependency_links = attrs.pop('dependency_links', [])
self.setup_requires = attrs.pop('setup_requires', []) self.setup_requires = attrs.pop('setup_requires', [])
for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'): for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'):
vars(self).setdefault(ep.name, None) vars(self).setdefault(ep.name, None)
_Distribution.__init__(self, {
k: v for k, v in attrs.items()
if k not in self._DISTUTILS_UNSUPPORTED_METADATA
})

# Fill-in missing metadata fields not supported by distutils.
# Note some fields may have been set by other tools (e.g. pbr)
# above; they are taken preferrentially to setup() arguments
for option, default in self._DISTUTILS_UNSUPPORTED_METADATA.items():
for source in self.metadata.__dict__, attrs:
if option in source:
value = source[option]
break
else:
value = default() if default else None
setattr(self.metadata, option, value)
_Distribution.__init__(self, attrs)

# The project_urls attribute may not be supported in distutils, so
# prime it here from our value if not automatically set
self.metadata.project_urls = getattr(
self.metadata, 'project_urls', self.project_urls)
self.metadata.long_description_content_type = attrs.get(
'long_description_content_type'
)
self.metadata.provides_extras = getattr(
self.metadata, 'provides_extras', set()
)


if isinstance(self.metadata.version, numbers.Number): if isinstance(self.metadata.version, numbers.Number):
# Some people apparently take "version number" too literally :) # Some people apparently take "version number" too literally :)

+ 1
- 1
thesisenv/lib/python3.6/site-packages/setuptools/extern/__init__.py View File

# on later Python versions to cause relative imports # on later Python versions to cause relative imports
# in the vendor package to resolve the same modules # in the vendor package to resolve the same modules
# as those going through this importer. # as those going through this importer.
if sys.version_info >= (3, ):
if sys.version_info > (3, 3):
del sys.modules[extant] del sys.modules[extant]
return mod return mod
except ImportError: except ImportError:

+ 18
- 0
thesisenv/lib/python3.6/site-packages/setuptools/monkey.py View File

needs_warehouse = ( needs_warehouse = (
sys.version_info < (2, 7, 13) sys.version_info < (2, 7, 13)
or or
(3, 0) < sys.version_info < (3, 3, 7)
or
(3, 4) < sys.version_info < (3, 4, 6) (3, 4) < sys.version_info < (3, 4, 6)
or or
(3, 5) < sys.version_info <= (3, 5, 3) (3, 5) < sys.version_info <= (3, 5, 3)
distutils.config.PyPIRCCommand.DEFAULT_REPOSITORY = warehouse distutils.config.PyPIRCCommand.DEFAULT_REPOSITORY = warehouse


_patch_distribution_metadata_write_pkg_file() _patch_distribution_metadata_write_pkg_file()
_patch_distribution_metadata_write_pkg_info()


# Install Distribution throughout the distutils # Install Distribution throughout the distutils
for module in distutils.dist, distutils.core, distutils.cmd: for module in distutils.dist, distutils.core, distutils.cmd:
) )




def _patch_distribution_metadata_write_pkg_info():
"""
Workaround issue #197 - Python 3 prior to 3.2.2 uses an environment-local
encoding to save the pkg_info. Monkey-patch its write_pkg_info method to
correct this undesirable behavior.
"""
environment_local = (3,) <= sys.version_info[:3] < (3, 2, 2)
if not environment_local:
return

distutils.dist.DistributionMetadata.write_pkg_info = (
setuptools.dist.write_pkg_info
)


def patch_func(replacement, target_mod, func_name): def patch_func(replacement, target_mod, func_name):
""" """
Patch func_name in target_mod with replacement Patch func_name in target_mod with replacement

+ 2
- 1
thesisenv/lib/python3.6/site-packages/setuptools/msvc.py View File

elif version >= 14.0: elif version >= 14.0:
# For VC++ 14.0 Redirect user to Visual C++ Build Tools # For VC++ 14.0 Redirect user to Visual C++ Build Tools
message += (' Get it with "Microsoft Visual C++ Build Tools": ' message += (' Get it with "Microsoft Visual C++ Build Tools": '
r'https://visualstudio.microsoft.com/downloads/')
r'http://landinghub.visualstudio.com/'
'visual-cpp-build-tools')


exc.args = (message, ) exc.args = (message, )



+ 9
- 17
thesisenv/lib/python3.6/site-packages/setuptools/package_index.py View File

from setuptools.py33compat import unescape from setuptools.py33compat import unescape
from setuptools.wheel import Wheel from setuptools.wheel import Wheel


__metaclass__ = type

EGG_FRAGMENT = re.compile(r'^egg=([-A-Za-z0-9_.+!]+)$') EGG_FRAGMENT = re.compile(r'^egg=([-A-Za-z0-9_.+!]+)$')
HREF = re.compile(r"""href\s*=\s*['"]?([^'"> ]+)""", re.I)
HREF = re.compile("""href\\s*=\\s*['"]?([^'"> ]+)""", re.I)
# this is here to fix emacs' cruddy broken syntax highlighting
PYPI_MD5 = re.compile( PYPI_MD5 = re.compile(
r'<a href="([^"#]+)">([^<]+)</a>\n\s+\(<a (?:title="MD5 hash"\n\s+)'
r'href="[^?]+\?:action=show_md5&amp;digest=([0-9a-f]{32})">md5</a>\)'
'<a href="([^"#]+)">([^<]+)</a>\n\\s+\\(<a (?:title="MD5 hash"\n\\s+)'
'href="[^?]+\\?:action=show_md5&amp;digest=([0-9a-f]{32})">md5</a>\\)'
) )
URL_SCHEME = re.compile('([-+.a-z0-9]{2,}):', re.I).match URL_SCHEME = re.compile('([-+.a-z0-9]{2,}):', re.I).match
EXTENSIONS = ".tar.gz .tar.bz2 .tar .zip .tgz".split() EXTENSIONS = ".tar.gz .tar.bz2 .tar .zip .tgz".split()
yield urllib.parse.urljoin(url, htmldecode(match.group(1))) yield urllib.parse.urljoin(url, htmldecode(match.group(1)))




class ContentChecker:
class ContentChecker(object):
""" """
A null content checker that defines the interface for checking content A null content checker that defines the interface for checking content
""" """
"""A distribution index that scans web pages for download URLs""" """A distribution index that scans web pages for download URLs"""


def __init__( def __init__(
self, index_url="https://pypi.org/simple/", hosts=('*',),
self, index_url="https://pypi.python.org/simple", hosts=('*',),
ca_bundle=None, verify_ssl=True, *args, **kw ca_bundle=None, verify_ssl=True, *args, **kw
): ):
Environment.__init__(self, *args, **kw) Environment.__init__(self, *args, **kw)




def decode_entity(match): def decode_entity(match):
what = match.group(0)
what = match.group(1)
return unescape(what) return unescape(what)




def htmldecode(text): def htmldecode(text):
"""
Decode HTML entities in the given text.

>>> htmldecode(
... 'https://../package_name-0.1.2.tar.gz'
... '?tokena=A&amp;tokenb=B">package_name-0.1.2.tar.gz')
'https://../package_name-0.1.2.tar.gz?tokena=A&tokenb=B">package_name-0.1.2.tar.gz'
"""
"""Decode HTML entities in the given text."""
return entity_sub(decode_entity, text) return entity_sub(decode_entity, text)




return encoded.replace('\n', '') return encoded.replace('\n', '')




class Credential:
class Credential(object):
""" """
A username/password pair. Use like a namedtuple. A username/password pair. Use like a namedtuple.
""" """

+ 4
- 7
thesisenv/lib/python3.6/site-packages/setuptools/pep425tags.py View File

from __future__ import absolute_import from __future__ import absolute_import


import distutils.util import distutils.util
from distutils import log
import platform import platform
import re import re
import sys import sys
import warnings import warnings
from collections import OrderedDict from collections import OrderedDict


from .extern import six

from . import glibc from . import glibc


_osx_arch_pat = re.compile(r'(.+)_(\d+)_(\d+)_(.+)') _osx_arch_pat = re.compile(r'(.+)_(\d+)_(\d+)_(.+)')
val = get_config_var(var) val = get_config_var(var)
if val is None: if val is None:
if warn: if warn:
log.debug("Config variable '%s' is unset, Python ABI tag may "
"be incorrect", var)
warnings.warn("Config variable '{0}' is unset, Python ABI tag may "
"be incorrect".format(var), RuntimeWarning, 2)
return fallback() return fallback()
return val == expected return val == expected


lambda: sys.maxunicode == 0x10ffff, lambda: sys.maxunicode == 0x10ffff,
expected=4, expected=4,
warn=(impl == 'cp' and warn=(impl == 'cp' and
six.PY2)) \
and six.PY2:
sys.version_info < (3, 3))) \
and sys.version_info < (3, 3):
u = 'u' u = 'u'
abi = '%s%s%s%s%s' % (impl, get_impl_ver(), d, m, u) abi = '%s%s%s%s%s' % (impl, get_impl_ver(), d, m, u)
elif soabi and soabi.startswith('cpython-'): elif soabi and soabi.startswith('cpython-'):

+ 12
- 3
thesisenv/lib/python3.6/site-packages/setuptools/py31compat.py View File

__all__ = []
__all__ = ['get_config_vars', 'get_path']


__metaclass__ = type
try:
# Python 2.7 or >=3.2
from sysconfig import get_config_vars, get_path
except ImportError:
from distutils.sysconfig import get_config_vars, get_python_lib

def get_path(name):
if name not in ('platlib', 'purelib'):
raise ValueError("Name must be purelib or platlib")
return get_python_lib(name == 'platlib')




try: try:
import shutil import shutil
import tempfile import tempfile


class TemporaryDirectory:
class TemporaryDirectory(object):
""" """
Very simple temporary directory context manager. Very simple temporary directory context manager.
Will try to delete afterward, but will also ignore OS and similar Will try to delete afterward, but will also ignore OS and similar

+ 1
- 2
thesisenv/lib/python3.6/site-packages/setuptools/py33compat.py View File

from setuptools.extern import six from setuptools.extern import six
from setuptools.extern.six.moves import html_parser from setuptools.extern.six.moves import html_parser


__metaclass__ = type


OpArg = collections.namedtuple('OpArg', 'opcode arg') OpArg = collections.namedtuple('OpArg', 'opcode arg')




class Bytecode_compat:
class Bytecode_compat(object):
def __init__(self, code): def __init__(self, code):
self.code = code self.code = code



+ 1
- 2
thesisenv/lib/python3.6/site-packages/setuptools/script (dev).tmpl View File

__requires__ = %(spec)r __requires__ = %(spec)r
__import__('pkg_resources').require(%(spec)r) __import__('pkg_resources').require(%(spec)r)
__file__ = %(dev_path)r __file__ = %(dev_path)r
with open(__file__) as f:
exec(compile(f.read(), __file__, 'exec'))
exec(compile(open(__file__).read(), __file__, 'exec'))

+ 1
- 1
thesisenv/lib/python3.6/site-packages/setuptools/site-patch.py View File

break break
else: else:
try: try:
import imp # Avoid import loop in Python 3
import imp # Avoid import loop in Python >= 3.3
stream, path, descr = imp.find_module('site', [item]) stream, path, descr = imp.find_module('site', [item])
except ImportError: except ImportError:
continue continue

+ 84
- 131
thesisenv/lib/python3.6/site-packages/setuptools/wheel.py View File

"""Wheels support."""
'''Wheels support.'''


from distutils.util import get_platform from distutils.util import get_platform
import email import email
import itertools import itertools
import os import os
import posixpath
import re import re
import zipfile import zipfile


from pkg_resources import Distribution, PathMetadata, parse_version from pkg_resources import Distribution, PathMetadata, parse_version
from setuptools.extern.packaging.utils import canonicalize_name
from setuptools.extern.six import PY3 from setuptools.extern.six import PY3
from setuptools import Distribution as SetuptoolsDistribution from setuptools import Distribution as SetuptoolsDistribution
from setuptools import pep425tags from setuptools import pep425tags
from setuptools.command.egg_info import write_requirements from setuptools.command.egg_info import write_requirements




__metaclass__ = type


WHEEL_NAME = re.compile( WHEEL_NAME = re.compile(
r"""^(?P<project_name>.+?)-(?P<version>\d.*?) r"""^(?P<project_name>.+?)-(?P<version>\d.*?)
((-(?P<build>\d.*?))?-(?P<py_version>.+?)-(?P<abi>.+?)-(?P<platform>.+?) ((-(?P<build>\d.*?))?-(?P<py_version>.+?)-(?P<abi>.+?)-(?P<platform>.+?)
)\.whl$""", )\.whl$""",
re.VERBOSE).match
re.VERBOSE).match


NAMESPACE_PACKAGE_INIT = '''\ NAMESPACE_PACKAGE_INIT = '''\
try: try:
os.rmdir(dirpath) os.rmdir(dirpath)




class Wheel:
class Wheel(object):


def __init__(self, filename): def __init__(self, filename):
match = WHEEL_NAME(os.path.basename(filename)) match = WHEEL_NAME(os.path.basename(filename))


def tags(self): def tags(self):
'''List tags (py_version, abi, platform) supported by this wheel.''' '''List tags (py_version, abi, platform) supported by this wheel.'''
return itertools.product(
self.py_version.split('.'),
self.abi.split('.'),
self.platform.split('.'),
)
return itertools.product(self.py_version.split('.'),
self.abi.split('.'),
self.platform.split('.'))


def is_compatible(self): def is_compatible(self):
'''Is the wheel is compatible with the current platform?''' '''Is the wheel is compatible with the current platform?'''
platform=(None if self.platform == 'any' else get_platform()), platform=(None if self.platform == 'any' else get_platform()),
).egg_name() + '.egg' ).egg_name() + '.egg'


def get_dist_info(self, zf):
# find the correct name of the .dist-info dir in the wheel file
for member in zf.namelist():
dirname = posixpath.dirname(member)
if (dirname.endswith('.dist-info') and
canonicalize_name(dirname).startswith(
canonicalize_name(self.project_name))):
return dirname
raise ValueError("unsupported wheel format. .dist-info not found")

def install_as_egg(self, destination_eggdir): def install_as_egg(self, destination_eggdir):
'''Install wheel as an egg directory.''' '''Install wheel as an egg directory.'''
with zipfile.ZipFile(self.filename) as zf: with zipfile.ZipFile(self.filename) as zf:
self._install_as_egg(destination_eggdir, zf)

def _install_as_egg(self, destination_eggdir, zf):
dist_basename = '%s-%s' % (self.project_name, self.version)
dist_info = self.get_dist_info(zf)
dist_data = '%s.data' % dist_basename
egg_info = os.path.join(destination_eggdir, 'EGG-INFO')

self._convert_metadata(zf, destination_eggdir, dist_info, egg_info)
self._move_data_entries(destination_eggdir, dist_data)
self._fix_namespace_packages(egg_info, destination_eggdir)

@staticmethod
def _convert_metadata(zf, destination_eggdir, dist_info, egg_info):
def get_metadata(name):
with zf.open(posixpath.join(dist_info, name)) as fp:
value = fp.read().decode('utf-8') if PY3 else fp.read()
return email.parser.Parser().parsestr(value)

wheel_metadata = get_metadata('WHEEL')
# Check wheel format version is supported.
wheel_version = parse_version(wheel_metadata.get('Wheel-Version'))
wheel_v1 = (
parse_version('1.0') <= wheel_version < parse_version('2.0dev0')
)
if not wheel_v1:
raise ValueError(
'unsupported wheel format version: %s' % wheel_version)
# Extract to target directory.
os.mkdir(destination_eggdir)
zf.extractall(destination_eggdir)
# Convert metadata.
dist_info = os.path.join(destination_eggdir, dist_info)
dist = Distribution.from_location(
destination_eggdir, dist_info,
metadata=PathMetadata(destination_eggdir, dist_info),
)

# Note: Evaluate and strip markers now,
# as it's difficult to convert back from the syntax:
# foobar; "linux" in sys_platform and extra == 'test'
def raw_req(req):
req.marker = None
return str(req)
install_requires = list(sorted(map(raw_req, dist.requires())))
extras_require = {
extra: sorted(
req
for req in map(raw_req, dist.requires((extra,)))
if req not in install_requires
dist_basename = '%s-%s' % (self.project_name, self.version)
dist_info = '%s.dist-info' % dist_basename
dist_data = '%s.data' % dist_basename
def get_metadata(name):
with zf.open('%s/%s' % (dist_info, name)) as fp:
value = fp.read().decode('utf-8') if PY3 else fp.read()
return email.parser.Parser().parsestr(value)
wheel_metadata = get_metadata('WHEEL')
dist_metadata = get_metadata('METADATA')
# Check wheel format version is supported.
wheel_version = parse_version(wheel_metadata.get('Wheel-Version'))
if not parse_version('1.0') <= wheel_version < parse_version('2.0dev0'):
raise ValueError('unsupported wheel format version: %s' % wheel_version)
# Extract to target directory.
os.mkdir(destination_eggdir)
zf.extractall(destination_eggdir)
# Convert metadata.
dist_info = os.path.join(destination_eggdir, dist_info)
dist = Distribution.from_location(
destination_eggdir, dist_info,
metadata=PathMetadata(destination_eggdir, dist_info)
) )
for extra in dist.extras
}
os.rename(dist_info, egg_info)
os.rename(
os.path.join(egg_info, 'METADATA'),
os.path.join(egg_info, 'PKG-INFO'),
)
setup_dist = SetuptoolsDistribution(
attrs=dict(
# Note: we need to evaluate and strip markers now,
# as we can't easily convert back from the syntax:
# foobar; "linux" in sys_platform and extra == 'test'
def raw_req(req):
req.marker = None
return str(req)
install_requires = list(sorted(map(raw_req, dist.requires())))
extras_require = {
extra: list(sorted(
req
for req in map(raw_req, dist.requires((extra,)))
if req not in install_requires
))
for extra in dist.extras
}
egg_info = os.path.join(destination_eggdir, 'EGG-INFO')
os.rename(dist_info, egg_info)
os.rename(os.path.join(egg_info, 'METADATA'),
os.path.join(egg_info, 'PKG-INFO'))
setup_dist = SetuptoolsDistribution(attrs=dict(
install_requires=install_requires, install_requires=install_requires,
extras_require=extras_require, extras_require=extras_require,
),
)
write_requirements(
setup_dist.get_command_obj('egg_info'),
None,
os.path.join(egg_info, 'requires.txt'),
)

@staticmethod
def _move_data_entries(destination_eggdir, dist_data):
"""Move data entries to their correct location."""
dist_data = os.path.join(destination_eggdir, dist_data)
dist_data_scripts = os.path.join(dist_data, 'scripts')
if os.path.exists(dist_data_scripts):
egg_info_scripts = os.path.join(
destination_eggdir, 'EGG-INFO', 'scripts')
os.mkdir(egg_info_scripts)
for entry in os.listdir(dist_data_scripts):
# Remove bytecode, as it's not properly handled
# during easy_install scripts install phase.
if entry.endswith('.pyc'):
os.unlink(os.path.join(dist_data_scripts, entry))
else:
os.rename(
os.path.join(dist_data_scripts, entry),
os.path.join(egg_info_scripts, entry),
)
os.rmdir(dist_data_scripts)
for subdir in filter(os.path.exists, (
os.path.join(dist_data, d)
for d in ('data', 'headers', 'purelib', 'platlib')
)):
unpack(subdir, destination_eggdir)
if os.path.exists(dist_data):
os.rmdir(dist_data)

@staticmethod
def _fix_namespace_packages(egg_info, destination_eggdir):
namespace_packages = os.path.join(
egg_info, 'namespace_packages.txt')
if os.path.exists(namespace_packages):
with open(namespace_packages) as fp:
namespace_packages = fp.read().split()
for mod in namespace_packages:
mod_dir = os.path.join(destination_eggdir, *mod.split('.'))
mod_init = os.path.join(mod_dir, '__init__.py')
if os.path.exists(mod_dir) and not os.path.exists(mod_init):
with open(mod_init, 'w') as fp:
fp.write(NAMESPACE_PACKAGE_INIT)
))
write_requirements(setup_dist.get_command_obj('egg_info'),
None, os.path.join(egg_info, 'requires.txt'))
# Move data entries to their correct location.
dist_data = os.path.join(destination_eggdir, dist_data)
dist_data_scripts = os.path.join(dist_data, 'scripts')
if os.path.exists(dist_data_scripts):
egg_info_scripts = os.path.join(destination_eggdir,
'EGG-INFO', 'scripts')
os.mkdir(egg_info_scripts)
for entry in os.listdir(dist_data_scripts):
# Remove bytecode, as it's not properly handled
# during easy_install scripts install phase.
if entry.endswith('.pyc'):
os.unlink(os.path.join(dist_data_scripts, entry))
else:
os.rename(os.path.join(dist_data_scripts, entry),
os.path.join(egg_info_scripts, entry))
os.rmdir(dist_data_scripts)
for subdir in filter(os.path.exists, (
os.path.join(dist_data, d)
for d in ('data', 'headers', 'purelib', 'platlib')
)):
unpack(subdir, destination_eggdir)
if os.path.exists(dist_data):
os.rmdir(dist_data)
# Fix namespace packages.
namespace_packages = os.path.join(egg_info, 'namespace_packages.txt')
if os.path.exists(namespace_packages):
with open(namespace_packages) as fp:
namespace_packages = fp.read().split()
for mod in namespace_packages:
mod_dir = os.path.join(destination_eggdir, *mod.split('.'))
mod_init = os.path.join(mod_dir, '__init__.py')
if os.path.exists(mod_dir) and not os.path.exists(mod_init):
with open(mod_init, 'w') as fp:
fp.write(NAMESPACE_PACKAGE_INIT)

Loading…
Cancel
Save