more translations fixed
This commit is contained in:
parent
c886d5f28e
commit
d3eb37ebff
15 changed files with 170 additions and 155 deletions
|
@ -23,4 +23,5 @@ RUN groupadd -g $GID appuser && useradd -u $UID -g $GID -m appuser && ch
|
|||
USER appuser
|
||||
|
||||
EXPOSE 5000
|
||||
CMD ["python", "app.py"]
|
||||
|
||||
CMD ["gunicorn", "-b", "0.0.0.0:5000", "app:app"]
|
||||
|
|
|
@ -59,7 +59,7 @@ load_dotenv(override=True)
|
|||
# Lade Umgebungsvariablen aus .env mit override
|
||||
load_dotenv(override=True)
|
||||
|
||||
# Konfiguration
|
||||
# App-Configuration
|
||||
app.config.update(
|
||||
SECRET_KEY=os.getenv('SECRET_KEY'),
|
||||
SQLALCHEMY_DATABASE_URI=('sqlite:////app/data/games.db'),
|
||||
|
@ -74,7 +74,7 @@ app.config.update(
|
|||
|
||||
interval_hours = int(os.getenv('CHECK_EXPIRING_KEYS_INTERVAL_HOURS', 12))
|
||||
|
||||
# Initialisierung
|
||||
# Initialisation
|
||||
db = SQLAlchemy(app, metadata=metadata)
|
||||
migrate = Migrate(app, db)
|
||||
login_manager = LoginManager(app)
|
||||
|
@ -98,7 +98,7 @@ def inject_template_vars():
|
|||
theme='dark' if request.cookies.get('dark_mode') == 'true' else 'light'
|
||||
)
|
||||
|
||||
# Datenbankmodelle
|
||||
# DB Models
|
||||
class User(db.Model, UserMixin):
|
||||
__tablename__ = 'users'
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
|
@ -429,7 +429,7 @@ def export_pdf():
|
|||
game.redeem_date.strftime('%d.%m.%y') if game.redeem_date else ''
|
||||
])
|
||||
|
||||
# Tabelle formatieren
|
||||
# Table format
|
||||
table = Table(data, colWidths=col_widths, repeatRows=1)
|
||||
table.setStyle(TableStyle([
|
||||
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
|
||||
|
@ -653,7 +653,7 @@ def check_expiring_keys():
|
|||
send_notification(user, game)
|
||||
|
||||
|
||||
# Optional: Cleanup-Funktion für regelmäßiges Löschen abgelaufener Tokens
|
||||
# Optional: cleaning up old tokens
|
||||
def cleanup_expired_tokens():
|
||||
now = datetime.utcnow()
|
||||
expired = RedeemToken.query.filter(RedeemToken.expires < now).all()
|
||||
|
@ -662,13 +662,13 @@ def cleanup_expired_tokens():
|
|||
db.session.commit()
|
||||
|
||||
|
||||
# Scheduler initialisieren und starten
|
||||
# Scheduler start
|
||||
scheduler = BackgroundScheduler()
|
||||
scheduler.add_job(func=check_expiring_keys, trigger="interval", hours=interval_hours)
|
||||
scheduler.add_job(func=cleanup_expired_tokens, trigger="interval", hours=1)
|
||||
scheduler.start()
|
||||
|
||||
# Shutdown des Schedulers bei Beendigung der App
|
||||
# Shutdown of the Schedulers when stopping the app
|
||||
atexit.register(lambda: scheduler.shutdown())
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -14,3 +14,4 @@ matrix-client
|
|||
reportlab
|
||||
requests
|
||||
pillow
|
||||
gunicorn
|
||||
|
|
|
@ -42,7 +42,7 @@ body {
|
|||
color: #ff6b6b;
|
||||
}
|
||||
|
||||
/* Progressbar-Animationen */
|
||||
/* Progressbar-Animations */
|
||||
#expiry-bar {
|
||||
transition: width 1s linear, background-color 0.5s ease;
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<div class="col-md-6">
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-body text-center">
|
||||
<img src="{{ url_for('static', filename='logo.png') }}" alt="Logo" width="311" height="240" class="mb-4" style="object-fit:contain;">
|
||||
<img src="{{ url_for('static', filename='logo.png') }}" alt="Logo" width="266" height="206" class="mb-4" style="object-fit:contain;">
|
||||
<h2 class="card-title mb-4">{{ _('Login') }}</h2>
|
||||
<form method="POST">
|
||||
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
|
||||
|
|
|
@ -84,7 +84,7 @@ function updateCountdown() {
|
|||
updateProgressBar(percent);
|
||||
}
|
||||
|
||||
// Initialisierung
|
||||
// run countdown
|
||||
updateCountdown();
|
||||
const timer = setInterval(updateCountdown, 1000);
|
||||
</script>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue