Skip to content

Commit

Permalink
add system image option
Browse files Browse the repository at this point in the history
  • Loading branch information
inflac committed Jun 19, 2024
1 parent 2393ed1 commit c36bd81
Show file tree
Hide file tree
Showing 4 changed files with 87 additions and 18 deletions.
26 changes: 10 additions & 16 deletions html/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from dotenv import load_dotenv
from functools import wraps

from filehandler import sanitize_file, safe_file, delete_file, get_all_images_for_all_users
from filehandler import sanitize_file, safe_file, delete_file, get_all_images_for_all_users, get_uploads
from queuehandler import approve_file
from db_models import db, create_roles, create_extensions
from db_user_helper import add_user_to_users, get_user_from_users, get_users_data_for_dashboard
Expand Down Expand Up @@ -61,7 +61,7 @@
app.register_blueprint(module.blueprint, url_prefix=f'/management/extensions/{extension_name}')

# create_folder
os.makedirs("static/uploads", exist_ok=True)
os.makedirs("static/uploads/system", exist_ok=True)
os.makedirs("static/queue", exist_ok=True)

oauth = OAuth(app)
Expand Down Expand Up @@ -146,23 +146,17 @@ def logout():

@app.route('/')
def index():
uploads = os.listdir(app.config['UPLOAD_FOLDER'])

extensions = os.listdir(extensions_folder)
extension_images = {}
uploaded_images = []

for image in uploads:
extension = image.split("_", 1)[0]
if extension in extensions:
if extension not in extension_images:
extension_images[extension] = []
extension_images[extension].append(image)
else:
uploaded_images.append(image)
uploaded_images, extension_images = get_uploads(app.config['UPLOAD_FOLDER'], extensions_folder)

return render_template('index.html', uploaded_images=uploaded_images, extension_images=extension_images)

@app.route('/system')
def system():
system_images = os.listdir(os.path.join(app.config['UPLOAD_FOLDER'], "system"))

return render_template('system.html', uploaded_images=system_images)


@app.route('/dashboard')
@login_required
def dashboard():
Expand Down
19 changes: 19 additions & 0 deletions html/filehandler.py
Original file line number Diff line number Diff line change
Expand Up @@ -245,3 +245,22 @@ def get_all_images_for_all_users(queue_only=False):
all_images[username] = {'queue': queue_images, 'uploads': upload_images}

return all_images

def get_uploads(upload_folder:str, extensions_folder:str):
extension_images = {}
uploaded_images = []

extensions = os.listdir(extensions_folder)
files = os.listdir(upload_folder)

for file in files:
if os.path.isfile(os.path.join(upload_folder, file)):
extension = file.split("_", 1)[0]
if extension in extensions:
if extension not in extension_images:
extension_images[extension] = []
extension_images[extension].append(file)
else:
uploaded_images.append(file)

return uploaded_images, extension_images
50 changes: 50 additions & 0 deletions html/templates/system.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>File Upload</title>
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/style.css') }}">
</head>
<header>
<div class="menu-container">
<nav class="menu">
<a href="{{ url_for('index') }}" {% if request.path == url_for('index') %}class="selected"{% endif %}>Home</a>
<a href="{{ url_for('dashboard') }}" {% if request.path == url_for('dashboard') %}class="selected"{% endif %}>Dashboard</a>
</nav>
</div>
</header>
<body>
<h1>System images:</h1>
<div class="image-container">
{% for i in range(0, uploaded_images|length, 3) %}
<div class="image-table">
{% set image1 = uploaded_images[i] %}
{% set image2 = uploaded_images[i+1] if i+1 < uploaded_images|length else None %}
{% set image3 = uploaded_images[i+2] if i+2 < uploaded_images|length else None %}
<div class="image-row">
{% if image1 %}
<div class="image-item">
<img src="{{ url_for('static', filename='uploads/system/' + image1) }}" alt="{{ image1 }}">
</div>
{% endif %}
{% if image2 %}
<div class="image-item">
<img src="{{ url_for('static', filename='uploads/system/' + image2) }}" alt="{{ image2 }}">
</div>
{% endif %}
{% if image3 %}
<div class="image-item">
<img src="{{ url_for('static', filename='uploads/system/' + image3) }}" alt="{{ image3 }}">
</div>
{% endif %}
</div>
</div>
{% endfor %}
</div>
</body>
<footer>
<a href="{{ url_for('index') }}">Home</a> | <a href="{{ url_for('faq') }}">FAQ</a>
<p>Nextride-infobeamer by Inflac | Hackerspace-Bielefeld e.V.</p>
</footer>
</html>
10 changes: 8 additions & 2 deletions services/runner/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,16 @@ def get_image_urls(url):
return img_urls

def main(cms_url:str):
duration = 7
duration = 10
while(1):
image_urls = get_image_urls(cms_url)
for image in image_urls:
system_image_urls = image_urls = get_image_urls(cms_url + "/system")
for i, image in enumerate(image_urls):
if i % 5 == 0:
for system_image in system_image_urls:
print(system_image)
for i in range(3):
infobeamer_main("255.255.255.255", duration, system_image)
print(image)
for i in range(3):
infobeamer_main("255.255.255.255", duration, image)
Expand Down

0 comments on commit c36bd81

Please sign in to comment.