Untitled
unknown
python
18 days ago
2.2 kB
5
Indexable
import pyperclip import re import threading import time from flask import Flask, jsonify from flask_cors import CORS # Inicjalizacja aplikacji Flask app = Flask(__name__) json_data = {} # Globalna zmienna przechowująca aktualne dane JSON CORS(app) # Dodanie obsługi CORS dla całej aplikacji # Funkcja odczytująca dane z systemowego schowka i przekształcająca je w JSON def parse_clipboard_data(): clipboard_data = pyperclip.paste() sections = re.split(r"\*\* (.+?) \*\*", clipboard_data) if not sections or len(sections) < 2: return {} data = {} for i in range(1, len(sections), 2): # Ta iteracja obsługuje sekcje i ich zawartość section_name = sections[i].strip() section_content = sections[i + 1] section_dict = {} for line in section_content.splitlines(): line = line.strip() if line and "=" in line: key, value = map(str.strip, line.split("=")) try: value = float(value.replace(",", ".")) except ValueError: pass section_dict[key] = value data[section_name] = section_dict return data # Funkcja do regularnej aktualizacji JSONa (co 150 ms) def update_json_data(): global json_data while True: # Parsuj nowe dane z systemowego schowka parsed_data = parse_clipboard_data() if parsed_data: # Aktualizuj dane JSON tylko, jeśli są poprawne json_data = parsed_data time.sleep(0.15) # Czekaj 150 ms # Endpoint API: zwraca aktualny JSON @app.route('/data', methods=['GET']) def get_data(): global json_data return jsonify(json_data) # Zwracaj aktualnego JSONa w odpowiedzi # Funkcja główna do uruchamiania aplikacji Flask def run_flask(): app.run(host='0.0.0.0', port=5000, debug=False) # Uruchamia serwer na porcie 5000 # Główne uruchomienie if __name__ == '__main__': # Wątek 1: Aktualizowanie danych JSON co 150 ms threading.Thread(target=update_json_data, daemon=True).start() # Wątek 2: Uruchomienie serwera Flask run_flask()
Editor is loading...
Leave a Comment