Spaces:
Runtime error
Runtime error
Update List_Sharepoint.py
Browse files- List_Sharepoint.py +41 -0
List_Sharepoint.py
CHANGED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from .Autenticacion_sharepoint import auth_sharepoint
|
2 |
+
import json
|
3 |
+
context=auth_sharepoint()
|
4 |
+
|
5 |
+
def upload_list_sharepoint(tel,name,message,respuesta):
|
6 |
+
list = context.web.lists.get_by_title("Development_Vaping") #CONECTAMOS A LA LISTA
|
7 |
+
|
8 |
+
# Define la nueva interacción
|
9 |
+
new_interaction = f"""[{"from":{"role":1},"text":"{message}"},
|
10 |
+
{"from":{"role":0},"text":"{respuesta}"}]"""
|
11 |
+
|
12 |
+
# Busca en la lista un elemento con el mismo User_ID
|
13 |
+
|
14 |
+
items = list.get_items()
|
15 |
+
context.load(items)
|
16 |
+
context.execute_query()
|
17 |
+
|
18 |
+
for item in items:
|
19 |
+
if item.properties['User_ID'] == tel:
|
20 |
+
# Si el elemento existe, obtén el contenido actual
|
21 |
+
current_content = json.loads(item.properties['Content'], strict=False)
|
22 |
+
|
23 |
+
# Agrega la nueva interacción a las actividades actuales
|
24 |
+
current_content['activities'].extend(json.loads(new_interaction, strict=False))
|
25 |
+
|
26 |
+
# Actualiza el campo Content con las nuevas actividades
|
27 |
+
item.set_property('Content', json.dumps(current_content, ensure_ascii=False))
|
28 |
+
item.update()
|
29 |
+
context.execute_query()
|
30 |
+
return
|
31 |
+
|
32 |
+
# Si el elemento no existe, crea uno nuevo
|
33 |
+
conv = {
|
34 |
+
"User_Name":f"{name}",
|
35 |
+
"User_ID": f"{tel}",
|
36 |
+
"Content": f"""{{"activities":[{new_interaction}]}}"""
|
37 |
+
}
|
38 |
+
|
39 |
+
# Agrega un elemento a la lista
|
40 |
+
list.add_item(conv)
|
41 |
+
list.execute_query()
|