from flask import Flask, render_template, request, jsonify import emoji import json app = Flask(__name__) # Emoji-Datenbank laden def load_emoji_data(): """Lädt alle verfügbaren Emojis mit ihren Namen und Unicode-Werten""" emoji_data = [] # Alle Emojis aus der emoji-Bibliothek holen for emoji_char, emoji_info in emoji.EMOJI_DATA.items(): # emoji_info ist ein Dictionary mit verschiedenen Sprachen emoji_name = emoji_info.get('en', '').replace(':', '') if emoji_name: # Unicode für das erste Zeichen des Emojis (für zusammengesetzte Emojis) unicode_value = ord(emoji_char[0]) emoji_data.append({ 'name': emoji_name, 'char': emoji_char, 'unicode': f"U+{unicode_value:04X}", 'description': emoji_name.replace('_', ' ').title(), 'de': emoji_info.get('de', '').replace(':', '') # Deutsche Namen hinzufügen }) return emoji_data # Emoji-Daten beim Start laden EMOJI_DATABASE = load_emoji_data() @app.route('/') def index(): return render_template('index.html') @app.route('/search') def search_emojis(): query = request.args.get('q', '').lower() if not query: return jsonify([]) # Emojis nach Suchbegriff filtern results = [] for emoji_item in EMOJI_DATABASE: # Suche in englischen Namen und Beschreibungen if (query in emoji_item['name'].lower() or query in emoji_item['description'].lower()): results.append(emoji_item) continue # Suche in deutschen Namen (falls verfügbar) if 'de' in emoji_item and query in emoji_item['de'].lower(): results.append(emoji_item) # Ergebnisse begrenzen für bessere Performance return jsonify(results[:50]) @app.route('/api/emojis') def get_all_emojis(): """API-Endpoint für alle Emojis (für Debugging)""" return jsonify(EMOJI_DATABASE) if __name__ == '__main__': app.run(debug=True, host='0.0.0.0', port=5000)