This commit is contained in:
Niklas 2024-11-14 23:26:28 +01:00
commit fe31c6d478
28 changed files with 1049 additions and 0 deletions

162
.gitignore vendored Normal file
View File

@ -0,0 +1,162 @@
# 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/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/
# 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/

3
.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

View File

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

15
.idea/lous-thing.iml Normal file
View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="PyDocumentationSettings">
<option name="format" value="PLAIN" />
<option name="myDocStringFormat" value="Plain" />
</component>
<component name="TestRunnerService">
<option name="PROJECT_TEST_RUNNER" value="py.test" />
</component>
</module>

7
.idea/misc.xml Normal file
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Black">
<option name="sdkName" value="Python 3.12 (lous-thing)" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 (lous-thing)" project-jdk-type="Python SDK" />
</project>

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/lous-thing.iml" filepath="$PROJECT_DIR$/.idea/lous-thing.iml" />
</modules>
</component>
</project>

3
.timer.toml Normal file
View File

@ -0,0 +1,3 @@
## dates and their corresponding seconds been here :)
[24-11-11]
schreifuchs_at_archlinux = 824

110
Abenteuer.py Normal file
View File

@ -0,0 +1,110 @@
#####################
# Autor:in: Taina Sophia Kreuzer
#####################
from Toolbox import *
from Texte import *
print()
print()
print()
print(disclaimer)
print ()
print(einstieg)
name= input(fragename)
spieler = Wesen(name)
ausrüstung= [akten, handy]
print (inventar1+name+inventar2)
zeigeListe(ausrüstung)
print(ziel1)
answer=input(frage1)
pressForward()
if (answer==ja):
print(aufzählunggrid)
elif (answer== nein):
print(gut)
print()
print(start)
print(indiz1)
pressForward()
verdächtigter1=input(vorraussetungantwort1)
if(verdächtigter1==lösungv1):
print(anfang)
else:
print (DNN)
verdächtigter1=input(vorraussetungantwort1)
if(verdächtigter1==lösungv1):
print(gut)
else:
print (DNN)
verdächtigter1=input(vorraussetungantwort1)
if(verdächtigter1==lösungv1):
print(endlich)
else:
print (DNN)
verdächtigter1=input(vorraussetungantwort1)
if (verdächtigter1==lösungv1):
print (wurdezeit)
else:
print(nötigertipp)
antworttipp1=input(nochmal2)
if(antworttipp1==lösungv1):
print(gedauert)
else:
AbenteuerAbbrechen()
pressForward()
print(texträtsel1)
print(rätsel1)
antwort1= input(WBI)
wiederholung= 1
while (antwort1!=lösung1):
print (falsch)
if (wiederholung==2):
print(rätsel1tipp1)
if (wiederholung==4):
print(rätsel1tipp2)
antwort1= input(WBI)
wiederholung= wiederholung +1
print (klopfen)
print (totobüro)
pressForward()
print(texträtsel2)
print(rätsel2)
antwort2= input(WBI)
while (antwort2!=lösung2):
print (falsch)
antwort1= input(WBI)
print(vasseurtext)
pressForward()
print(nächsterlead)
guess= input(letzteverdächtigte)
while (guess!=lösung3):
print (nöperson)
antwort1= input(guess)
print(belohung)
pressForward()
print (rätsel3)
antwort3= input(WBI)
while (antwort3!=lösung4):
print (nochmal)
antwort1= input(WBI)
print(ende)
pressForward()
print(theend)
print(theend2)
print(theend3)

36
Ordner_Test.py Normal file
View File

@ -0,0 +1,36 @@
# Diese Datei ist nur dazu da, zu testen, ob alle nötigen Dateien im gleichen Verzeichnis sind.
print("Start des Tests")
print("Start des Tests")
try:
from Toolbox import *
print ("Die Datei 'Toolbox.py' wurde gefunden.")
except ImportError:
print("Fehler: Die Datei 'Toolbox.py' wurde nicht gefunden. "
"\nBitte stellen Sie sicher, dass sie im gleichen Verzeichnis wie diese Datei liegt.")
try:
import Texte
print ("Die Datei 'Texte.py' wurde gefunden.")
except ImportError:
print("Fehler: Die Datei 'Texte.py' wurde nicht gefunden. "
"\nBitte stellen Sie sicher, dass sie im gleichen Verzeichnis wie diese Datei liegt.")
try:
import Abenteuer
print ("Die Datei 'Abenteuer.py' wurde gefunden.")
except ImportError:
print("Fehler: Die Datei 'Abenteuer.py' wurde nicht gefunden. "
"\nBitte stellen Sie sicher, dass sie im gleichen Verzeichnis wie diese Datei liegt.")
try:
print(Texte.test)
print ("Der Text 'test' wurde gefunden.")
except (NameError, AttributeError):
print("Fehler: Der Text 'test' wurde in 'Texte.py' nicht gefunden. "
"\nBitte überprüfen Sie, ob sie korrekt definiert ist.")
try:
AbenteuerEnde()
print ("Die Funktion 'AbenteuerEnde' wurde gefunden.")
except NameError:
print("Fehler: Die Funktion 'AbenteuerEnde' wurde in 'Toolbox.py' nicht gefunden. "
"\nBitte überprüfen Sie, ob sie korrekt definiert ist.")
print("Ende des Tests"+"\n" * 2)

46
Texte.py Normal file
View File

@ -0,0 +1,46 @@
"""
Hier können Sie Ihre Texte aufschreiben.
Das hat den Vorteil, dass der Code Ihres Abenteuers übersichtlicher wird.
Verwenden Sie selbsterklärende Variablennamen.
"""
import time
welcome_message="Willkommen in Delulu-World!!\nDie virtuelle Welt der Wahnhaften."
ask_name="Was ist dein Name?"
ask_age="Was alter?"
ask_sexual_preference="was du bums?"
ask_what_you_do="Was mchst du?"
def meet_cute():
print("""
Du bist in einer öffentlichen Bibliothek. Du hast einen Haufen Bücher, den dir deine Sicht verdeckt,
also siehst du die Person die dir entgegen kommt nicht.
""")
time.sleep(1.5)
print("WUUUUMMMMMMSSS")
situation_head_over_heels="""
Dir fehlen die Worte. Noch nie ist dir eine solch atemberaubende Person ins
Leben getreten. Schnell, deine Traumperson wartet auf eine Antwort!
"""
situation_throw_book = """
Du wirfst dein Buch!!!
"""
situation_get_hurt_bad = "Aua, was soll das!?!"
action_throw_book = "Werfe dein buch nach der Person."
action_introduce_self = "Stelle dich selbst vor."
action_ask_age = "Wie alt bist du?"
gender_male="Mänlich"
gender_female="Weiblich"
gender_other="Nonbinär"
names = {
gender_male: ["Hans", "Peter", "Mika", "Ueli"],
gender_female: ["Liselotte", "Gretli", "Rebi"],
gender_other: ["Kim", "Sky", "Raven"],
}
err_not_a_number="Bitte gib nummere"

123
Toolbox.py Normal file
View File

@ -0,0 +1,123 @@
import time
from colors import MAGENTA, BLUE, RESET
from Texte import *
""""
Hier finden Sie Funktionen, die Sie für Ihr eigenes Abenteuer nutzen können.
Die Funktionen sind auch auf OneNote dokumentiert.
"""
import random
def randomInRange(untergrenze, obergrenze):
"""Generiert einen zufälligen Wert innerhalb vorgegebener Grenzen"""
return random.randint(untergrenze, obergrenze)
def testeObInListe(liste, ding):
"""Überprüft, ob ein Element in einer Liste vorhanden ist und gibt entsprechend Rückmeldung"""
if ding in liste:
return True
else:
print("Leider existiert", ding, "nicht - jedenfalls nicht hier...")
return False
def zeigeListe(listeDerOptionen):
"""Zeigt eine Liste von Optionen nummeriert an."""
for i, element in enumerate(listeDerOptionen):
print(f"{i + 1}. {element}")
def wähleAusListe(listeDerOptionen):
"""Lässt Benutzer*innen eine Option aus einer Liste auswählen und gibt die gewählte Option zurück."""
zeigeListe(listeDerOptionen)
# Eingabe der gewünschten Option durch den Nutzer
auswahl = int(input("Für welche Option entscheiden Sie sich?"))
# Überprüfung, ob die eingegebene Option wählbar ist
if auswahl < 1 or auswahl > len(listeDerOptionen):
print("Ungültige Auswahl. Bitte versuchen Sie es erneut.")
return wähleAusListe(listeDerOptionen)
else:
# return element not number
return listeDerOptionen[auswahl - 1]
def pressForward():
"""Hält das Ausführend des Programms an, bis der Benutzer eine Taste drückt."""
input("\n-----------Drücke eine beliebige Taste fürs Weiterfahren.-----------")
# Why Pascal case???
def AbenteuerAbbrechen():
"""Beendet das Abenteuer vorzeitig und bricht die Ausführung des Programms ab."""
print("Das Spiel ist leider zu Ende.")
exit()
def AbenteuerEnde():
"""Markiert das erfolgreiche Ende des Abenteuers."""
print("Nach zahlreichen Strapazen haben Sie es geschafft!")
pressForward()
print("Sie sind rechtzeitig in die heutige Informatik-Lektion gekommen!")
pressForward()
print("Mit einem seligen Lächeln geben Sie sich den spannenden Inhalten hin :-)")
pressForward()
print("::::::::::::::::THE END::::::::::::::::")
def blue(s):
return BLUE + s + RESET
def magenta(s):
return MAGENTA + s + RESET
def askUser(question):
while True:
answer = input(question + " ")
if answer != "":
return answer
def askUserInt(question):
while True:
try:
return int(askUser(question + " "))
except:
print(err_not_a_number)
class RomanticInterest():
def __init__(self, gender):
self.name = random.choice(names.get(gender, names[gender_other]))
self.gender = gender
self.rom_goals = 200
self.rom_points = 50
def introduce(self):
print(magenta("oh..."))
print(magenta("Hallo du!"))
time.sleep(0.7)
print(magenta("Mein name ist " + self.name + "."))
time.sleep(0.5)
## only print pronouns if nonbinary otherwise clear from name
if self.gender == gender_other:
print("Und BTW meine Pronomen sind: they/them.")
def react_to(self, action):
if action == action_ask_age:
print(magenta("Ich bin 17 jahre alt!"))
self.rom_points -= 20
elif action == action_throw_book:
print(magenta(situation_get_hurt_bad))
self.rom_points -= 100
elif action == action_introduce_self:
print(magenta("Hallo du"))
self.rom_points += 50

247
bin/Activate.ps1 Normal file
View 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"

70
bin/activate Normal file
View File

@ -0,0 +1,70 @@
# 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
# Call hash to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected
hash -r 2> /dev/null
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
# on Windows, a path can contain colons and backslashes and has to be converted:
if [ "${OSTYPE:-}" = "cygwin" ] || [ "${OSTYPE:-}" = "msys" ] ; then
# transform D:\path\to\venv to /d/path/to/venv on MSYS
# and to /cygdrive/d/path/to/venv on Cygwin
export VIRTUAL_ENV=$(cygpath "/home/schreifuchs/dev/lous-thing")
else
# use the path as-is
export VIRTUAL_ENV="/home/schreifuchs/dev/lous-thing"
fi
_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="(lous-thing) ${PS1:-}"
export PS1
VIRTUAL_ENV_PROMPT="(lous-thing) "
export VIRTUAL_ENV_PROMPT
fi
# Call hash to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected
hash -r 2> /dev/null

27
bin/activate.csh Normal file
View File

@ -0,0 +1,27 @@
# 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/schreifuchs/dev/lous-thing"
set _OLD_VIRTUAL_PATH="$PATH"
setenv PATH "$VIRTUAL_ENV/bin:$PATH"
set _OLD_VIRTUAL_PROMPT="$prompt"
if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
set prompt = "(lous-thing) $prompt"
setenv VIRTUAL_ENV_PROMPT "(lous-thing) "
endif
alias pydoc python -m pydoc
rehash

69
bin/activate.fish Normal file
View 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/schreifuchs/dev/lous-thing"
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) "(lous-thing) " (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 "(lous-thing) "
end

8
bin/normalizer Executable file
View File

@ -0,0 +1,8 @@
#!/home/schreifuchs/dev/lous-thing/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from charset_normalizer.cli import cli_detect
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(cli_detect())

8
bin/pip Executable file
View File

@ -0,0 +1,8 @@
#!/home/schreifuchs/dev/lous-thing/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
bin/pip3 Executable file
View File

@ -0,0 +1,8 @@
#!/home/schreifuchs/dev/lous-thing/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
bin/pip3.12 Executable file
View File

@ -0,0 +1,8 @@
#!/home/schreifuchs/dev/lous-thing/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())

1
bin/python Symbolic link
View File

@ -0,0 +1 @@
python3

1
bin/python3 Symbolic link
View File

@ -0,0 +1 @@
/usr/bin/python3

1
bin/python3.12 Symbolic link
View File

@ -0,0 +1 @@
python3

8
bin/tqdm Executable file
View File

@ -0,0 +1,8 @@
#!/home/schreifuchs/dev/lous-thing/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from tqdm.cli import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(main())

18
colors.py Normal file
View File

@ -0,0 +1,18 @@
BLACK = '\033[30m'
RED = '\033[31m'
GREEN = '\033[32m'
YELLOW = '\033[33m' # orange on some systems
BLUE = '\033[34m'
MAGENTA = '\033[35m'
CYAN = '\033[36m'
LIGHT_GRAY = '\033[37m'
DARK_GRAY = '\033[90m'
BRIGHT_RED = '\033[91m'
BRIGHT_GREEN = '\033[92m'
BRIGHT_YELLOW = '\033[93m'
BRIGHT_BLUE = '\033[94m'
BRIGHT_MAGENTA = '\033[95m'
BRIGHT_CYAN = '\033[96m'
WHITE = '\033[97m'
RESET = '\033[0m' # called to return to standard terminal text color

1
lib64 Symbolic link
View File

@ -0,0 +1 @@
lib

29
main.py Normal file
View File

@ -0,0 +1,29 @@
from Texte import *
from Toolbox import *
from user import User
print(welcome_message)
user = User()
interest = RomanticInterest(user.preference)
meet_cute()
pressForward()
interest.introduce()
pressForward()
print(situation_head_over_heels)
pressForward()
print(ask_what_you_do)
action = wähleAusListe([action_throw_book, action_introduce_self, action_ask_age])
user.do_action(action)
pressForward()
interest.react_to(action)

5
pyvenv.cfg Normal file
View File

@ -0,0 +1,5 @@
home = /usr/bin
include-system-site-packages = false
version = 3.12.7
executable = /usr/bin/python3.12
command = /usr/bin/python3 -m venv /home/schreifuchs/dev/lous-thing

21
user.py Normal file
View File

@ -0,0 +1,21 @@
from Toolbox import *
from Texte import *
class User:
def __init__(self):
self.name = askUser(ask_name)
self.age = askUserInt(ask_age)
print(ask_sexual_preference)
self.preference = wähleAusListe([gender_male, gender_female, gender_other])
def __str__(self):
return self.name + str(self.age) + self.preference
def do_action(self, action):
if action == action_ask_age:
print(blue(ask_age))
elif action == action_throw_book:
print(blue(situation_throw_book))
elif action == action_introduce_self:
print(blue("Hallo"))