Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -782,6 +782,11 @@ def send_request():
|
|
| 782 |
|
| 783 |
DATABASE_NAME = 'data_gc.db'
|
| 784 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 785 |
def update_or_insert_user(db_name, user_data, mapping_template):
|
| 786 |
conn = sqlite3.connect(db_name)
|
| 787 |
cursor = conn.cursor()
|
|
@@ -824,8 +829,14 @@ def update_or_insert_user(db_name, user_data, mapping_template):
|
|
| 824 |
transformed_data = {}
|
| 825 |
for json_key, db_column in mapping_template.items():
|
| 826 |
value = user_data.get(json_key, "")
|
|
|
|
| 827 |
if isinstance(value, list):
|
| 828 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 829 |
else:
|
| 830 |
transformed_data[db_column] = str(value)
|
| 831 |
logging.debug(f"Transformed data: {transformed_data}")
|
|
@@ -877,6 +888,8 @@ def update_or_insert_user(db_name, user_data, mapping_template):
|
|
| 877 |
conn.close()
|
| 878 |
logging.debug(f"User with email {email} processed successfully")
|
| 879 |
|
|
|
|
|
|
|
| 880 |
@app.route('/send_get_request', methods=['GET'])
|
| 881 |
def send_get_request():
|
| 882 |
token = request.args.get('token')
|
|
@@ -905,12 +918,14 @@ def send_get_request():
|
|
| 905 |
|
| 906 |
users_meta = report_json.get('usersMeta', {})
|
| 907 |
|
| 908 |
-
# Обновление или добавление каждого пользователя в базу данных
|
| 909 |
processed_emails = set()
|
| 910 |
for user_id, user_data in users_meta.items():
|
| 911 |
-
|
|
|
|
|
|
|
| 912 |
email = user_data.get('email')
|
| 913 |
-
if email not in processed_emails:
|
| 914 |
update_or_insert_user(DATABASE_NAME, user_data, mapping_template)
|
| 915 |
processed_emails.add(email)
|
| 916 |
|
|
@@ -930,6 +945,13 @@ def send_get_request():
|
|
| 930 |
|
| 931 |
|
| 932 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 933 |
|
| 934 |
|
| 935 |
|
|
|
|
| 782 |
|
| 783 |
DATABASE_NAME = 'data_gc.db'
|
| 784 |
|
| 785 |
+
|
| 786 |
+
|
| 787 |
+
|
| 788 |
+
|
| 789 |
+
|
| 790 |
def update_or_insert_user(db_name, user_data, mapping_template):
|
| 791 |
conn = sqlite3.connect(db_name)
|
| 792 |
cursor = conn.cursor()
|
|
|
|
| 829 |
transformed_data = {}
|
| 830 |
for json_key, db_column in mapping_template.items():
|
| 831 |
value = user_data.get(json_key, "")
|
| 832 |
+
|
| 833 |
if isinstance(value, list):
|
| 834 |
+
# Проверяем тип элементов списка
|
| 835 |
+
if all(isinstance(item, str) for item in value):
|
| 836 |
+
transformed_data[db_column] = "; ".join(value) # Сохраняем сообщения в строку
|
| 837 |
+
else:
|
| 838 |
+
logging.error(f"Expected list of strings for key {json_key}, but got: {value}")
|
| 839 |
+
transformed_data[db_column] = ""
|
| 840 |
else:
|
| 841 |
transformed_data[db_column] = str(value)
|
| 842 |
logging.debug(f"Transformed data: {transformed_data}")
|
|
|
|
| 888 |
conn.close()
|
| 889 |
logging.debug(f"User with email {email} processed successfully")
|
| 890 |
|
| 891 |
+
|
| 892 |
+
|
| 893 |
@app.route('/send_get_request', methods=['GET'])
|
| 894 |
def send_get_request():
|
| 895 |
token = request.args.get('token')
|
|
|
|
| 918 |
|
| 919 |
users_meta = report_json.get('usersMeta', {})
|
| 920 |
|
| 921 |
+
# Обновление или добавление каждого пользователя в базу данных
|
| 922 |
processed_emails = set()
|
| 923 |
for user_id, user_data in users_meta.items():
|
| 924 |
+
# Получаем только сообщения для текущего пользователя
|
| 925 |
+
user_messages = messages_json.get(user_id, [])
|
| 926 |
+
user_data['messages'] = user_messages
|
| 927 |
email = user_data.get('email')
|
| 928 |
+
if email and email not in processed_emails:
|
| 929 |
update_or_insert_user(DATABASE_NAME, user_data, mapping_template)
|
| 930 |
processed_emails.add(email)
|
| 931 |
|
|
|
|
| 945 |
|
| 946 |
|
| 947 |
|
| 948 |
+
|
| 949 |
+
|
| 950 |
+
|
| 951 |
+
|
| 952 |
+
|
| 953 |
+
|
| 954 |
+
|
| 955 |
|
| 956 |
|
| 957 |
|