Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,8 +1,15 @@
|
|
| 1 |
import pandas as pd
|
| 2 |
import gradio as gr
|
|
|
|
|
|
|
| 3 |
|
| 4 |
-
# Function to create a vCard entry
|
| 5 |
def create_vcf(row):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
vcf_template = """BEGIN:VCARD
|
| 7 |
VERSION:3.0
|
| 8 |
PRODID:-//Apple Inc.//iPhone OS 17.2.1//EN
|
|
@@ -12,23 +19,26 @@ ORG:BAT Bangladesh;{function}
|
|
| 12 |
TITLE:{designation}
|
| 13 |
TEL;TYPE=CELL;TYPE=VOICE;TYPE=pref:{number}
|
| 14 |
EMAIL:{email}
|
|
|
|
|
|
|
| 15 |
END:VCARD"""
|
| 16 |
-
# Formatting the row data into vCard format
|
| 17 |
return vcf_template.format(
|
| 18 |
name=row['Name'],
|
| 19 |
function=row['Function'],
|
| 20 |
designation=row['Designation'],
|
| 21 |
number=row['Number'],
|
| 22 |
-
email=
|
|
|
|
|
|
|
| 23 |
)
|
| 24 |
|
| 25 |
-
# Function to generate the VCF file
|
| 26 |
def generate_vcf(file):
|
| 27 |
-
# Load Excel file
|
| 28 |
df = pd.read_excel(file)
|
| 29 |
-
df['Number'] = df['Number'].astype(str) #
|
| 30 |
|
| 31 |
-
#
|
| 32 |
vcf_data = df.apply(create_vcf, axis=1).str.cat(sep='\n\n')
|
| 33 |
|
| 34 |
# Write the VCF data to a file
|
|
@@ -38,7 +48,7 @@ def generate_vcf(file):
|
|
| 38 |
|
| 39 |
return vcf_file_name
|
| 40 |
|
| 41 |
-
# Custom CSS and HTML
|
| 42 |
css = """
|
| 43 |
.gradio-container {
|
| 44 |
background: rgb(14, 43, 99);
|
|
|
|
| 1 |
import pandas as pd
|
| 2 |
import gradio as gr
|
| 3 |
+
import hashlib
|
| 4 |
+
from datetime import datetime
|
| 5 |
|
| 6 |
+
# Function to create a vCard entry with UID and REV fields
|
| 7 |
def create_vcf(row):
|
| 8 |
+
# Generate a unique UID based on the email (using a hash for consistency)
|
| 9 |
+
email = row['Email']
|
| 10 |
+
uid = hashlib.md5(email.encode()).hexdigest()
|
| 11 |
+
rev = datetime.now().strftime('%Y-%m-%dT%H:%M:%SZ') # Current timestamp for revision
|
| 12 |
+
|
| 13 |
vcf_template = """BEGIN:VCARD
|
| 14 |
VERSION:3.0
|
| 15 |
PRODID:-//Apple Inc.//iPhone OS 17.2.1//EN
|
|
|
|
| 19 |
TITLE:{designation}
|
| 20 |
TEL;TYPE=CELL;TYPE=VOICE;TYPE=pref:{number}
|
| 21 |
EMAIL:{email}
|
| 22 |
+
UID:{uid}
|
| 23 |
+
REV:{rev}
|
| 24 |
END:VCARD"""
|
|
|
|
| 25 |
return vcf_template.format(
|
| 26 |
name=row['Name'],
|
| 27 |
function=row['Function'],
|
| 28 |
designation=row['Designation'],
|
| 29 |
number=row['Number'],
|
| 30 |
+
email=email,
|
| 31 |
+
uid=uid,
|
| 32 |
+
rev=rev
|
| 33 |
)
|
| 34 |
|
| 35 |
+
# Function to generate the VCF file
|
| 36 |
def generate_vcf(file):
|
| 37 |
+
# Load the Excel file
|
| 38 |
df = pd.read_excel(file)
|
| 39 |
+
df['Number'] = df['Number'].astype(str) # Ensure phone numbers are strings
|
| 40 |
|
| 41 |
+
# Generate the VCF data
|
| 42 |
vcf_data = df.apply(create_vcf, axis=1).str.cat(sep='\n\n')
|
| 43 |
|
| 44 |
# Write the VCF data to a file
|
|
|
|
| 48 |
|
| 49 |
return vcf_file_name
|
| 50 |
|
| 51 |
+
# Custom CSS and HTML
|
| 52 |
css = """
|
| 53 |
.gradio-container {
|
| 54 |
background: rgb(14, 43, 99);
|