Spaces:
Sleeping
Sleeping
import streamlit as st | |
import os | |
def main(): | |
st.title("Data Source Configuration") | |
# Explanation or introduction | |
st.write("Configure the source from which to mine data, including the GitHub repository and the output directory for storing generated data.") | |
# Repository selection | |
repo_url = st.text_input("GitHub Repository URL", "https://github.com/username/repository") | |
# Validate the URL (basic validation for demonstration) | |
if "github.com" not in repo_url: | |
st.error("Please enter a valid GitHub repository URL.") | |
else: | |
# Assuming validation passed, store the repo URL in session state or proceed with further processing | |
st.session_state['repo_url'] = repo_url | |
st.success("Repository URL saved.") | |
# Output directory selection | |
default_dir = os.path.join(".", "output_data") # Default directory path | |
out_dir = st.text_input("Output Directory for Generated Data", value=default_dir) | |
# Directory existence check (Create if doesn't exist) | |
if st.button("Save Output Directory"): | |
try: | |
os.makedirs(out_dir, exist_ok=True) # Create the directory if it does not exist | |
st.session_state['output_dir'] = out_dir | |
st.success(f"Output directory set to: {out_dir}") | |
except Exception as e: | |
st.error(f"Failed to create the directory: {str(e)}") | |
# Optional: Provide navigation or action buttons | |
# For example, a button to proceed to the next step if this page's task is completed | |
if st.button("Proceed to Data Loading"): | |
# Change the page in the session state, assuming you have set up session-based navigation in app.py | |
st.session_state.page = 'data_loading' | |
if __name__ == "__main__": | |
main() | |