Spaces:
Running
Running
Commit
·
5eb9b10
1
Parent(s):
49363c2
Add logtype detection based on name
Browse files- config/log_definitions.py +1 -1
- sections/upload.py +20 -3
config/log_definitions.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
log_definitions = {
|
| 2 |
-
"
|
| 3 |
"sep": " ",
|
| 4 |
"fields": [
|
| 5 |
{"name": "datetime", "pos": slice(0, 5), "type": "datetime"},
|
|
|
|
| 1 |
log_definitions = {
|
| 2 |
+
"apache": {
|
| 3 |
"sep": " ",
|
| 4 |
"fields": [
|
| 5 |
{"name": "datetime", "pos": slice(0, 5), "type": "datetime"},
|
sections/upload.py
CHANGED
|
@@ -23,14 +23,31 @@ uploaded_file = st.file_uploader("Choose a log file")
|
|
| 23 |
|
| 24 |
# Get available log types from log_definitions
|
| 25 |
log_types = list(log_definitions.keys())
|
|
|
|
| 26 |
# Set default log type if not already in session state
|
|
|
|
| 27 |
if "log_type" not in st.session_state:
|
| 28 |
-
st.session_state.log_type = log_types[0] #
|
| 29 |
-
|
| 30 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
"Select log type", log_types, index=log_types.index(st.session_state.log_type)
|
| 32 |
)
|
| 33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
# Store the parsed dataframe in the session state
|
| 35 |
if "parsed_df" not in st.session_state:
|
| 36 |
st.session_state.parsed_df = None
|
|
|
|
| 23 |
|
| 24 |
# Get available log types from log_definitions
|
| 25 |
log_types = list(log_definitions.keys())
|
| 26 |
+
|
| 27 |
# Set default log type if not already in session state
|
| 28 |
+
# Initialize log_type in session state if not present
|
| 29 |
if "log_type" not in st.session_state:
|
| 30 |
+
st.session_state.log_type = log_types[0] # Start with first log type as default
|
| 31 |
+
st.session_state.user_selected = False # Track if user manually selected a log type
|
| 32 |
+
|
| 33 |
+
# Check if a new file was uploaded and update suggested log type
|
| 34 |
+
if uploaded_file is not None and not st.session_state.get("user_selected", False):
|
| 35 |
+
filename = uploaded_file.name.lower()
|
| 36 |
+
for log_type in log_types:
|
| 37 |
+
if log_type.lower() in filename:
|
| 38 |
+
st.session_state.log_type = log_type
|
| 39 |
+
break
|
| 40 |
+
|
| 41 |
+
# Display the selectbox
|
| 42 |
+
selected_log_type = st.selectbox(
|
| 43 |
"Select log type", log_types, index=log_types.index(st.session_state.log_type)
|
| 44 |
)
|
| 45 |
|
| 46 |
+
# Update session state and mark as user-selected when changed
|
| 47 |
+
if selected_log_type != st.session_state.log_type:
|
| 48 |
+
st.session_state.log_type = selected_log_type
|
| 49 |
+
st.session_state.user_selected = True
|
| 50 |
+
|
| 51 |
# Store the parsed dataframe in the session state
|
| 52 |
if "parsed_df" not in st.session_state:
|
| 53 |
st.session_state.parsed_df = None
|