From 143e01bfb37fd86d588397053cf52f02d9916d81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ezequiel=20Tom=C3=A1s=20Moreno?= Date: Mon, 16 Sep 2024 00:30:35 +0200 Subject: [PATCH 1/9] feat: add code --- app.py | 1 + 1 file changed, 1 insertion(+) diff --git a/app.py b/app.py index 20cb25c6..b7d3b9be 100644 --- a/app.py +++ b/app.py @@ -12,6 +12,7 @@ alive = int(os.getenv('tokentimetolive', 60)) # This is a big code modification +# More code modifications # start the app with port 5000 and debug on! if __name__ == '__main__': From a1334b2df96bad22a83361a19f659039abdcac4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ezequiel=20Tom=C3=A1s=20Moreno?= Date: Mon, 16 Sep 2024 00:33:16 +0200 Subject: [PATCH 2/9] feat: more code --- app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.py b/app.py index b7d3b9be..69f420f5 100644 --- a/app.py +++ b/app.py @@ -12,7 +12,7 @@ alive = int(os.getenv('tokentimetolive', 60)) # This is a big code modification -# More code modifications +# More code modifications HERE HERE # start the app with port 5000 and debug on! if __name__ == '__main__': From b28b4fbd517bbb418b73e6cf8b8880577ac38205 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ezequiel=20Tom=C3=A1s=20Moreno?= Date: Mon, 16 Sep 2024 00:41:19 +0200 Subject: [PATCH 3/9] feeat: more code --- .DS_Store | Bin 0 -> 6148 bytes app.py | 2 +- chall/bin/Activate.ps1 | 247 ++++++++++++++++++++++++++++++++++++++++ chall/bin/activate | 69 +++++++++++ chall/bin/activate.csh | 26 +++++ chall/bin/activate.fish | 69 +++++++++++ chall/bin/connexion | 8 ++ chall/bin/flask | 8 ++ chall/bin/jsonschema | 8 ++ chall/bin/normalizer | 8 ++ chall/bin/pip | 8 ++ chall/bin/pip3 | 8 ++ chall/bin/pip3.11 | 8 ++ chall/bin/python | 1 + chall/bin/python3 | 1 + chall/bin/python3.11 | 1 + chall/pyvenv.cfg | 5 + database/database.db | Bin 0 -> 53248 bytes 18 files changed, 476 insertions(+), 1 deletion(-) create mode 100644 .DS_Store create mode 100644 chall/bin/Activate.ps1 create mode 100644 chall/bin/activate create mode 100644 chall/bin/activate.csh create mode 100644 chall/bin/activate.fish create mode 100755 chall/bin/connexion create mode 100755 chall/bin/flask create mode 100755 chall/bin/jsonschema create mode 100755 chall/bin/normalizer create mode 100755 chall/bin/pip create mode 100755 chall/bin/pip3 create mode 100755 chall/bin/pip3.11 create mode 120000 chall/bin/python create mode 120000 chall/bin/python3 create mode 120000 chall/bin/python3.11 create mode 100644 chall/pyvenv.cfg create mode 100644 database/database.db diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..2857c1f5f7bd9b974351185c43604f3b8fbbb8b8 GIT binary patch literal 6148 zcmeHK%Z}496g?iw(9Q@{X*RGxir63_QEC1lGo*_Vj|KgJGEGAVk&r+;!0fVT&6Z!_ zFOc{oR&egMr#Nn52?*KJ^>N~RY~N$YjsckC^Z6k#1kk4m_V$=WK3n?`7Q7q z(6i?FpK}z8ZEf!?0!ANmj$}of(UvH>J*YmPJbe!6U$d8&jPeccYkw7EsD;ZOFW5>I zjuWDn-^v~`uN4_>8TPD-`J5iTDn=D5dyCuj9dCqdzjARn$?K|N- z_VMo5hhJnRc=hw&);DJxZC}G9oZtb*c!CMWT^)_gsUOWQW2vcS!N|jiWLACO>-22s zDeKa%vZX%fAya49XAba`<2j<*kBQq>GNU#(JoSd0)dH_^PPL^}X}>GZ?ue`8JyzYg zWM(`3OQruF^30ah-?td^s6bR8DzH{S_J@Qfm^y4N>ej(buK>gzUu$Aneinq2I7}V3 z7Fok&ER|@f#$7RtrSpB_{8ERlMN5Zqmk;B5HtvREw0E|js5?w*G3HT$s6bbNEB0|H z=l}TE_x~;_K1Bth0{@i)rk72!V}|6;){WrgtW9XoXp+RQwWt(k?l{(h9K| 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" diff --git a/chall/bin/activate b/chall/bin/activate new file mode 100644 index 00000000..4be6a584 --- /dev/null +++ b/chall/bin/activate @@ -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="/Users/ezequieltomas.moreno/Documents/external/challenge-per/coding-challenge-personio/chall" +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="(chall) ${PS1:-}" + export PS1 + VIRTUAL_ENV_PROMPT="(chall) " + 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 diff --git a/chall/bin/activate.csh b/chall/bin/activate.csh new file mode 100644 index 00000000..f5cac3bc --- /dev/null +++ b/chall/bin/activate.csh @@ -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 . +# Ported to Python 3.3 venv by Andrew Svetlov + +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 "/Users/ezequieltomas.moreno/Documents/external/challenge-per/coding-challenge-personio/chall" + +set _OLD_VIRTUAL_PATH="$PATH" +setenv PATH "$VIRTUAL_ENV/bin:$PATH" + + +set _OLD_VIRTUAL_PROMPT="$prompt" + +if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then + set prompt = "(chall) $prompt" + setenv VIRTUAL_ENV_PROMPT "(chall) " +endif + +alias pydoc python -m pydoc + +rehash diff --git a/chall/bin/activate.fish b/chall/bin/activate.fish new file mode 100644 index 00000000..0eb4e030 --- /dev/null +++ b/chall/bin/activate.fish @@ -0,0 +1,69 @@ +# This file must be used with "source /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 "/Users/ezequieltomas.moreno/Documents/external/challenge-per/coding-challenge-personio/chall" + +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) "(chall) " (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 "(chall) " +end diff --git a/chall/bin/connexion b/chall/bin/connexion new file mode 100755 index 00000000..dfcee080 --- /dev/null +++ b/chall/bin/connexion @@ -0,0 +1,8 @@ +#!/Users/ezequieltomas.moreno/Documents/external/challenge-per/coding-challenge-personio/chall/bin/python3.11 +# -*- coding: utf-8 -*- +import re +import sys +from connexion.cli import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/chall/bin/flask b/chall/bin/flask new file mode 100755 index 00000000..026cb6c5 --- /dev/null +++ b/chall/bin/flask @@ -0,0 +1,8 @@ +#!/Users/ezequieltomas.moreno/Documents/external/challenge-per/coding-challenge-personio/chall/bin/python3.11 +# -*- coding: utf-8 -*- +import re +import sys +from flask.cli import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/chall/bin/jsonschema b/chall/bin/jsonschema new file mode 100755 index 00000000..90b5a9fe --- /dev/null +++ b/chall/bin/jsonschema @@ -0,0 +1,8 @@ +#!/Users/ezequieltomas.moreno/Documents/external/challenge-per/coding-challenge-personio/chall/bin/python3.11 +# -*- coding: utf-8 -*- +import re +import sys +from jsonschema.cli import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/chall/bin/normalizer b/chall/bin/normalizer new file mode 100755 index 00000000..01986ab6 --- /dev/null +++ b/chall/bin/normalizer @@ -0,0 +1,8 @@ +#!/Users/ezequieltomas.moreno/Documents/external/challenge-per/coding-challenge-personio/chall/bin/python3.11 +# -*- 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()) diff --git a/chall/bin/pip b/chall/bin/pip new file mode 100755 index 00000000..a46f7aec --- /dev/null +++ b/chall/bin/pip @@ -0,0 +1,8 @@ +#!/Users/ezequieltomas.moreno/Documents/external/challenge-per/coding-challenge-personio/chall/bin/python3.11 +# -*- 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()) diff --git a/chall/bin/pip3 b/chall/bin/pip3 new file mode 100755 index 00000000..a46f7aec --- /dev/null +++ b/chall/bin/pip3 @@ -0,0 +1,8 @@ +#!/Users/ezequieltomas.moreno/Documents/external/challenge-per/coding-challenge-personio/chall/bin/python3.11 +# -*- 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()) diff --git a/chall/bin/pip3.11 b/chall/bin/pip3.11 new file mode 100755 index 00000000..a46f7aec --- /dev/null +++ b/chall/bin/pip3.11 @@ -0,0 +1,8 @@ +#!/Users/ezequieltomas.moreno/Documents/external/challenge-per/coding-challenge-personio/chall/bin/python3.11 +# -*- 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()) diff --git a/chall/bin/python b/chall/bin/python new file mode 120000 index 00000000..6e7f3c7d --- /dev/null +++ b/chall/bin/python @@ -0,0 +1 @@ +python3.11 \ No newline at end of file diff --git a/chall/bin/python3 b/chall/bin/python3 new file mode 120000 index 00000000..6e7f3c7d --- /dev/null +++ b/chall/bin/python3 @@ -0,0 +1 @@ +python3.11 \ No newline at end of file diff --git a/chall/bin/python3.11 b/chall/bin/python3.11 new file mode 120000 index 00000000..2d175777 --- /dev/null +++ b/chall/bin/python3.11 @@ -0,0 +1 @@ +/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11 \ No newline at end of file diff --git a/chall/pyvenv.cfg b/chall/pyvenv.cfg new file mode 100644 index 00000000..196b4992 --- /dev/null +++ b/chall/pyvenv.cfg @@ -0,0 +1,5 @@ +home = /Library/Frameworks/Python.framework/Versions/3.11/bin +include-system-site-packages = false +version = 3.11.6 +executable = /Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11 +command = /usr/local/bin/python3 -m venv /Users/ezequieltomas.moreno/Documents/external/challenge-per/coding-challenge-personio/chall diff --git a/database/database.db b/database/database.db new file mode 100644 index 0000000000000000000000000000000000000000..0f01a22f24420493e8c558a0456be145c5ff74ca GIT binary patch literal 53248 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 literal 0 HcmV?d00001 From 6c24231557a99861722be8a531e3c1d344f798e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ezequiel=20Tom=C3=A1s=20Moreno?= Date: Mon, 16 Sep 2024 00:48:30 +0200 Subject: [PATCH 4/9] feat: add code --- app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.py b/app.py index d69fb64c..f05b184a 100644 --- a/app.py +++ b/app.py @@ -12,7 +12,7 @@ alive = int(os.getenv('tokentimetolive', 60)) # This is a big code modification -# More code modifications MORE CODE +# MORE CODE HERE! # start the app with port 5000 and debug on! if __name__ == '__main__': From cf59085287ccd271ae64bcdade4e70f2e6201769 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ezequiel=20Tom=C3=A1s=20Moreno?= Date: Mon, 16 Sep 2024 00:53:11 +0200 Subject: [PATCH 5/9] feat: change --- app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.py b/app.py index f05b184a..5598ffc7 100644 --- a/app.py +++ b/app.py @@ -12,7 +12,7 @@ alive = int(os.getenv('tokentimetolive', 60)) # This is a big code modification -# MORE CODE HERE! +# MORE CODE HERE! CHANGE CHANGE # start the app with port 5000 and debug on! if __name__ == '__main__': From e825604eee085e2da9d2c13237f312addfccd812 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ezequiel=20Tom=C3=A1s=20Moreno?= Date: Mon, 16 Sep 2024 00:55:33 +0200 Subject: [PATCH 6/9] feat: change --- app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.py b/app.py index 5598ffc7..aab6b4b1 100644 --- a/app.py +++ b/app.py @@ -12,7 +12,7 @@ alive = int(os.getenv('tokentimetolive', 60)) # This is a big code modification -# MORE CODE HERE! CHANGE CHANGE +# SOmething different # start the app with port 5000 and debug on! if __name__ == '__main__': From 6acf1e0e0910298b32682bb83ce0413c28f771cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ezequiel=20Tom=C3=A1s=20Moreno?= Date: Mon, 16 Sep 2024 01:02:26 +0200 Subject: [PATCH 7/9] feat: change --- app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.py b/app.py index aab6b4b1..5e49fe99 100644 --- a/app.py +++ b/app.py @@ -12,7 +12,7 @@ alive = int(os.getenv('tokentimetolive', 60)) # This is a big code modification -# SOmething different +# SOmething different 111111 # start the app with port 5000 and debug on! if __name__ == '__main__': From 8dee3594506d94d45f456bdab2cfcb2523107f33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ezequiel=20Tom=C3=A1s=20Moreno?= Date: Mon, 16 Sep 2024 01:05:47 +0200 Subject: [PATCH 8/9] feat: change --- app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.py b/app.py index 5e49fe99..4ad96d8d 100644 --- a/app.py +++ b/app.py @@ -12,7 +12,7 @@ alive = int(os.getenv('tokentimetolive', 60)) # This is a big code modification -# SOmething different 111111 +# SOmething different CHANGE! # start the app with port 5000 and debug on! if __name__ == '__main__': From b22eb8dc46d7547ef2b63fb371f4b665ba93f169 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ezequiel=20Tom=C3=A1s=20Moreno?= Date: Mon, 16 Sep 2024 01:12:29 +0200 Subject: [PATCH 9/9] feat: change --- app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.py b/app.py index 4ad96d8d..25754349 100644 --- a/app.py +++ b/app.py @@ -12,7 +12,7 @@ alive = int(os.getenv('tokentimetolive', 60)) # This is a big code modification -# SOmething different CHANGE! +# MORE CHANGES HERE! # start the app with port 5000 and debug on! if __name__ == '__main__':