mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-07-04 14:43:08 +02:00
chore: go crazy
This commit is contained in:
parent
8aac30472f
commit
149d4fc832
161
.gitignore
vendored
161
.gitignore
vendored
@ -274,3 +274,164 @@ TSWLatexianTemp*
|
||||
|
||||
# Makeindex log files
|
||||
*.lpz
|
||||
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
share/python-wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
MANIFEST
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.nox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*.cover
|
||||
*.py,cover
|
||||
.hypothesis/
|
||||
.pytest_cache/
|
||||
cover/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
local_settings.py
|
||||
db.sqlite3
|
||||
db.sqlite3-journal
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
.pybuilder/
|
||||
target/
|
||||
|
||||
# Jupyter Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# IPython
|
||||
profile_default/
|
||||
ipython_config.py
|
||||
|
||||
# pyenv
|
||||
# For a library or package, you might want to ignore these files since the code is
|
||||
# intended to run in multiple environments; otherwise, check them in:
|
||||
# .python-version
|
||||
|
||||
# pipenv
|
||||
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
||||
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
||||
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
||||
# install all needed dependencies.
|
||||
#Pipfile.lock
|
||||
|
||||
# poetry
|
||||
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
||||
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
||||
# commonly ignored for libraries.
|
||||
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
||||
#poetry.lock
|
||||
|
||||
# pdm
|
||||
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
||||
#pdm.lock
|
||||
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
||||
# in version control.
|
||||
# https://pdm.fming.dev/#use-with-ide
|
||||
.pdm.toml
|
||||
|
||||
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
||||
__pypackages__/
|
||||
|
||||
# Celery stuff
|
||||
celerybeat-schedule
|
||||
celerybeat.pid
|
||||
|
||||
# SageMath parsed files
|
||||
*.sage.py
|
||||
|
||||
# Environments
|
||||
.env
|
||||
.venv
|
||||
env/
|
||||
venv/
|
||||
ENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
.spyproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
|
||||
# mkdocs documentation
|
||||
/site
|
||||
|
||||
# mypy
|
||||
.mypy_cache/
|
||||
.dmypy.json
|
||||
dmypy.json
|
||||
|
||||
# Pyre type checker
|
||||
.pyre/
|
||||
|
||||
# pytype static type analyzer
|
||||
.pytype/
|
||||
|
||||
# Cython debug symbols
|
||||
cython_debug/
|
||||
|
||||
# PyCharm
|
||||
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
||||
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
||||
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
||||
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
||||
#.idea/
|
||||
|
||||
7
.vscode/extensions.json
vendored
7
.vscode/extensions.json
vendored
@ -3,11 +3,14 @@
|
||||
"mhutchie.git-graph",
|
||||
"pkief.material-icon-theme",
|
||||
"ms-python.black-formatter",
|
||||
"ms-python.pylint",
|
||||
"ms-python.python",
|
||||
"wesbos.theme-cobalt2",
|
||||
"donjayamanne.githistory",
|
||||
"kisstkondoros.vscode-gutter-preview",
|
||||
"james-yu.latex-workshop"
|
||||
"james-yu.latex-workshop",
|
||||
"danielsanmedium.dscodegpt",
|
||||
"ms-ceintl.vscode-language-pack-pl",
|
||||
"ms-python.pylint",
|
||||
"tomoki1207.pdf"
|
||||
]
|
||||
}
|
||||
BIN
examples/table1.pdf
Normal file
BIN
examples/table1.pdf
Normal file
Binary file not shown.
14
examples/table1.tex
Normal file
14
examples/table1.tex
Normal file
@ -0,0 +1,14 @@
|
||||
\documentclass{article}
|
||||
\begin{document}
|
||||
|
||||
Here is a table:
|
||||
|
||||
\begin{tabular}{|l|c|r|}
|
||||
\hline
|
||||
left & center & right \\
|
||||
\cline{2-3}
|
||||
paragraph with top alignment & \multicolumn{2}{|c|}{two columns} \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
|
||||
\end{document}
|
||||
0
program/code/__init__.py
Normal file
0
program/code/__init__.py
Normal file
0
program/code/latex_classes/__init__.py
Normal file
0
program/code/latex_classes/__init__.py
Normal file
446
program/code/latex_classes/latex_classes.py
Normal file
446
program/code/latex_classes/latex_classes.py
Normal file
@ -0,0 +1,446 @@
|
||||
"""
|
||||
Holds an array of all classes from https://ctan.org/topic/class
|
||||
"""
|
||||
classes = [
|
||||
"abntex2",
|
||||
"acmart",
|
||||
"acmconf",
|
||||
"acmsiggraph",
|
||||
"actapress",
|
||||
"adelaide-thesis",
|
||||
"afthesis",
|
||||
"aguplus",
|
||||
"amsart",
|
||||
"amsbook",
|
||||
"amsproc",
|
||||
"amsrefs",
|
||||
"apa6",
|
||||
"apa7",
|
||||
"apa",
|
||||
"arabbook",
|
||||
"articleingud",
|
||||
"asaetr",
|
||||
"ascelike",
|
||||
"assignment",
|
||||
"beamer",
|
||||
"bgteubner",
|
||||
"bookman",
|
||||
"booktabs",
|
||||
"cascadilla",
|
||||
"cascdoc",
|
||||
"casconky",
|
||||
"cd",
|
||||
"charter",
|
||||
"chem-journal",
|
||||
"chicago",
|
||||
"cje",
|
||||
"cls-bst-ex",
|
||||
"cmactex",
|
||||
"cmbright",
|
||||
"cmpj",
|
||||
"coclass",
|
||||
"codeanatomy",
|
||||
"concepts",
|
||||
"conference-omega",
|
||||
"constitution",
|
||||
"context",
|
||||
"cooking-units",
|
||||
"coseoul",
|
||||
"crimson",
|
||||
"cslatex",
|
||||
"csthesis",
|
||||
"dcu",
|
||||
"dinbrief",
|
||||
"docbook",
|
||||
"dtk",
|
||||
"dtucolor",
|
||||
"dvgloss",
|
||||
"easychair",
|
||||
"ebsthesis",
|
||||
"ecothesis",
|
||||
"edge",
|
||||
"egs",
|
||||
"eiadoc",
|
||||
"elsarticle",
|
||||
"els-cas-templates",
|
||||
"els-cas-templates-3.0",
|
||||
"elsdoc",
|
||||
"emisa",
|
||||
"engtlc",
|
||||
"erdc",
|
||||
"eskd",
|
||||
"eth-biblatex",
|
||||
"ethz-thesis",
|
||||
"europasscv",
|
||||
"exercise",
|
||||
"expdlist",
|
||||
"fancyslides",
|
||||
"fei",
|
||||
"feiinput",
|
||||
"fhnw",
|
||||
"fithesis",
|
||||
"fkssd",
|
||||
"flashcards",
|
||||
"flippdf",
|
||||
"fontinst",
|
||||
"fonts-tlwg",
|
||||
"frankenstein",
|
||||
"frege",
|
||||
"gaceta",
|
||||
"galois",
|
||||
"gatech-thesis",
|
||||
"gzt",
|
||||
"hacm",
|
||||
"hagenberg-thesis",
|
||||
"har2nat",
|
||||
"harvard",
|
||||
"hecthese",
|
||||
"hep",
|
||||
"hepthesis",
|
||||
"herm-pic",
|
||||
"hithesis",
|
||||
"holtpolt",
|
||||
"html-book",
|
||||
"hustthesis",
|
||||
"hwk-mactex",
|
||||
"ieeetran",
|
||||
"ifacconf",
|
||||
"ifmbe",
|
||||
"igm",
|
||||
"ijsra",
|
||||
"illcdiss",
|
||||
"imsproc",
|
||||
"imsproc-accepted",
|
||||
"imsproc-nrc",
|
||||
"informs3",
|
||||
"informs4",
|
||||
"isomath",
|
||||
"issuulinks",
|
||||
"iwhdp",
|
||||
"jacow",
|
||||
"jmlr",
|
||||
"jnlpba",
|
||||
"jpsj",
|
||||
"kluwer",
|
||||
"koma-moderncvclassic",
|
||||
"ksp-thesis",
|
||||
"kurier",
|
||||
"l2picfaq",
|
||||
"laa",
|
||||
"laboratorybook",
|
||||
"latex2e-help-texinfo",
|
||||
"latex2man",
|
||||
"latex2rtf",
|
||||
"latex4wp",
|
||||
"latexbug",
|
||||
"latexdiff",
|
||||
"latexfileversion",
|
||||
"latexindent",
|
||||
"latexmp",
|
||||
"latex-notes-zh-cn",
|
||||
"latex-refsheet",
|
||||
"latex-subfiles",
|
||||
"latex-tabellen",
|
||||
"latex-tools",
|
||||
"latex-uni8",
|
||||
"layout",
|
||||
"lcyw",
|
||||
"letter1",
|
||||
"letter2",
|
||||
"lettergen",
|
||||
"lettre",
|
||||
"lexikon",
|
||||
"linenofix",
|
||||
"lingmacros",
|
||||
"linguex",
|
||||
"listings-ext",
|
||||
"logsys",
|
||||
"longnamefilelist",
|
||||
"lplfitch",
|
||||
"lps",
|
||||
"lt3graph",
|
||||
"ltx2any",
|
||||
"ltxdockit",
|
||||
"luatexja",
|
||||
"lxfonts",
|
||||
"makecell",
|
||||
"makecirc",
|
||||
"makeplot",
|
||||
"mandi",
|
||||
"manfnt",
|
||||
"manuscript",
|
||||
"mathalfa",
|
||||
"mathastext",
|
||||
"mathdesign",
|
||||
"mathdots",
|
||||
"mathpartir",
|
||||
"mathspec",
|
||||
"mathspic",
|
||||
"maths-symbols",
|
||||
"maths-symbols-a4",
|
||||
"matlab-prettifier",
|
||||
"mdframed",
|
||||
"memoir",
|
||||
"mentis",
|
||||
"mfnfss",
|
||||
"mh",
|
||||
"microtype",
|
||||
"minifp",
|
||||
"mla-paper",
|
||||
"mlacls",
|
||||
"mlbib",
|
||||
"moderncv",
|
||||
"moderntimeline",
|
||||
"modular",
|
||||
"mparhack",
|
||||
"msc",
|
||||
"mugsthesis",
|
||||
"musixguit",
|
||||
"nag",
|
||||
"natbib",
|
||||
"newlfm",
|
||||
"newpx",
|
||||
"newspaper",
|
||||
"newtx",
|
||||
"nicefilelist",
|
||||
"nidanfloat",
|
||||
"nih",
|
||||
"ntgclass",
|
||||
"nwafu",
|
||||
"ocg-p",
|
||||
"ociamthesis",
|
||||
"ocr-b-outline",
|
||||
"ocropus",
|
||||
"octavo",
|
||||
"odsfile",
|
||||
"ojps",
|
||||
"opteng",
|
||||
"osa",
|
||||
"overlays",
|
||||
"oztex",
|
||||
"pacioli",
|
||||
"paper",
|
||||
"parallel",
|
||||
"phd",
|
||||
"phfnote",
|
||||
"philosophy-doc-ru",
|
||||
"phonenumbers",
|
||||
"physconst",
|
||||
"physor2016",
|
||||
"piff",
|
||||
"pitex",
|
||||
"pkuthss",
|
||||
"placeins",
|
||||
"plaintex",
|
||||
"play",
|
||||
"plipsum",
|
||||
"poemscol",
|
||||
"polynom",
|
||||
"powerdot",
|
||||
"pracjourn",
|
||||
"proceedings",
|
||||
"progress",
|
||||
"prosper",
|
||||
"pst-exa",
|
||||
"pst-plot",
|
||||
"publist",
|
||||
"pxfonts",
|
||||
"qcm",
|
||||
"qobitree",
|
||||
"quran",
|
||||
"raman-thesis",
|
||||
"rcs-multi",
|
||||
"rechnung",
|
||||
"refcheck",
|
||||
"refman",
|
||||
"resphilosophica",
|
||||
"revquantum",
|
||||
"rfc",
|
||||
"rochester-thesis",
|
||||
"romanbar",
|
||||
"rotating",
|
||||
"rsfso",
|
||||
"rspublications",
|
||||
"rticle",
|
||||
"sageep",
|
||||
"samplepdf",
|
||||
"samplics",
|
||||
"sansmath",
|
||||
"sasnrdisplay",
|
||||
"sasnrtext",
|
||||
"schule",
|
||||
"sciposter",
|
||||
"scratch",
|
||||
"sduthesis",
|
||||
"seminar",
|
||||
"seuthesis",
|
||||
"sf298",
|
||||
"sffms",
|
||||
"sgame",
|
||||
"shdoc",
|
||||
"sig-alternate",
|
||||
"sigcas",
|
||||
"sigchi",
|
||||
"siggraph",
|
||||
"siggraph2015",
|
||||
"siggraph-2016-schedule",
|
||||
"siggraph-2017-schedule",
|
||||
"siggraph-2018-schedule",
|
||||
"siggraph-2019-schedule",
|
||||
"siggraph-2020-schedule",
|
||||
"siggraph-2021-schedule",
|
||||
"siggraph-2022-schedule",
|
||||
"siggraph-asia",
|
||||
"siggraph-extended-abstracts",
|
||||
"siggraph-talks",
|
||||
"siggraph-videos",
|
||||
"siggraph-virtual-reality-contest",
|
||||
"sigirconf",
|
||||
"simplecv",
|
||||
"sistthesis",
|
||||
"skaknew",
|
||||
"slides",
|
||||
"smalltalk",
|
||||
"smfbook",
|
||||
"spie",
|
||||
"spin",
|
||||
"splncs",
|
||||
"statrep",
|
||||
"stdclsdv",
|
||||
"stdpage",
|
||||
"stex",
|
||||
"studenthandouts",
|
||||
"subcaption",
|
||||
"subeqn",
|
||||
"subfiles",
|
||||
"subfigure",
|
||||
"subfigmat",
|
||||
"suftesi",
|
||||
"svclasses",
|
||||
"svg-inkscape",
|
||||
"swimgraf",
|
||||
"swimte",
|
||||
"sympytex",
|
||||
"syntaxdi",
|
||||
"tablists",
|
||||
"tablor",
|
||||
"tabriz-thesis",
|
||||
"tabstackengine",
|
||||
"tango",
|
||||
"tcolorbox",
|
||||
"tetex",
|
||||
"tex",
|
||||
"tex2tok",
|
||||
"tex4ht",
|
||||
"texapi",
|
||||
"texdoc",
|
||||
"texdraw",
|
||||
"texfot",
|
||||
"texi2dvi",
|
||||
"texi2html",
|
||||
"texi2roff",
|
||||
"texinfo",
|
||||
"texlive",
|
||||
"texmacs",
|
||||
"texmate",
|
||||
"tex-overview",
|
||||
"tex-ps",
|
||||
"texsis",
|
||||
"texsort",
|
||||
"textcase",
|
||||
"textfit",
|
||||
"textglos",
|
||||
"textmerg",
|
||||
"textools",
|
||||
"textpath",
|
||||
"textpos",
|
||||
"thucoursework",
|
||||
"thucslide",
|
||||
"thuthesis",
|
||||
"tioga",
|
||||
"tkz",
|
||||
"toascii",
|
||||
"tocloft",
|
||||
"todonotes",
|
||||
"tools",
|
||||
"tpic2pdftex",
|
||||
"tpx",
|
||||
"trajan",
|
||||
"tree-dvips",
|
||||
"tufte-latex",
|
||||
"turabian",
|
||||
"turnstile",
|
||||
"twoinone",
|
||||
"uafthesis",
|
||||
"ucthesis",
|
||||
"ucsmonograph",
|
||||
"ucthesis",
|
||||
"udesoftec",
|
||||
"uiucthesis",
|
||||
"ukthesis",
|
||||
"unamthesis",
|
||||
"unamth-template",
|
||||
"undthesis",
|
||||
"unswcover",
|
||||
"uothesis",
|
||||
"upmethodology",
|
||||
"uptex",
|
||||
"uspatent",
|
||||
"uowthesis",
|
||||
"uowthesistitlepage",
|
||||
"urlbst",
|
||||
"utf8mex",
|
||||
"uwthesis",
|
||||
"uythesis",
|
||||
"uzbek",
|
||||
"vaucanson-g",
|
||||
"vancouver",
|
||||
"vandocument",
|
||||
"varsfromjobname",
|
||||
"vassiliev",
|
||||
"verbasef",
|
||||
"verse",
|
||||
"vhistory",
|
||||
"vita",
|
||||
"vmargin",
|
||||
"voss-mathmode",
|
||||
"vpe",
|
||||
"vrbexin",
|
||||
"web-o-mints",
|
||||
"widetable",
|
||||
"williams",
|
||||
"wordlike",
|
||||
"wrapfig",
|
||||
"wsemclassic",
|
||||
"wsuipa",
|
||||
"wtref",
|
||||
"xassoccnt",
|
||||
"xcite",
|
||||
"xcomment",
|
||||
"xdot",
|
||||
"xepersian",
|
||||
"xetex",
|
||||
"xetexfontinfo",
|
||||
"xfor",
|
||||
"xgreek",
|
||||
"xhfill",
|
||||
"xifthen",
|
||||
"xint",
|
||||
"xkeyval",
|
||||
"xmltex",
|
||||
"xyling",
|
||||
"xymtex",
|
||||
"yathesis",
|
||||
"yfonts",
|
||||
"yhmath",
|
||||
"youngtab",
|
||||
"yplan",
|
||||
"ytableau",
|
||||
"ytext",
|
||||
"ziffer",
|
||||
"zhlipsum",
|
||||
]
|
||||
|
||||
def latex_classes():
|
||||
""" Returns latex classes array"""
|
||||
return classes
|
||||
12
program/code/main.py
Normal file
12
program/code/main.py
Normal file
@ -0,0 +1,12 @@
|
||||
"""
|
||||
Program for converting Latex files into html files
|
||||
"""
|
||||
|
||||
from latex_classes.latex_classes import latex_classes
|
||||
|
||||
def document_class(latex_string):
|
||||
"""
|
||||
Converts LaTeX documentclass method to html
|
||||
"""
|
||||
print(latex_classes)
|
||||
return latex_string
|
||||
247
program/ecote/bin/Activate.ps1
Normal file
247
program/ecote/bin/Activate.ps1
Normal file
@ -0,0 +1,247 @@
|
||||
<#
|
||||
.Synopsis
|
||||
Activate a Python virtual environment for the current PowerShell session.
|
||||
|
||||
.Description
|
||||
Pushes the python executable for a virtual environment to the front of the
|
||||
$Env:PATH environment variable and sets the prompt to signify that you are
|
||||
in a Python virtual environment. Makes use of the command line switches as
|
||||
well as the `pyvenv.cfg` file values present in the virtual environment.
|
||||
|
||||
.Parameter VenvDir
|
||||
Path to the directory that contains the virtual environment to activate. The
|
||||
default value for this is the parent of the directory that the Activate.ps1
|
||||
script is located within.
|
||||
|
||||
.Parameter Prompt
|
||||
The prompt prefix to display when this virtual environment is activated. By
|
||||
default, this prompt is the name of the virtual environment folder (VenvDir)
|
||||
surrounded by parentheses and followed by a single space (ie. '(.venv) ').
|
||||
|
||||
.Example
|
||||
Activate.ps1
|
||||
Activates the Python virtual environment that contains the Activate.ps1 script.
|
||||
|
||||
.Example
|
||||
Activate.ps1 -Verbose
|
||||
Activates the Python virtual environment that contains the Activate.ps1 script,
|
||||
and shows extra information about the activation as it executes.
|
||||
|
||||
.Example
|
||||
Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv
|
||||
Activates the Python virtual environment located in the specified location.
|
||||
|
||||
.Example
|
||||
Activate.ps1 -Prompt "MyPython"
|
||||
Activates the Python virtual environment that contains the Activate.ps1 script,
|
||||
and prefixes the current prompt with the specified string (surrounded in
|
||||
parentheses) while the virtual environment is active.
|
||||
|
||||
.Notes
|
||||
On Windows, it may be required to enable this Activate.ps1 script by setting the
|
||||
execution policy for the user. You can do this by issuing the following PowerShell
|
||||
command:
|
||||
|
||||
PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
||||
|
||||
For more information on Execution Policies:
|
||||
https://go.microsoft.com/fwlink/?LinkID=135170
|
||||
|
||||
#>
|
||||
Param(
|
||||
[Parameter(Mandatory = $false)]
|
||||
[String]
|
||||
$VenvDir,
|
||||
[Parameter(Mandatory = $false)]
|
||||
[String]
|
||||
$Prompt
|
||||
)
|
||||
|
||||
<# Function declarations --------------------------------------------------- #>
|
||||
|
||||
<#
|
||||
.Synopsis
|
||||
Remove all shell session elements added by the Activate script, including the
|
||||
addition of the virtual environment's Python executable from the beginning of
|
||||
the PATH variable.
|
||||
|
||||
.Parameter NonDestructive
|
||||
If present, do not remove this function from the global namespace for the
|
||||
session.
|
||||
|
||||
#>
|
||||
function global:deactivate ([switch]$NonDestructive) {
|
||||
# Revert to original values
|
||||
|
||||
# The prior prompt:
|
||||
if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) {
|
||||
Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt
|
||||
Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT
|
||||
}
|
||||
|
||||
# The prior PYTHONHOME:
|
||||
if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) {
|
||||
Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME
|
||||
Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME
|
||||
}
|
||||
|
||||
# The prior PATH:
|
||||
if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) {
|
||||
Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH
|
||||
Remove-Item -Path Env:_OLD_VIRTUAL_PATH
|
||||
}
|
||||
|
||||
# Just remove the VIRTUAL_ENV altogether:
|
||||
if (Test-Path -Path Env:VIRTUAL_ENV) {
|
||||
Remove-Item -Path env:VIRTUAL_ENV
|
||||
}
|
||||
|
||||
# Just remove VIRTUAL_ENV_PROMPT altogether.
|
||||
if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) {
|
||||
Remove-Item -Path env:VIRTUAL_ENV_PROMPT
|
||||
}
|
||||
|
||||
# Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether:
|
||||
if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) {
|
||||
Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force
|
||||
}
|
||||
|
||||
# Leave deactivate function in the global namespace if requested:
|
||||
if (-not $NonDestructive) {
|
||||
Remove-Item -Path function:deactivate
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.Description
|
||||
Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the
|
||||
given folder, and returns them in a map.
|
||||
|
||||
For each line in the pyvenv.cfg file, if that line can be parsed into exactly
|
||||
two strings separated by `=` (with any amount of whitespace surrounding the =)
|
||||
then it is considered a `key = value` line. The left hand string is the key,
|
||||
the right hand is the value.
|
||||
|
||||
If the value starts with a `'` or a `"` then the first and last character is
|
||||
stripped from the value before being captured.
|
||||
|
||||
.Parameter ConfigDir
|
||||
Path to the directory that contains the `pyvenv.cfg` file.
|
||||
#>
|
||||
function Get-PyVenvConfig(
|
||||
[String]
|
||||
$ConfigDir
|
||||
) {
|
||||
Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg"
|
||||
|
||||
# Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue).
|
||||
$pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue
|
||||
|
||||
# An empty map will be returned if no config file is found.
|
||||
$pyvenvConfig = @{ }
|
||||
|
||||
if ($pyvenvConfigPath) {
|
||||
|
||||
Write-Verbose "File exists, parse `key = value` lines"
|
||||
$pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath
|
||||
|
||||
$pyvenvConfigContent | ForEach-Object {
|
||||
$keyval = $PSItem -split "\s*=\s*", 2
|
||||
if ($keyval[0] -and $keyval[1]) {
|
||||
$val = $keyval[1]
|
||||
|
||||
# Remove extraneous quotations around a string value.
|
||||
if ("'""".Contains($val.Substring(0, 1))) {
|
||||
$val = $val.Substring(1, $val.Length - 2)
|
||||
}
|
||||
|
||||
$pyvenvConfig[$keyval[0]] = $val
|
||||
Write-Verbose "Adding Key: '$($keyval[0])'='$val'"
|
||||
}
|
||||
}
|
||||
}
|
||||
return $pyvenvConfig
|
||||
}
|
||||
|
||||
|
||||
<# Begin Activate script --------------------------------------------------- #>
|
||||
|
||||
# Determine the containing directory of this script
|
||||
$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
|
||||
$VenvExecDir = Get-Item -Path $VenvExecPath
|
||||
|
||||
Write-Verbose "Activation script is located in path: '$VenvExecPath'"
|
||||
Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)"
|
||||
Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)"
|
||||
|
||||
# Set values required in priority: CmdLine, ConfigFile, Default
|
||||
# First, get the location of the virtual environment, it might not be
|
||||
# VenvExecDir if specified on the command line.
|
||||
if ($VenvDir) {
|
||||
Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values"
|
||||
}
|
||||
else {
|
||||
Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir."
|
||||
$VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/")
|
||||
Write-Verbose "VenvDir=$VenvDir"
|
||||
}
|
||||
|
||||
# Next, read the `pyvenv.cfg` file to determine any required value such
|
||||
# as `prompt`.
|
||||
$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir
|
||||
|
||||
# Next, set the prompt from the command line, or the config file, or
|
||||
# just use the name of the virtual environment folder.
|
||||
if ($Prompt) {
|
||||
Write-Verbose "Prompt specified as argument, using '$Prompt'"
|
||||
}
|
||||
else {
|
||||
Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value"
|
||||
if ($pyvenvCfg -and $pyvenvCfg['prompt']) {
|
||||
Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'"
|
||||
$Prompt = $pyvenvCfg['prompt'];
|
||||
}
|
||||
else {
|
||||
Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virtual environment)"
|
||||
Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'"
|
||||
$Prompt = Split-Path -Path $venvDir -Leaf
|
||||
}
|
||||
}
|
||||
|
||||
Write-Verbose "Prompt = '$Prompt'"
|
||||
Write-Verbose "VenvDir='$VenvDir'"
|
||||
|
||||
# Deactivate any currently active virtual environment, but leave the
|
||||
# deactivate function in place.
|
||||
deactivate -nondestructive
|
||||
|
||||
# Now set the environment variable VIRTUAL_ENV, used by many tools to determine
|
||||
# that there is an activated venv.
|
||||
$env:VIRTUAL_ENV = $VenvDir
|
||||
|
||||
if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) {
|
||||
|
||||
Write-Verbose "Setting prompt to '$Prompt'"
|
||||
|
||||
# Set the prompt to include the env name
|
||||
# Make sure _OLD_VIRTUAL_PROMPT is global
|
||||
function global:_OLD_VIRTUAL_PROMPT { "" }
|
||||
Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT
|
||||
New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt
|
||||
|
||||
function global:prompt {
|
||||
Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
|
||||
_OLD_VIRTUAL_PROMPT
|
||||
}
|
||||
$env:VIRTUAL_ENV_PROMPT = $Prompt
|
||||
}
|
||||
|
||||
# Clear PYTHONHOME
|
||||
if (Test-Path -Path Env:PYTHONHOME) {
|
||||
Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME
|
||||
Remove-Item -Path Env:PYTHONHOME
|
||||
}
|
||||
|
||||
# Add the venv to the PATH
|
||||
Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH
|
||||
$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH"
|
||||
69
program/ecote/bin/activate
Normal file
69
program/ecote/bin/activate
Normal file
@ -0,0 +1,69 @@
|
||||
# This file must be used with "source bin/activate" *from bash*
|
||||
# you cannot run it directly
|
||||
|
||||
deactivate () {
|
||||
# reset old environment variables
|
||||
if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
|
||||
PATH="${_OLD_VIRTUAL_PATH:-}"
|
||||
export PATH
|
||||
unset _OLD_VIRTUAL_PATH
|
||||
fi
|
||||
if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
|
||||
PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
|
||||
export PYTHONHOME
|
||||
unset _OLD_VIRTUAL_PYTHONHOME
|
||||
fi
|
||||
|
||||
# This should detect bash and zsh, which have a hash command that must
|
||||
# be called to get it to forget past commands. Without forgetting
|
||||
# past commands the $PATH changes we made may not be respected
|
||||
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
|
||||
hash -r 2> /dev/null
|
||||
fi
|
||||
|
||||
if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
|
||||
PS1="${_OLD_VIRTUAL_PS1:-}"
|
||||
export PS1
|
||||
unset _OLD_VIRTUAL_PS1
|
||||
fi
|
||||
|
||||
unset VIRTUAL_ENV
|
||||
unset VIRTUAL_ENV_PROMPT
|
||||
if [ ! "${1:-}" = "nondestructive" ] ; then
|
||||
# Self destruct!
|
||||
unset -f deactivate
|
||||
fi
|
||||
}
|
||||
|
||||
# unset irrelevant variables
|
||||
deactivate nondestructive
|
||||
|
||||
VIRTUAL_ENV="/home/kuchy/ecote/project/ECOTE/program/ecote"
|
||||
export VIRTUAL_ENV
|
||||
|
||||
_OLD_VIRTUAL_PATH="$PATH"
|
||||
PATH="$VIRTUAL_ENV/bin:$PATH"
|
||||
export PATH
|
||||
|
||||
# unset PYTHONHOME if set
|
||||
# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
|
||||
# could use `if (set -u; : $PYTHONHOME) ;` in bash
|
||||
if [ -n "${PYTHONHOME:-}" ] ; then
|
||||
_OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
|
||||
unset PYTHONHOME
|
||||
fi
|
||||
|
||||
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
|
||||
_OLD_VIRTUAL_PS1="${PS1:-}"
|
||||
PS1="(ecote) ${PS1:-}"
|
||||
export PS1
|
||||
VIRTUAL_ENV_PROMPT="(ecote) "
|
||||
export VIRTUAL_ENV_PROMPT
|
||||
fi
|
||||
|
||||
# This should detect bash and zsh, which have a hash command that must
|
||||
# be called to get it to forget past commands. Without forgetting
|
||||
# past commands the $PATH changes we made may not be respected
|
||||
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
|
||||
hash -r 2> /dev/null
|
||||
fi
|
||||
26
program/ecote/bin/activate.csh
Normal file
26
program/ecote/bin/activate.csh
Normal file
@ -0,0 +1,26 @@
|
||||
# This file must be used with "source bin/activate.csh" *from csh*.
|
||||
# You cannot run it directly.
|
||||
# Created by Davide Di Blasi <davidedb@gmail.com>.
|
||||
# Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com>
|
||||
|
||||
alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate'
|
||||
|
||||
# Unset irrelevant variables.
|
||||
deactivate nondestructive
|
||||
|
||||
setenv VIRTUAL_ENV "/home/kuchy/ecote/project/ECOTE/program/ecote"
|
||||
|
||||
set _OLD_VIRTUAL_PATH="$PATH"
|
||||
setenv PATH "$VIRTUAL_ENV/bin:$PATH"
|
||||
|
||||
|
||||
set _OLD_VIRTUAL_PROMPT="$prompt"
|
||||
|
||||
if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
|
||||
set prompt = "(ecote) $prompt"
|
||||
setenv VIRTUAL_ENV_PROMPT "(ecote) "
|
||||
endif
|
||||
|
||||
alias pydoc python -m pydoc
|
||||
|
||||
rehash
|
||||
69
program/ecote/bin/activate.fish
Normal file
69
program/ecote/bin/activate.fish
Normal file
@ -0,0 +1,69 @@
|
||||
# This file must be used with "source <venv>/bin/activate.fish" *from fish*
|
||||
# (https://fishshell.com/); you cannot run it directly.
|
||||
|
||||
function deactivate -d "Exit virtual environment and return to normal shell environment"
|
||||
# reset old environment variables
|
||||
if test -n "$_OLD_VIRTUAL_PATH"
|
||||
set -gx PATH $_OLD_VIRTUAL_PATH
|
||||
set -e _OLD_VIRTUAL_PATH
|
||||
end
|
||||
if test -n "$_OLD_VIRTUAL_PYTHONHOME"
|
||||
set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
|
||||
set -e _OLD_VIRTUAL_PYTHONHOME
|
||||
end
|
||||
|
||||
if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
|
||||
set -e _OLD_FISH_PROMPT_OVERRIDE
|
||||
# prevents error when using nested fish instances (Issue #93858)
|
||||
if functions -q _old_fish_prompt
|
||||
functions -e fish_prompt
|
||||
functions -c _old_fish_prompt fish_prompt
|
||||
functions -e _old_fish_prompt
|
||||
end
|
||||
end
|
||||
|
||||
set -e VIRTUAL_ENV
|
||||
set -e VIRTUAL_ENV_PROMPT
|
||||
if test "$argv[1]" != "nondestructive"
|
||||
# Self-destruct!
|
||||
functions -e deactivate
|
||||
end
|
||||
end
|
||||
|
||||
# Unset irrelevant variables.
|
||||
deactivate nondestructive
|
||||
|
||||
set -gx VIRTUAL_ENV "/home/kuchy/ecote/project/ECOTE/program/ecote"
|
||||
|
||||
set -gx _OLD_VIRTUAL_PATH $PATH
|
||||
set -gx PATH "$VIRTUAL_ENV/bin" $PATH
|
||||
|
||||
# Unset PYTHONHOME if set.
|
||||
if set -q PYTHONHOME
|
||||
set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
|
||||
set -e PYTHONHOME
|
||||
end
|
||||
|
||||
if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
|
||||
# fish uses a function instead of an env var to generate the prompt.
|
||||
|
||||
# Save the current fish_prompt function as the function _old_fish_prompt.
|
||||
functions -c fish_prompt _old_fish_prompt
|
||||
|
||||
# With the original prompt function renamed, we can override with our own.
|
||||
function fish_prompt
|
||||
# Save the return status of the last command.
|
||||
set -l old_status $status
|
||||
|
||||
# Output the venv prompt; color taken from the blue of the Python logo.
|
||||
printf "%s%s%s" (set_color 4B8BBE) "(ecote) " (set_color normal)
|
||||
|
||||
# Restore the return status of the previous command.
|
||||
echo "exit $old_status" | .
|
||||
# Output the original/"old" prompt.
|
||||
_old_fish_prompt
|
||||
end
|
||||
|
||||
set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
|
||||
set -gx VIRTUAL_ENV_PROMPT "(ecote) "
|
||||
end
|
||||
8
program/ecote/bin/coverage
Executable file
8
program/ecote/bin/coverage
Executable file
@ -0,0 +1,8 @@
|
||||
#!/home/kuchy/ecote/project/ECOTE/program/ecote/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from coverage.cmdline import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
8
program/ecote/bin/coverage3
Executable file
8
program/ecote/bin/coverage3
Executable file
@ -0,0 +1,8 @@
|
||||
#!/home/kuchy/ecote/project/ECOTE/program/ecote/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from coverage.cmdline import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
8
program/ecote/bin/pip
Executable file
8
program/ecote/bin/pip
Executable file
@ -0,0 +1,8 @@
|
||||
#!/home/kuchy/ecote/project/ECOTE/program/ecote/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from pip._internal.cli.main import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
8
program/ecote/bin/pip3
Executable file
8
program/ecote/bin/pip3
Executable file
@ -0,0 +1,8 @@
|
||||
#!/home/kuchy/ecote/project/ECOTE/program/ecote/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from pip._internal.cli.main import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
8
program/ecote/bin/py.test
Executable file
8
program/ecote/bin/py.test
Executable file
@ -0,0 +1,8 @@
|
||||
#!/home/kuchy/ecote/project/ECOTE/program/ecote/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from pytest import console_main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(console_main())
|
||||
8
program/ecote/bin/pytest
Executable file
8
program/ecote/bin/pytest
Executable file
@ -0,0 +1,8 @@
|
||||
#!/home/kuchy/ecote/project/ECOTE/program/ecote/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from pytest import console_main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(console_main())
|
||||
1
program/ecote/bin/python
Symbolic link
1
program/ecote/bin/python
Symbolic link
@ -0,0 +1 @@
|
||||
python3
|
||||
1
program/ecote/bin/python3
Symbolic link
1
program/ecote/bin/python3
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/bin/python3
|
||||
1
program/ecote/lib64
Symbolic link
1
program/ecote/lib64
Symbolic link
@ -0,0 +1 @@
|
||||
lib
|
||||
3
program/ecote/pyvenv.cfg
Normal file
3
program/ecote/pyvenv.cfg
Normal file
@ -0,0 +1,3 @@
|
||||
home = /usr/bin
|
||||
include-system-site-packages = false
|
||||
version = 3.10.10
|
||||
0
program/tests/__init__.py
Normal file
0
program/tests/__init__.py
Normal file
0
program/tests/conftest.py
Normal file
0
program/tests/conftest.py
Normal file
0
program/tests/test_code/__init__.py
Normal file
0
program/tests/test_code/__init__.py
Normal file
20
program/tests/test_code/test_document_class.py
Normal file
20
program/tests/test_code/test_document_class.py
Normal file
@ -0,0 +1,20 @@
|
||||
"""
|
||||
Tests document class function
|
||||
"""
|
||||
from code.main import document_class
|
||||
|
||||
|
||||
# Write python tests for a function translating LaTeX documentclass to html
|
||||
def test_document_class():
|
||||
"""
|
||||
Given
|
||||
When
|
||||
Then
|
||||
"""
|
||||
assert document_class("") == "Error! No input given to document_class function"
|
||||
assert document_class("\\documentclass{article}") == "<!DOCTYPE html><html>"
|
||||
assert document_class("\\documentclass{article") == "Error! documentclass curly bracket not closed!"
|
||||
assert document_class("\\documentclass[12pt]{article}") == "Error! documentclass has optional parameters!"
|
||||
assert document_class("\\documentclassarticle}") == "Error! documentclass curly bracket not opened!"
|
||||
assert document_class("\\documentclas{article}") == "Error! documentclass command misspeled!"
|
||||
assert document_class("\\documentclass{idonotexist}") == "Error! class idonotexist is not known!"
|
||||
Loading…
Reference in New Issue
Block a user