sharjeel1477/Upload-Docs-react
0
1import gradio as gr2from build import updateBrain3import os4import pinecone5 6pinecone_key = os.environ['PINECONE_KEY']7password=os.environ['PASSWORD']8 9 10#test11get_window_url_params = """12 function(url_params) {13 var s = document.styleSheets, r,14 i, j, k;15 16 if(!s) return false; //no style sheets found17 18 // walk throuth css sheets19 20 for(i=0; i<s.length; i++) {21 try{22 // get all rules23 r = s[i].cssRules; 24 if(!r) continue;25 26 for(j=0; j<r.length; j++) {27 //If there's a rule for media query28 if(r[j] instanceof CSSMediaRule && (r[j].media.mediaText == "(min-width: 1536px)" || r[j].media.mediaText == "(min-width: 1280px)" || r[j].media.mediaText == "(min-width: 1024px)" ||29 r[j].media.mediaText == "(min-width: 768px)" || r[j].media.mediaText == "(min-width: 640px)")) {30 for(k=0; k<r[j].cssRules.length; k++) {31 // remove all rules of it32 r[j].deleteRule(r[j].cssRules[k]);33 }34 35 }36 }37 }catch(e){38 console.log(e)39 }40 }41 42 43 console.log(url_params);44 const params = new URLSearchParams(window.location.search);45 url_params = Object.fromEntries(params);46 console.log(url_params)47 return url_params;48 }49 """50def isBrainFound(brainName):51 pinecone.init(api_key=pinecone_key,52 environment="us-west4-gcp")53 active_indexes = pinecone.list_indexes()54 print(active_indexes)55 brainName = brainName.lower()56 if brainName in active_indexes:57 return True58 else:59 return False60 61def checkAuth(params):62 print(params)63 if ("brainName" in params):64 if(isBrainFound(params["brainName"])):65 return gr.update(visible=True),params["brainName"]66 else:67 return gr.update(visible=False),""68 else:69 return gr.update(visible=False),""70 71 72def handleSubmit(files,brainName):73 74 if (files == None):75 return "Please Upload Files!"76 return updateBrain(brainName, files)77 78 79bg_color = "#c5dde0"80s_color = "#003595"81light = "#666768"82mycss = """83 .gradio-container {{background-image:url("file=bg.png");background-position:center;background-size:cover;}}84 85 86 #secondrow {{margin-top:10%;padding:0 6%;gap:30px;display:flex;justify-content:center;align-items:center;padding-left:30%;padding-right:30%}}87 88 @media (max-width: 768px) #secondrow {{padding-left:0;padding-right:0 }}89 90 91 #file .svelte-1sohkj6 {{background-color:#ffffff;color:{clight};font-size:17px}}92 #file .svelte-xwlu1w {{color:{clight};min-height:fit-content}}93 #file .svelte-116rqfv {{height:15vh}}94 #file .file-preview-holder {{overflow-y:scroll;max-height:17vh}}95 96 #status {{display:flex;justify-content:center;align-items:center;margin-top:25px;font-size:20px;font-weight:700;color:#ffffff}}97 #status p {{color:#ffffff}}98 99 .built-with.svelte-1lyswbr.svelte-1lyswbr.svelte-1lyswbr {{display:none}}100 .show-api.svelte-1lyswbr.svelte-1lyswbr.svelte-1lyswbr {{display:none}}101 102 103 #output {{background-color: {bgcolor};border-style:none;border-width:0;box-shadow:none}}104 #output span {{background-color:{bgcolor};color:{scolor};font-size:18px}}105 106 #button {{background-color:{scolor};color:#ffffff;margin-top:14px}}107"""108formatted_css = mycss.format(bgcolor=bg_color, scolor=s_color, clight=light)109 110 111with gr.Blocks(theme=gr.themes.Soft(), css=formatted_css) as block_demo:112 # with gr.Row(elem_id="first", visible=False):113 114 # with gr.Column():115 # title = gr.Markdown(116 # """117 # # Build Brain!118 # """, elem_id="title", visible=False)119 brain = gr.State(value="")120 with gr.Row(elem_id="secondrow"):121 122 with gr.Column(scale=1, elem_id="inputsCol") as myrow:123 124 files = gr.File(label="Upload Files", file_count="multiple",125 file_types=[".docx", ".pdf", ".csv", ".txt", ".xml", ".json",".pptx"], elem_id="file")126 br = gr.Textbox(visible=False)127 submit_button = gr.Button(value="Submit", elem_id="button")128 129 status = gr.Markdown(130 """131 """, elem_id="status")132 133 #134 submit_button.click(135 updateBrain, [files,br], status,api_name="upload")136 137 block_demo.load(checkAuth, inputs=status, outputs=[myrow,brain],138 _js=get_window_url_params)139 140block_demo.queue(concurrency_count=4)141block_demo.launch(show_api=False)142 