sqlgptapp / app.py
qunfei's picture
fixing code text area
e1d3dd6
raw
history blame
1.54 kB
from io import StringIO
import streamlit as st
class CoreClient:
def generate(self, source: str, target: str, code: str):
return code
st.set_page_config(
page_title='A SQL Generative Pre-trained Transformer',
layout='wide',
initial_sidebar_state='expanded'
)
databases = ['Oracle', 'SQLServer', 'MySQL', 'DB2', 'PostgreSQL', 'Snowflake', 'Redshift']
# -------------
st.sidebar.header('A SQL Transformer')
source_database = st.sidebar.selectbox(
label='Source Database',
options=databases,
index=0
)
target_database = st.sidebar.selectbox(
label='Target Database',
options=databases,
index=4
)
input_text = st.sidebar.text_area(
label='Insert SQL',
placeholder='select * from now()'
)
input_file = st.sidebar.file_uploader(
label="Choose a SQL file",
accept_multiple_files=False)
client = CoreClient()
def transform():
code = input_text
source = source_database
target = target_database
if code:
ts = client.generate(source, target, code)
for solution in ts:
st.code(solution, language='sql')
else:
if input_file is not None:
# To convert to a string based IO:
stringio = StringIO(input_file.getvalue().decode("utf-8"))
# To read file as string:
sql = stringio.read()
ts = client.generate(source, target, sql)
for solution in ts:
st.code(solution, language='sql')
# ---------------------------------------
transform()