joermd commited on
Commit
05908c3
·
verified ·
1 Parent(s): 21eca83

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -16
app.py CHANGED
@@ -29,11 +29,38 @@ st.set_page_config(layout="wide", page_title="محلل المواقع المتق
29
 
30
  # تحميل الأنيميشن
31
  def load_lottieurl(url):
32
- r = requests.get(url)
33
- if r.status_code != 200:
34
- return None
35
- return r.json()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
 
 
37
  lottie_analyzing = load_lottieurl("https://assets5.lottiefiles.com/packages/lf20_qpwbqki6.json")
38
 
39
  # تصميم CSS مخصص
@@ -206,24 +233,25 @@ def main():
206
  # عرض البطاقات الإحصائية
207
  cols = st.columns(3)
208
  with cols[0]:
209
- st.metric("زمن التحميل", f"{performance_data['load_time']}s")
210
  with cols[1]:
211
- st.metric("حجم الصفحة", f"{performance_data['page_size']} KB")
212
  with cols[2]:
213
- st.metric("الروابط الداخلية", seo_data['internal_links'])
214
 
215
  # عرض تحليل SEO
216
  with st.expander("تحليل SEO", expanded=True):
217
  st.json(seo_data)
218
 
219
  # رسم بياني للعناوين
220
- fig = px.bar(
221
- x=list(seo_data['headings'].keys()),
222
- y=list(seo_data['headings'].values()),
223
- title="توزيع العناوين",
224
- labels={'x': 'نوع العنوان', 'y': 'العدد'}
225
- )
226
- st.plotly_chart(fig)
 
227
 
228
  # عرض تحليل الأمان
229
  with st.expander("تحليل الأمان", expanded=True):
@@ -246,5 +274,4 @@ def main():
246
  # هنا يمكن إضافة إعدادات التحليل
247
 
248
  if __name__ == "__main__":
249
- main()
250
-
 
29
 
30
  # تحميل الأنيميشن
31
  def load_lottieurl(url):
32
+ try:
33
+ r = requests.get(url)
34
+ r.raise_for_status()
35
+ return r.json()
36
+ except Exception as e:
37
+ # Fallback to a basic loading animation JSON
38
+ return {
39
+ "v": "5.5.7",
40
+ "fr": 29.9700012207031,
41
+ "ip": 0,
42
+ "op": 180.00000733155,
43
+ "w": 500,
44
+ "h": 500,
45
+ "nm": "Loading",
46
+ "ddd": 0,
47
+ "assets": [],
48
+ "layers": [
49
+ {
50
+ "ddd": 0,
51
+ "ind": 1,
52
+ "ty": 4,
53
+ "nm": "Loading Circle",
54
+ "sr": 1,
55
+ "ks": {
56
+ "o": {"a": 0, "k": 100, "ix": 11},
57
+ "r": {"a": 1, "k": [{"i": {"x": [0.833], "y": [0.833]}, "o": {"x": [0.167], "y": [0.167]}, "t": 0, "s": [0], "e": [360]}, {"t": 180.00000733155}], "ix": 10}
58
+ }
59
+ }
60
+ ]
61
+ }
62
 
63
+ # تحميل الأنيميشن الافتراضي
64
  lottie_analyzing = load_lottieurl("https://assets5.lottiefiles.com/packages/lf20_qpwbqki6.json")
65
 
66
  # تصميم CSS مخصص
 
233
  # عرض البطاقات الإحصائية
234
  cols = st.columns(3)
235
  with cols[0]:
236
+ st.metric("زمن التحميل", f"{performance_data.get('load_time', 'N/A')}s")
237
  with cols[1]:
238
+ st.metric("حجم الصفحة", f"{performance_data.get('page_size', 'N/A')} KB")
239
  with cols[2]:
240
+ st.metric("الروابط الداخلية", seo_data.get('internal_links', 'N/A'))
241
 
242
  # عرض تحليل SEO
243
  with st.expander("تحليل SEO", expanded=True):
244
  st.json(seo_data)
245
 
246
  # رسم بياني للعناوين
247
+ if 'headings' in seo_data:
248
+ fig = px.bar(
249
+ x=list(seo_data['headings'].keys()),
250
+ y=list(seo_data['headings'].values()),
251
+ title="توزيع العناوين",
252
+ labels={'x': 'نوع العنوان', 'y': 'العدد'}
253
+ )
254
+ st.plotly_chart(fig)
255
 
256
  # عرض تحليل الأمان
257
  with st.expander("تحليل الأمان", expanded=True):
 
274
  # هنا يمكن إضافة إعدادات التحليل
275
 
276
  if __name__ == "__main__":
277
+ main()