Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
# slack_reporter/app.py –
|
| 2 |
import os
|
| 3 |
import time
|
| 4 |
import schedule
|
|
@@ -19,38 +19,10 @@ logging.basicConfig(
|
|
| 19 |
|
| 20 |
# --- Konfiguration ---
|
| 21 |
REPO_ID = "ChargeNodeEurope/logfiles"
|
| 22 |
-
LOG_FILENAME = "
|
| 23 |
WEBHOOK_URL = os.environ.get("SLACK_WEBHOOK_URL")
|
| 24 |
HF_TOKEN = os.environ.get("HF_TOKEN")
|
| 25 |
|
| 26 |
-
# --- Konvertera gammal loggtext till DataFrame ---
|
| 27 |
-
def parse_legacy_log(log_path):
|
| 28 |
-
with open(log_path, "r", encoding="utf-8") as f:
|
| 29 |
-
lines = f.readlines()
|
| 30 |
-
|
| 31 |
-
sessions = []
|
| 32 |
-
current = {}
|
| 33 |
-
for line in lines:
|
| 34 |
-
ts_match = re.match(r"\[(.*?)\] (.*?)\: (.*)", line.strip())
|
| 35 |
-
if ts_match:
|
| 36 |
-
timestamp, role, content = ts_match.groups()
|
| 37 |
-
if role.lower() == "user":
|
| 38 |
-
current = {
|
| 39 |
-
"timestamp": timestamp,
|
| 40 |
-
"user_message": content,
|
| 41 |
-
"user_id": "unknown",
|
| 42 |
-
"session_id": "legacy"
|
| 43 |
-
}
|
| 44 |
-
elif role.lower() == "bot" and current:
|
| 45 |
-
current["bot_reply"] = content
|
| 46 |
-
sessions.append(current)
|
| 47 |
-
current = {}
|
| 48 |
-
df = pd.DataFrame(sessions)
|
| 49 |
-
df["timestamp"] = pd.to_datetime(df["timestamp"])
|
| 50 |
-
df["response_time"] = 1.0
|
| 51 |
-
df["platform"] = "legacy"
|
| 52 |
-
return df
|
| 53 |
-
|
| 54 |
# --- Funktion: Skicka Slack-meddelande med nyckeltal ---
|
| 55 |
def send_summary_to_slack(summary_text):
|
| 56 |
payload = {"text": f"📊 Daglig sammanställning:\n{summary_text}"}
|
|
@@ -98,8 +70,8 @@ def run_report():
|
|
| 98 |
df = pd.read_json(log_path, lines=True)
|
| 99 |
logging.info("Loggfil läst som JSONL.")
|
| 100 |
except Exception as e:
|
| 101 |
-
logging.
|
| 102 |
-
|
| 103 |
|
| 104 |
if df.empty:
|
| 105 |
logging.warning("Inga loggrader hittades – avbryter.")
|
|
@@ -132,4 +104,4 @@ with gr.Blocks() as app:
|
|
| 132 |
btn.click(fn=run_report, outputs=output)
|
| 133 |
|
| 134 |
if __name__ == "__main__":
|
| 135 |
-
app.launch()
|
|
|
|
| 1 |
+
# slack_reporter/app.py – nyckeltal från nystartad JSONL-logg
|
| 2 |
import os
|
| 3 |
import time
|
| 4 |
import schedule
|
|
|
|
| 19 |
|
| 20 |
# --- Konfiguration ---
|
| 21 |
REPO_ID = "ChargeNodeEurope/logfiles"
|
| 22 |
+
LOG_FILENAME = "logs_v2/conversation_log_v2.txt"
|
| 23 |
WEBHOOK_URL = os.environ.get("SLACK_WEBHOOK_URL")
|
| 24 |
HF_TOKEN = os.environ.get("HF_TOKEN")
|
| 25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
# --- Funktion: Skicka Slack-meddelande med nyckeltal ---
|
| 27 |
def send_summary_to_slack(summary_text):
|
| 28 |
payload = {"text": f"📊 Daglig sammanställning:\n{summary_text}"}
|
|
|
|
| 70 |
df = pd.read_json(log_path, lines=True)
|
| 71 |
logging.info("Loggfil läst som JSONL.")
|
| 72 |
except Exception as e:
|
| 73 |
+
logging.error(f"Kunde inte läsa logg som JSONL: {e}", exc_info=True)
|
| 74 |
+
return "❌ Loggfilen kunde inte läsas som JSONL."
|
| 75 |
|
| 76 |
if df.empty:
|
| 77 |
logging.warning("Inga loggrader hittades – avbryter.")
|
|
|
|
| 104 |
btn.click(fn=run_report, outputs=output)
|
| 105 |
|
| 106 |
if __name__ == "__main__":
|
| 107 |
+
app.launch()
|