From 9f6aa9e00e2ff26550c41e39fa9390c6e37fd893 Mon Sep 17 00:00:00 2001 From: Stef Date: Fri, 25 Apr 2025 16:41:17 +0200 Subject: [PATCH] Removing a lot of temp or random files --- __pycache__/models.cpython-312.pyc | Bin 1844 -> 0 bytes __pycache__/models.cpython-313.pyc | Bin 1929 -> 0 bytes __pycache__/server.cpython-312.pyc | Bin 2695 -> 0 bytes __pycache__/server.cpython-313.pyc | Bin 3064 -> 0 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 667 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 734 -> 0 bytes .../__pycache__/models.cpython-313.pyc | Bin 1941 -> 0 bytes .../image_processing.cpython-313.pyc | Bin 869 -> 0 bytes .../api/__pycache__/views.cpython-313.pyc | Bin 1495 -> 0 bytes image.jpg | Bin 18236 -> 0 bytes instance/data.sqlite | Bin 57344 -> 0 bytes migrations/README | 1 - migrations/__pycache__/env.cpython-312.pyc | Bin 4506 -> 0 bytes migrations/alembic.ini | 50 -------- migrations/env.py | 113 ------------------ migrations/script.py.mako | 24 ---- .../__pycache__/dcedd32468e2_.cpython-312.pyc | Bin 1907 -> 0 bytes migrations/versions/dcedd32468e2_.py | 40 ------- 18 files changed, 228 deletions(-) delete mode 100644 __pycache__/models.cpython-312.pyc delete mode 100644 __pycache__/models.cpython-313.pyc delete mode 100644 __pycache__/server.cpython-312.pyc delete mode 100644 __pycache__/server.cpython-313.pyc delete mode 100644 application/__pycache__/__init__.cpython-312.pyc delete mode 100644 application/__pycache__/__init__.cpython-313.pyc delete mode 100644 application/__pycache__/models.cpython-313.pyc delete mode 100644 application/api/__pycache__/image_processing.cpython-313.pyc delete mode 100644 application/api/__pycache__/views.cpython-313.pyc delete mode 100644 image.jpg delete mode 100644 instance/data.sqlite delete mode 100644 migrations/README delete mode 100644 migrations/__pycache__/env.cpython-312.pyc delete mode 100644 migrations/alembic.ini delete mode 100644 migrations/env.py delete mode 100644 migrations/script.py.mako delete mode 100644 migrations/versions/__pycache__/dcedd32468e2_.cpython-312.pyc delete mode 100644 migrations/versions/dcedd32468e2_.py diff --git a/__pycache__/models.cpython-312.pyc b/__pycache__/models.cpython-312.pyc deleted file mode 100644 index 9d39389096cc0357ce89208dfb04e992c7cf8add..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1844 zcmbtU&2Jl35P!Sg_1bGYAx@p(n1+-Hi9HaZkcyBZB+`<^s4F!GIu|=7cv+R8BN$y^yP%F{0ZROStd!v@mJz$k>TCme!KFYxbsA(-!>kNT) z1uE9ZAofUma=LN99ggqE50eMU=3;B*Xys(-GWia0H8*#o_4;w^(@c91J#v0YFWoYyjnUCWp^i@SPJFkOa{nohX?~?F-+_ z?de&VqV1V?_JtqDUEDJYx2BA<2yA3ng)9cbiK(iM72pxvr8FDIh0r~$94LJ@i>9<% zshCtNJ7Q5Y;pg0k1fUeWFB9^x%;sPxyMe+b8s43~=?gs5Lf!#=Z`^8ZwkKwq@mBIE zdA#`S&eJ=;CN3vFYJAZio8HeK8VANP|4e==pFF-;zF7QY`M2fYS1!jgjdgfoa`vBa zNSyy`Jl+vu?gYtXsw1HmBJrsnu6gI<(IZ6nG3mYqE2Bi$c`6in=%zwetP6_hL_hOL z;C2uvcGa?6v9 zc^jmim;p%TKBU2Gc(PlV`dt)rD6WBljgO(g53rE&2*!M4vmbTG&FnOPcyE2O8 z!5h)4RnsVFwoxg2ZBN|92IVy;7h*T{=y6Wy6R(ec%HD@;SRdAhAUXk#pFHR-9kg^+B9)Wp=s*aPOOGJ2Ye7LD`~B+yIQ$# zR}H=i3Z*p(c2kUAtn5>ift4g+C_P(p>&Z7{XsQFx7@I$BS zFfO_ko}wXh{VG@1F)u!7SwU!rZrQR!Fq9gh6M#S7SqDDCr^~a&`+>uPVi1-Z4~jSI zbIReuC(A|1)$xMM>l+NqjTj2SyTHC8t%2d@omM)tmEX*7 zPwmcrJG(!9n7-1y(K2#d3!4kurCs;2`@Q&GZQnUGroa4{T}+~!>$nP9q|P&7|GVQ7 zmH&IksRRhQfJvOE2{Ln{pvpCgWyT0K0PF@;i&=noZaPKNBVf3yS8dO$KX58#?0iBZ z2x#pf(00g5ua{WJ$`$Vfv4pIQd$=>ADmf4erW8kh4OCpm;fpgeWiAJfx7t0I;g$f; z90y`~bO89ez6&Vi1KmO{C(1r_7y#BJZG#MrKGa*oV-Jni$i$Gi~l&YtOr>yFrKxn5a%WyiU{=#2b60!A?am!F`_VBy-}}wj_q@0)%M^HqrxPZ zmiY4I5}4WR7=ui zmuPDfVDa&I@;U4$ed@dcmcL>jaXBqg88OCERAFj0WvblxFa}5b6uknjJbP9ZME6`y zf`gr)96<-~`8;&0gk1vVfe?8CG$-LNk^}TQfkAYgeDLfsrx=JpgJawzt-+B;dR*)~ zpeUHy-!++#7QuNHVB|#8gkXK)jkz-8~X1>0$HUG{0 cF#++|$O@C&gU1Ax<8fIS-JbcKz!K&3Cp$-m0ssI2 diff --git a/__pycache__/server.cpython-312.pyc b/__pycache__/server.cpython-312.pyc deleted file mode 100644 index 07a4acd4ca22ee0ad0faaee7bb76d780da803821..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2695 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 X2ebEQcY5}$=ff3t9Q=lDJgxo(3srQh diff --git a/application/__pycache__/__init__.cpython-312.pyc b/application/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 5f9b41b27dcdd6557d1faeac01423935ba781851..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 667 zcmZ`$zi-n(7`?M&J8_5VFAt68zff@#;Dk^dlhgfYINZg^3rITY{9jE>g{G-U7 zQgxtXHYEN7)Rq5&g@`3ODFb3+19fBK9Ji=Tzv0t+_rCky)7{rnNd&ZxKjnu31mI^% zt}1s4F1}Fk5tzV)4sc-~!W1(Oncrh|C*w9rTR8% zcN$7lsY|NT+3k^)!O_SVhKY4##))BtNo*O^QLcAo6>ZD=yOkp04$@EoOCyrf5+gTD z7o<;5%GnvsqGvG!E`tpiCn}O%^ kdoMD2R-1u4^cr8DvZrXm{19(XA5Mes;@uM=SfK|001D5n{{R30 diff --git a/application/__pycache__/__init__.cpython-313.pyc b/application/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index a67508c6877d8a2fa0601de913cbbd2b3ac2f98f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 734 zcmZ`%KX21O96iT&>^KQ3;!g`ms1#6%Kn(*~stV-h4@ul4ZJZ93PC7Y`>$oI#I6DC| zrOH4Tq%3?0J_cU^5wS!kWk5`9R9P4~$0_R4-*9^G-s!z}x|=7H5}@<2$iKdD>P;$!c(PFI&u4 zj!;f+$h)$dM~C%Nf!x2OH0p9zL6usrR48TTMyXa+$&KdVL~pykIcW8L-E{rFsng_q zww`YwC4W>+T_gN)P!6-SDoHLd>V_?G@Hk{8+@oEzurB6HEhp?uPv|G zZ^C`-oEW-Ssx=^W>{za1Y(__QT`W}BY0gtEY7Z>#D1U#GGdmhrWoe5Yw7eRDo e%#P47@>9A#emKTIq`O0bx`~O=;FQC+Y1lusZoAe1 diff --git a/application/__pycache__/models.cpython-313.pyc b/application/__pycache__/models.cpython-313.pyc deleted file mode 100644 index ae0733a46f7a3ecafe70cd3034ed56754cc53376..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1941 zcmbtU&1)N15P$n6tyU}fE4CxMO&z$u||b_{&vomkz&Aj=| z>*R780s7@(_Ol_0kl*kpA>~BqFc5YKB~-Xg76~I`D2um+MUjbP#M>`eRnKI>5trBU|pjFRkQ`L;29if{caJ6EGPUzMgki|-=jOv6=liUW) z4lxN6C}AQMm_$V;o60>s+1g#l3F!0P|3so9m9C3S{THwPWN&wc^5tnE{-+8}K?IGa zS+=Sg8Lr&*Ao(M_mt{ylyUyI2%{HvhosFY6K{9A2=*9gRsl+M9j~EKUyTHCCt%2d@ zomM8hRoE={8Wl&M#!4HCa@l= zvEFLd$Z_pXy;^lD3!zgx!XEH!R}suHoK-_)S+wM#DPKCwsyM55!wcCEC>f3#PureX zf8bQgh=PPf5YXB|(Cv_wUN5nbm8;$fdI?z>^KfTGRdOH{4JnTN8mPF2gBWLI$XpH_ zZ?$_a!z}@xIR?ZE=m1c5eHReP2fBq^NtAu)FaWGc+Bz8;eWbO9FFn#*Bjb;IqK3oa z7?h18!vc$jFlY3!9RB0{vL0l;zk)DhYSb8Me0 ztF{Ms7!@YL=q1|P1Xz4Lo_r4bNuN4zfaR~)M_f*cR7Q-k6jfNdnljQ{|0o7W{4Bi! zt~_^E6-4)3PJ)A-pd3L5@A*7*s)Stz<$(}+0W>GzFOmcFI)OoSoqX`@F{c=aK!ao4 zB(1@b$68$MJD?~U>fbe*VY%!rWdGQux6z6W>x&SEU7BbvwPisW-7CK&u*4_fuA-5S zo1Z=Ng2ivBvV`wg{Dwunk3ydZ1y|pXU+E7Rjy%p%^vty-K@eV$S6`5kV^tESznR^d fe>i_kKs?rS!o>FAF@fcHOcqABr~e?ZL^=Hlm`;j) diff --git a/application/api/__pycache__/image_processing.cpython-313.pyc b/application/api/__pycache__/image_processing.cpython-313.pyc deleted file mode 100644 index 6701ef09fed05b28b41eecf8623f67b90189ea7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 869 zcmYjQ&r2IY6n?Y6OpMW_qLg4|O?&8uYA-E?QVJ<8Z4{!o&B>LJtYfm8{lV<4lAJ<& z=~)n^rykos!~Z~0Xql!^s26XR&_i#XN!{p!o%g->X1?#u+ueRTJqq0XkE!M!0{A6@ z*pw^KFL1CACYWdm77;yUi)p2VL z%rt^&L_C|z3{6P9=TE=Km%E^InYCfvM31kq4r@|;W;JdrPH>-x3dDOobb~>Pvz$ST z53D9)bnQ9AP_4wT*OUQv(7s$&$H0>+l061DJCm<@8_HTL=BY@gs`4PN-h%{`=bp%$ z$k582DYLfYcny8iX8r3hD3UCf5i<(c`EmhW=qbtL(YZ4v-^)%OE}r1WaM@)kv<+@I7>YIHjzC~jelq#&Yn!% zKTR3Oit#%Q*@eI1Ew1pcs1+ZeqXa4zl%r&xV?M6bjlKtSBH}M#YF&(uq&Xh6`33qM y0?CMC;+gAjL@oTBO!H8DnBgp6E@gz!519E5$xAJT3Ww1paQAugk8os)Z}|u6M#?Av diff --git a/application/api/__pycache__/views.cpython-313.pyc b/application/api/__pycache__/views.cpython-313.pyc deleted file mode 100644 index f61e311e97a4f37016905b8f34af92380560eea5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1495 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 diff --git a/migrations/README b/migrations/README deleted file mode 100644 index 0e04844..0000000 --- a/migrations/README +++ /dev/null @@ -1 +0,0 @@ -Single-database configuration for Flask. diff --git a/migrations/__pycache__/env.cpython-312.pyc b/migrations/__pycache__/env.cpython-312.pyc deleted file mode 100644 index fb56cec1c3e5af0e6764863ce5b7c7d61e4e1328..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4506 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 diff --git a/migrations/alembic.ini b/migrations/alembic.ini deleted file mode 100644 index ec9d45c..0000000 --- a/migrations/alembic.ini +++ /dev/null @@ -1,50 +0,0 @@ -# A generic, single database configuration. - -[alembic] -# template used to generate migration files -# file_template = %%(rev)s_%%(slug)s - -# set to 'true' to run the environment during -# the 'revision' command, regardless of autogenerate -# revision_environment = false - - -# Logging configuration -[loggers] -keys = root,sqlalchemy,alembic,flask_migrate - -[handlers] -keys = console - -[formatters] -keys = generic - -[logger_root] -level = WARN -handlers = console -qualname = - -[logger_sqlalchemy] -level = WARN -handlers = -qualname = sqlalchemy.engine - -[logger_alembic] -level = INFO -handlers = -qualname = alembic - -[logger_flask_migrate] -level = INFO -handlers = -qualname = flask_migrate - -[handler_console] -class = StreamHandler -args = (sys.stderr,) -level = NOTSET -formatter = generic - -[formatter_generic] -format = %(levelname)-5.5s [%(name)s] %(message)s -datefmt = %H:%M:%S diff --git a/migrations/env.py b/migrations/env.py deleted file mode 100644 index 4c97092..0000000 --- a/migrations/env.py +++ /dev/null @@ -1,113 +0,0 @@ -import logging -from logging.config import fileConfig - -from flask import current_app - -from alembic import context - -# this is the Alembic Config object, which provides -# access to the values within the .ini file in use. -config = context.config - -# Interpret the config file for Python logging. -# This line sets up loggers basically. -fileConfig(config.config_file_name) -logger = logging.getLogger('alembic.env') - - -def get_engine(): - try: - # this works with Flask-SQLAlchemy<3 and Alchemical - return current_app.extensions['migrate'].db.get_engine() - except (TypeError, AttributeError): - # this works with Flask-SQLAlchemy>=3 - return current_app.extensions['migrate'].db.engine - - -def get_engine_url(): - try: - return get_engine().url.render_as_string(hide_password=False).replace( - '%', '%%') - except AttributeError: - return str(get_engine().url).replace('%', '%%') - - -# add your model's MetaData object here -# for 'autogenerate' support -# from myapp import mymodel -# target_metadata = mymodel.Base.metadata -config.set_main_option('sqlalchemy.url', get_engine_url()) -target_db = current_app.extensions['migrate'].db - -# other values from the config, defined by the needs of env.py, -# can be acquired: -# my_important_option = config.get_main_option("my_important_option") -# ... etc. - - -def get_metadata(): - if hasattr(target_db, 'metadatas'): - return target_db.metadatas[None] - return target_db.metadata - - -def run_migrations_offline(): - """Run migrations in 'offline' mode. - - This configures the context with just a URL - and not an Engine, though an Engine is acceptable - here as well. By skipping the Engine creation - we don't even need a DBAPI to be available. - - Calls to context.execute() here emit the given string to the - script output. - - """ - url = config.get_main_option("sqlalchemy.url") - context.configure( - url=url, target_metadata=get_metadata(), literal_binds=True - ) - - with context.begin_transaction(): - context.run_migrations() - - -def run_migrations_online(): - """Run migrations in 'online' mode. - - In this scenario we need to create an Engine - and associate a connection with the context. - - """ - - # this callback is used to prevent an auto-migration from being generated - # when there are no changes to the schema - # reference: http://alembic.zzzcomputing.com/en/latest/cookbook.html - def process_revision_directives(context, revision, directives): - if getattr(config.cmd_opts, 'autogenerate', False): - script = directives[0] - if script.upgrade_ops.is_empty(): - directives[:] = [] - logger.info('No changes in schema detected.') - - conf_args = current_app.extensions['migrate'].configure_args - if conf_args.get("process_revision_directives") is None: - conf_args["process_revision_directives"] = process_revision_directives - - connectable = get_engine() - - with connectable.connect() as connection: - context.configure( - connection=connection, - target_metadata=get_metadata(), - **conf_args - ) - - with context.begin_transaction(): - context.run_migrations() - - -if context.is_offline_mode(): - run_migrations_offline() -else: - run_migrations_online() diff --git a/migrations/script.py.mako b/migrations/script.py.mako deleted file mode 100644 index 2c01563..0000000 --- a/migrations/script.py.mako +++ /dev/null @@ -1,24 +0,0 @@ -"""${message} - -Revision ID: ${up_revision} -Revises: ${down_revision | comma,n} -Create Date: ${create_date} - -""" -from alembic import op -import sqlalchemy as sa -${imports if imports else ""} - -# revision identifiers, used by Alembic. -revision = ${repr(up_revision)} -down_revision = ${repr(down_revision)} -branch_labels = ${repr(branch_labels)} -depends_on = ${repr(depends_on)} - - -def upgrade(): - ${upgrades if upgrades else "pass"} - - -def downgrade(): - ${downgrades if downgrades else "pass"} diff --git a/migrations/versions/__pycache__/dcedd32468e2_.cpython-312.pyc b/migrations/versions/__pycache__/dcedd32468e2_.cpython-312.pyc deleted file mode 100644 index 23db21993a952f9b81ce415cf7cb3337378ca732..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1907 zcmdTFO>f*p)L&~m&TdpnrASGUOyR()N(tND5>^!wN%+{N$wsu5(8`kK^-LW{{@BjU zHkeZ)A;GZ~l|q$Dy%wd1B9Pz*a6sY$Vi9P{4KBSEw!Ls-#$FS*4T{uTM|yAGyf^R7 zdww7Op;9pfwl41IYpaSN{J{_Tl19XEjuG1e5IO=7ffR_L)R9C^%YoccfYK=exuY`B z80et%vCtU;xq*B~lq2;1AcjSJ$ zl^K>948LPhZ3{%qh3k2gIfLy$B&GbguIAL<4y1xy-{a@h?uY>LZDp6g%2q*RKZ~V; zJk3a^m1CgZ)^ z2%K&JX{pBr_g-P&i}BR}MjlzC<7Z>fgP=uVh^YbCjf_DxCo@OI*{Vb*FhrLjvH`s4 z^aFx;omUOS%bAwlv^{N-J|kg=sta+@4r-%Te*4VTGoPKk)fgzRCYE` zR$hFdDJAuRA(XV#*mABG+?c<)bbV=O`Oez|rI~a68;5UBU7y-H`gQjk?@RAn_p9Lh z3j^g`E`KT)9*(Oe6-~3C9+`VQT^xoVFm&+T%e&~nIq~0QNo!GFL45omUY}Jds}TdB zxR+H3n&Lw48#>Am9Ru-3l%>OD=a(5^ekDuC^49W|nSo;R&%x z+vc?j!>;d+-olpxCvewbm>@nKsE$Ve7+T?P*?Y$>aw2!lW(@)ZUjDELBY^EVN-G1I zO#5+n_0wSt`T=|s@lN7X7}prOFN>o1m!yiy!wEs0yemxJ*M;)brvBTZBb${BRi4{4 Q{#GlZIy@$eFQrlZ3-d>P+yDRo diff --git a/migrations/versions/dcedd32468e2_.py b/migrations/versions/dcedd32468e2_.py deleted file mode 100644 index 82ab5ac..0000000 --- a/migrations/versions/dcedd32468e2_.py +++ /dev/null @@ -1,40 +0,0 @@ -"""empty message - -Revision ID: dcedd32468e2 -Revises: -Create Date: 2025-04-23 09:48:54.655874 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = 'dcedd32468e2' -down_revision = None -branch_labels = None -depends_on = None - - -def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('AllowedPlates', - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('plate', sa.String(length=40), nullable=False), - sa.PrimaryKeyConstraint('id') - ) - op.create_table('LoggedItems', - sa.Column('dateLogged', sa.DateTime(), nullable=False), - sa.Column('allowed', sa.Boolean(), server_default=sa.text('0'), nullable=False), - sa.Column('id', sa.Integer(), nullable=False), - sa.Column('plate', sa.String(length=40), nullable=False), - sa.PrimaryKeyConstraint('id') - ) - # ### end Alembic commands ### - - -def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('LoggedItems') - op.drop_table('AllowedPlates') - # ### end Alembic commands ###