Rauhan commited on
Commit
b9076ac
·
1 Parent(s): da75ad8

update functions.py

Browse files
Files changed (2) hide show
  1. app.py +22 -9
  2. functions.py +6 -6
app.py CHANGED
@@ -265,7 +265,7 @@ async def loadPDF(vectorstore: str, pdf: UploadFile = File(...)):
265
  "source": source
266
  }
267
  numTokens = len(" ".join([text[x] for x in text]).translate(str.maketrans('', '', string.punctuation)).split(" "))
268
- dct = json.dumps(dct, indent=1).encode("utf-8")
269
  fileName = createDataSourceName(sourceName=source)
270
  response = supabase.storage.from_("ConversAI").upload(file=dct, path=f"{fileName}_data.json")
271
  response = (
@@ -559,7 +559,7 @@ async def loadEditedJson(loadEditedJsonConfig: LoadEditedJson):
559
  username, chatbotName = loadEditedJsonConfig.vectorstore.split("$")[1], loadEditedJsonConfig.vectorstore.split("$")[2]
560
  trackUsage(vectorstore=loadEditedJsonConfig.vectorstore, endpoint="/loadEditedJson")
561
  jsonData = decodeBase64(loadEditedJsonConfig.jsonData)
562
- jsonData = json.dumps(jsonData, indent = 1).encode("utf-8")
563
  fileName = createDataSourceName(loadEditedJsonConfig.dataSourceName)
564
  response = supabase.storage.from_("ConversAI").upload(file=jsonData, path=f"{fileName}_data.json")
565
  response = (
@@ -578,19 +578,32 @@ async def loadEditedJson(loadEditedJsonConfig: LoadEditedJson):
578
 
579
 
580
  @app.post("/publicOrPrivate")
581
- async def publicOrPrivate(vectorstore: str, mode: str = "public"):
582
  trackUsage(vectorstore=vectorstore, endpoint="/publicOrPrivate")
583
  username, chatbotName = vectorstore.split("$")[1], vectorstore.split("$")[2]
584
- response = (
 
585
  supabase.table("ConversAI_ChatbotInfo")
586
- .update({"public/private": mode})
587
  .eq("user_id", username)
588
  .eq("chatbotname", chatbotName)
589
  .execute()
590
- )
591
- return {
592
- "output": "SUCCESS"
593
- }
 
 
 
 
 
 
 
 
 
 
 
 
594
 
595
 
596
 
 
265
  "source": source
266
  }
267
  numTokens = len(" ".join([text[x] for x in text]).translate(str.maketrans('', '', string.punctuation)).split(" "))
268
+ dct = json.dumps(dct, indent=1).encode("utf-8", errors = "replace")
269
  fileName = createDataSourceName(sourceName=source)
270
  response = supabase.storage.from_("ConversAI").upload(file=dct, path=f"{fileName}_data.json")
271
  response = (
 
559
  username, chatbotName = loadEditedJsonConfig.vectorstore.split("$")[1], loadEditedJsonConfig.vectorstore.split("$")[2]
560
  trackUsage(vectorstore=loadEditedJsonConfig.vectorstore, endpoint="/loadEditedJson")
561
  jsonData = decodeBase64(loadEditedJsonConfig.jsonData)
562
+ jsonData = json.dumps(jsonData, indent = 1).encode("utf-8", errors = "replace")
563
  fileName = createDataSourceName(loadEditedJsonConfig.dataSourceName)
564
  response = supabase.storage.from_("ConversAI").upload(file=jsonData, path=f"{fileName}_data.json")
565
  response = (
 
578
 
579
 
580
  @app.post("/publicOrPrivate")
581
+ async def publicOrPrivate(vectorstore: str, mode: str | None = None):
582
  trackUsage(vectorstore=vectorstore, endpoint="/publicOrPrivate")
583
  username, chatbotName = vectorstore.split("$")[1], vectorstore.split("$")[2]
584
+ if mode == None:
585
+ value = (
586
  supabase.table("ConversAI_ChatbotInfo")
587
+ .select("isPrivate")
588
  .eq("user_id", username)
589
  .eq("chatbotname", chatbotName)
590
  .execute()
591
+ )
592
+ value = value.data[0]["isPrivate"]
593
+ return {
594
+ "output": value
595
+ }
596
+ else:
597
+ response = (
598
+ supabase.table("ConversAI_ChatbotInfo")
599
+ .update({"isPrivate": mode})
600
+ .eq("user_id", username)
601
+ .eq("chatbotname", chatbotName)
602
+ .execute()
603
+ )
604
+ return {
605
+ "output": "SUCCESS"
606
+ }
607
 
608
 
609
 
functions.py CHANGED
@@ -359,18 +359,18 @@ def extractTextFromUrlList(urls):
359
  def encodeToBase64(dct: dict):
360
  for key in dct:
361
  if type(dct[key]) == str:
362
- dct[key] = base64.b64encode(dct[key].encode("utf-8")).decode("utf-8")
363
  elif type(dct[key]) == dict:
364
  dct[key] = encodeToBase64(dct[key])
365
  return dct
366
 
367
 
368
  def decodeBase64(dct: dict):
369
- for key in dct:
370
- if type(dct[key]) == str:
371
- dct[key] = base64.b64decode(dct[key].encode("utf-8")).decode("utf-8")
372
- elif type(dct[key]) == dict:
373
- dct[key] = decodeBase64(dct[key])
374
  return dct
375
 
376
 
 
359
  def encodeToBase64(dct: dict):
360
  for key in dct:
361
  if type(dct[key]) == str:
362
+ dct[key] = base64.b64encode(dct[key].encode("utf-8")).decode("utf-8", errors = "replace")
363
  elif type(dct[key]) == dict:
364
  dct[key] = encodeToBase64(dct[key])
365
  return dct
366
 
367
 
368
  def decodeBase64(dct: dict):
369
+ if type(dct["output"]) == str:
370
+ dct["output"] = base64.b64decode(dct["output"].encode("utf-8")).decode("utf-8", errors = "replace")
371
+ else:
372
+ for key in dct["output"]:
373
+ dct["output"][key] = base64.b64decode(dct["output"][key].encode("utf-8")).decode("utf-8", errors = "replace")
374
  return dct
375
 
376