اذهب إلى المحتوى

Hussein Ouda

الأعضاء
  • المساهمات

    44
  • تاريخ الانضمام

  • تاريخ آخر زيارة

كل منشورات العضو Hussein Ouda

  1. أقوم بتطوير قالب PHP wordpress ووصلت لصفحة category.php و archive.php وعند طلب الصفحة يظهر أول مقال فقط وليس كل مقالات الموقع بناء على (category / author / tag) أريد أن يظهر تكرر المقالات بشكل بلوك begnation رغم أني كتبت لوب في الكود : <?php // The Loop if (have_posts()) : while (have_posts()) : the_post(); //post ?> <main id="main"> <!-- ======= Title Section ======= --> <section id="" class=""> <div class=""> <div class="content"> <h3> <!-- طباعة واستدعاء الفئة (category) الحالية --> <?php single_cat_title() ?> </h3> </div> </div> </section> <!-- End Why Us Section --> <!-- ======= Content Section ======= --> <section id="" class=""> <div class="container"> <?php the_category(', ') ?> <h3><?php the_title() ?></h3> <p><?php /* دالة لاستدعاء تاريخ البوست */ echo get_the_date() ?> by: <strong><?php /* دالة لاستدعاء مؤلف البوست */ the_author_link() ?></strong></p> <p> <?php // دالة لاستدعاء وصف البوست the_excerpt() ?> </p> <p> <a href="<?php /* دالة ترجع رابط البوست */ the_permalink() ?>">Continue reading</a> </p> </div> </section> <!-- End Skills Section --> </main> <!-- End #main --> <?php // End Loop endwhile; endif; ?> أرجو المساعدة
  2. تم حل الإشكالية تبين عند دخولي إلى كود مكتبة pytube في github وجدت جميع التعليقات تؤكد أن المشكلة من نفس المكتبة ولكن تم تحديث المكتبة والان قمت بتحديث المكتبة وفعلاً اشتغل البرنامج بدون مشاكل أكتب pip install --upgrade pytube ستعمل بدون مشاكل بإذن الله
  3. قمت ببرمجة برنامج بايثون لتحميل الفيديوهات من اليوتيوب وبعد وضع الرابط وبدء التحميل يخرج لي الخطأ التالي : Exception in Tkinter callback Traceback (most recent call last): File "C:\lib\tkinter\__init__.py", line 1892, in __call__ return self.func(*args) File "d:\Youtube-Downloader.py", line 36, in DownloadVideo select = yt.streams.filter(progressive=True).first() File "C:\lib\site-packages\pytube\__main__.py", line 292, in streams return StreamQuery(self.fmt_streams) File "C:\lib\site-packages\pytube\__main__.py", line 177, in fmt_streams extract.apply_signature(stream_manifest, self.vid_info, self.js) File "C:\lib\site-packages\pytube\extract.py", line 409, in apply_signature cipher = Cipher(js=js) File "C:\lib\site-packages\pytube\cipher.py", line 43, in __init__ self.throttling_plan = get_throttling_plan(js) File "C:\lib\site-packages\pytube\cipher.py", line 387, in get_throttling_plan raw_code = get_throttling_function_code(js) File "C:\lib\site-packages\pytube\cipher.py", line 301, in get_throttling_function_code code_lines_list = find_object_from_startpoint(js, match.span()[1]).split('\n') AttributeError: 'NoneType' object has no attribute 'span' أرفق لكم الكود التالي : # Youtube Downloader from cgitb import text from logging import root from random import choices from secrets import choice from tkinter import * from tkinter import ttk from tkinter import messagebox from tkinter import filedialog from typing_extensions import Self from numpy import save from pytube import YouTube from soupsieve import select #pip install pytube3 Folder_Name = "" #file location def openLocation(): global Folder_Name Folder_Name = filedialog.askdirectory() if(len(Folder_Name) > 1): locationError.config(text=Folder_Name, fg="green") else: locationError.config(text="اختر المجلد", fg="red") #donwload video def DownloadVideo(): choice = ytdchoices.get() url = ytdEntry.get() if(len(url)>1): ytdError.config(text="") yt = YouTube(url) if(choice == choices[0]): select = yt.streams.filter(progressive=True).first() elif(choice == choices[1]): select = yt.streams.filter(progressive=True, file_extension='mp4').last() elif(choice == choices[2]): select = yt.streams.filter(only_audio=True).first() else: ytdError.config(text="ألصق الرابط مجدداً", fg="red") #download function select.download(Folder_Name) ytdError.config(text="تم الانتهاء من التحميل!!") # -------- دالة من نحن -------- def about(): messagebox.showinfo("Techmakers - Hussein Ouda", "husseinaoda@mail.com : مرحبا بكم في برنامج تحميل الفيديوهات والصوتيات") root = Tk() root.title("Techmakers: v 1.0 Youtube Downloader") root.geometry("650x410+340+10") #set window root.resizable(False, False) root.columnconfigure(0, weight=1) #set all content in center. f1=Frame(root, width=580, height=100, bg='whitesmoke', bd=3, relief=GROOVE) f1.place(x=30, y=130) f2=Frame(root, width=580, height=55, bg='whitesmoke', bd=3, relief=GROOVE) f2.place(x=30, y=250) #Ytd Link Label t = Label(root, text="برنامج تحميل الفيديوهات والصوتيات", bg='#FF5F00', fg='#EEEEEE', font=("Tajawal", 15, 'bold')) t.pack(fill='x') ytdLabel = Label(root, text="ألصق رابط الفيديو",fg='#00092C', font=("Tajawal", 15, 'bold')) ytdLabel.pack() #Entry Box ytdEntryVar = StringVar() ytdEntry = Entry(root, width=52, justify='center', font=("Tajawal", 15), bg='#B20600', fg='#00092C', textvariable=ytdEntryVar) ytdEntry.pack() #Error Msg ytdError = Label(root, text="ملاحظات التحميل", fg="#B20600", font=("Tajawal", 10)) ytdError.pack() #Asking save file label saveLabel = Label(root, text="اختر مكان حفظ الفيديو", bg="whitesmoke", fg='#00092C', font=("Tajawal", 15, 'bold')) saveLabel.place(x=390, y=140) #btn of save file saveEntry = Button(root, width=20, font=("Tajawal", 10, 'bold'), bg="#00092C", fg="#EEEEEE", text="مسار الحفظ", command=openLocation, cursor='sizing') saveEntry.place(x=410, y=180) #Error Msg location locationError = Label(root, text="لم يتم اختيار مسار حفظ الفيديو", bg='whitesmoke', fg="#B20600", font=("Tajawal", 15)) locationError.place(x=100, y=190) #Download Quality ytdQuality = Label(root, text="", bg='whitesmoke', font=("Tajawal", 15, 'bold')) ytdQuality.place(x=430, y=255) #combobox choices = ["720p", "144p", "صوت فقط"] ytdchoices = ttk.Combobox(root, values=choices) ytdchoices.place(x=260, y=265) #download btn downloadbtn = Button(root, text="بدء التحميل", width=20, font=("Tajawal", 10, 'bold'), bg="#00092C", fg="#EEEEEE", command=DownloadVideo, cursor='clock') downloadbtn.place(x=40, y=255) #developer Label about_btn = Button(root, text='من نحن', width=20, font=("Tajawal", 10, 'bold'), bg='#FF5F00', fg='#EEEEEE', bitmap='info',command=about, cursor='heart') about_btn.place(x=350, y=350, height=30) #Close program exit_btn = Button(root, text='إغلاق البرنامج', width=20, font=("Tajawal", 10, 'bold'), bg='#FF5F00', fg='#EEEEEE', cursor='cross', command=root.quit) exit_btn.place(x=265, y=350, width=80, height=30) root.mainloop() أرجو المساعدة
  4. import requests import time #global variables api_key = '15******-ce*0-42*d-9c*6-17******49*0' bot_key = '51******56:A*H-o_hf******Gm******ON******M4*bg' chat_id = '10******03' limit = 59000 #لو قل المبلغ عن هذا الرقم ارسل رسالة على بوت التلغرام time_interval = 60 * 5 #الاتصال بالموقع لمعرفة السعر كل 5 دقائق # دالة لمخاطبة الموقع وجلب السعر def get_price(): url = 'https://sandbox-api.coinmarketcap.com/v1/cryptocurrency/listings/latest' parameters = { 'start':'1', 'limit':'2', 'convert':'USD' } headers = { 'Accepts': 'application/json', 'X-CMC_PRO_API_KEY': api_key, } response = requests.get(url, headers=headers, params=parameters).json() btc_price = response['data'][0]['quote']['USD']['price'] return btc_price # دالة ترسل رسالة لو قل المبلغ عن الرقم المحدد ارسل رسالة على بوت التلغرام def send_update(chat_id, msg): url = f'https://api.telegram.org/bot{bot_key}/sendMessage?chat_id={chat_id}&text={msg}' requests.get(url) # دالة لتشغيل الدوال السابقة def main(): while True: price = get_price() print(price) if price < limit: send_update(chat_id, f"سعر البتكوين:{price}") time.sleep(time_interval) main() code: import requests import time #global variables api_key = '15******-ce*0-42*d-9c*6-17******49*0' bot_key = '51******56:A*H-o_hf******Gm******ON******M4*bg' chat_id = '10******03' limit = 59000 #لو قل المبلغ عن هذا الرقم ارسل رسالة على بوت التلغرام time_interval = 60 * 5 #الاتصال بالموقع لمعرفة السعر كل 5 دقائق # دالة لمخاطبة الموقع وجلب السعر def get_price(): url = 'https://sandbox-api.coinmarketcap.com/v1/cryptocurrency/listings/latest' parameters = { 'start':'1', 'limit':'2', 'convert':'USD' } headers = { 'Accepts': 'application/json', 'X-CMC_PRO_API_KEY': api_key, } response = requests.get(url, headers=headers, params=parameters).json() btc_price = response['data'][0]['quote']['USD']['price'] return btc_price # دالة ترسل رسالة لو قل المبلغ عن الرقم المحدد ارسل رسالة على بوت التلغرام def send_update(chat_id, msg): url = f'https://api.telegram.org/bot{bot_key}/sendMessage?chat_id={chat_id}&text={msg}' requests.get(url) # دالة لتشغيل الدوال السابقة def main(): while True: price = get_price() print(price) if price < limit: send_update(chat_id, f"سعر البتكوين:{price}") time.sleep(time_interval) main()
  5. زملائي الأكارم عملت بوت على التلغرام بالغة بايثون لمعرفة سعر البتكوين .. عملت البوت واشتغل عندي ورفعته على سيرفر علشان يبقى شغال على طول وفعلاً , لكن المشكلة انو لما حد جديد يشترك في البوت يتم الاشتراك لكن ما تظهر عنده رسائل البوت!! ما المشكلة؟
  6. قمت بتعريف المتغير في أعلى البرنامج : # -------- variable = بيانات البحث في البرنامج -------- self.se_by = StringVar() self.se_var = StringVar() 👆
  7. قمت بالتعديل السابق ولم يختلف الخطأ
  8. قمت بكتابة دالة للبحث في البرنامج : def search(self): con = pymysql.connect(host='localhost', user = 'root', password = '', database = 'employ') cur = con.cursor() cur.execute("select * from employees where " + str(self.se_by.get())+" LIKE '%"+ str(self.se_var.get())+"%'") rows = cur.fetchall() if len (rows) !=0: self.student_table.delete(*self.student_table.get_children()) for row in rows: self.student_table.insert("", END, value=row) con.commit() con.close() ولا تعمل! حيث تعطي الخطأ التالي : pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIKE '%%'' at line 1") الرجاء المساعدة
  9. قمت بكتابة دالة بايثون لتعديل بيانات ومعلومات مدخله في قاعدة البيانات def update(self): con = pymysql.connect( host = 'localhost', user = 'root', password = '', database = 'employ') cur = con.cursor() cur.execute("update employees set family_members=%s, social_status=%s, gender=%s, date_birth=%s, id_number=%s, mail=%s, name=%s where id=%s",( self.family_members_var.get(), self.social_status_var.get(), self.gender_var.get(), self.date_birth_var.get(), self.id_number_var.get(), self.mail_var.get(), self.name_var.get(), self.id_var.get() )) con.commit() self.fetch_all() self.clear() con.close() وخرج لي الخطأ التالي : pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1")
  10. وجدت حل الإشكالية يقول الخطأ أنه يتوقع الحصول على iterable أي مؤشر على غرض معين، بينما يستقبل دالة، لذلك يجب استدعاء الدالة بوضع أقواس () لها self.student_table.delete(*self.student_table.get_children()) ^^ شكر لك يا طيب على مرورك المتفاعل
  11. كتبت كود برنامج على python tkinter خاص ببيانات الموظفين وتم الاتصال بقواعد البيانات وادخال المعلومات على الجدول بنجاح, from tkinter import * from tkinter import ttk import pymysql class Employee: # ----------- إنشاء نافذة البرنامج ----------- def __init__(self, root): self.root = root self.root.geometry('1300x650+22+22') # الأرقام الإضافية بعد الطول والعرض (22) هي توصيت الشاشة مسافة من اليسار ومن الأعلى self.root.title('برنامج إدارة الموظفين') self.root.configure(background="#316df4") self.root.resizable(False, False) title = Label(self.root, text='[بيانات الموظفين]', bg='#316df4', font=('monospace',18), fg='white' ) title.pack(fill='x') # ----------- variable ----------- # -------- variable = البيانات الشخصية -------- self.id_var = StringVar() self.name_var = StringVar() self.mail_var = StringVar() self.id_number_var = StringVar() self.date_birth_var = StringVar() self.gender_var = StringVar() self.social_status_var = StringVar() self.family_var = StringVar() # -------- variable = معلومات الاتصال -------- self.nationality_var = StringVar() self.id_photo_var = StringVar() self.country_var = StringVar() self.governorate_var = StringVar() self.city_var = StringVar() self.phone_var = StringVar() self.skype_var = StringVar() self.telegram_var = StringVar() # ----------- تقسيم لأختيارات علوية ----------- nb = ttk.Notebook(self.root) nb.place(x=900,y=34, width=400, height=460) f1 = Frame(nb, width='500', height='100', bg='#fff') nb.add(f1, text='بيانات شخصية') f2 = Frame(nb, width='500', height='100', bg='#fff') nb.add(f2, text='معلومات الاتصال') # ----------- أدوات التحكم في البيانات الشخصية 1 ----------- # Manage_Frame = Frame(self.root, bg='white') # Manage_Frame.place(x=10,y=190, width=200, height=460) lbl_ID = Label(f1, text='الرقم التسلسلي', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_ID.pack() ID_Entry = Entry(f1, textvariable=self.id_var, bd='2', bg='#05234f', fg='#fff', justify='center') ID_Entry.pack() lbl_name = Label(f1, text='اسم الموظف', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_name.pack() Name_Entry = Entry(f1, textvariable=self.name_var, bd='2', bg='#05234f', fg='#fff', justify='center') Name_Entry.pack() lbl_email = Label(f1, text='البريد الإلكتروني', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_email.pack() Email_Entry = Entry(f1, textvariable=self.mail_var, bd='2', bg='#05234f', fg='#fff', justify='center') Email_Entry.pack() lbl_ID_Number = Label(f1, text='رقم الهوية', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_ID_Number.pack() ID_Number_Entry = Entry(f1, textvariable=self.id_number_var, bd='2', bg='#05234f', fg='#fff', justify='center') ID_Number_Entry.pack() lbl_Date_Birth = Label(f1, text='تاريخ الميلاد', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Date_Birth.pack() Date_Birth_Entry = Entry(f1, textvariable=self.date_birth_var, bd='2', bg='#05234f', fg='#fff', justify='center') Date_Birth_Entry.pack() lbl_Gender = Label(f1, text='الجنس', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Gender.pack() combo_Gender = ttk.Combobox( f1, value=('ذكر', 'أنثى'), state='readonly', textvariable=self.gender_var ) combo_Gender.pack() lbl_Social_Status = Label(f1, text='الحالة الاجتماعية', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Social_Status.pack() combo_Social_Status = ttk.Combobox( f1, value=('أعزب', 'متزوج'), state='readonly', textvariable=self.social_status_var ) combo_Social_Status.pack() lbl_Family_Members = Label(f1, text='عدد أفراد الأسرة', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Family_Members.pack() Family_Members_Entry = Entry(f1, textvariable=self.family_var, bd='2', bg='#05234f', fg='#fff', justify='center') Family_Members_Entry.pack() # ----------- أدوات التحكم في معلومات الاتصال 2 ----------- # Manage_Frame = Frame(self.root, bg='white') # Manage_Frame.place(x=900, y=190, width=200, height=460) lbl_Nationality = Label(f2, text='الجنسية', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Nationality.pack() Nationality_Entry = Entry(f2, textvariable=self.nationality_var, bd='2', bg='#05234f', fg='#fff', justify='center') Nationality_Entry.pack() lbl_ID_Photo = Label(f2, text='صورة الهوية', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_ID_Photo.pack() ID_Photo_Entry = Entry(f2, textvariable=self.id_photo_var, bd='2', bg='#05234f', fg='#fff', justify='center') ID_Photo_Entry.pack() lbl_Country = Label(f2, text='الدولة', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Country.pack() Country_Entry = Entry(f2, textvariable=self.country_var, bd='2', bg='#05234f', fg='#fff', justify='center') Country_Entry.pack() lbl_State = Label(f2, text='الولاية / المحافظة', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_State.pack() State_Entry = Entry(f2, textvariable=self.governorate_var, bd='2', bg='#05234f', fg='#fff', justify='center') State_Entry.pack() lbl_City = Label(f2, text='المدينة', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_City.pack() City_Entry = Entry(f2, textvariable=self.city_var, bd='2', bg='#05234f', fg='#fff', justify='center') City_Entry.pack() lbl_Phone_Number = Label(f2, text='رقم الموبايل', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Phone_Number.pack() Phone_Number_Entry = Entry(f2, textvariable=self.phone_var, bd='2', bg='#05234f', fg='#fff', justify='center') Phone_Number_Entry.pack() lbl_Skype = Label(f2, text='سكايب', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Skype.pack() Skype_Entry = Entry(f2, textvariable=self.skype_var, bd='2', bg='#05234f', fg='#fff', justify='center') Skype_Entry.pack() lbl_Telegram = Label(f2, text='تلغرام', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Telegram.pack() Telegram_Entry = Entry(f2, textvariable=self.telegram_var, bd='2', bg='#05234f', fg='#fff', justify='center') Telegram_Entry.pack() # ----------- buttons الأزرار ----------- btn_Frame = Frame(self.root, bg="#fff") btn_Frame.place(x=900, y=500, width=400, height=148) title2 = Label(btn_Frame, text='لوحة التحكم', font=('monospace', 16), bg='#316df4', fg='#fff') title2.pack(fill='x') add_btn = Button(btn_Frame, text='إضافة موظف', bg='#05234f', fg='#fff', cursor='plus', command=self.add_student) add_btn.place(x=280, y=50, width=80, height=30) del_btn = Button(btn_Frame, text='حذف موظف', bg='#05234f', fg='#fff', cursor='target') del_btn.place(x=165, y=50, width=80, height=30) update_btn = Button(btn_Frame, text='تعديل بيانات', bg='#05234f', fg='#fff', cursor='circle') update_btn.place(x=50, y=50, width=80, height=30) clear_btn = Button(btn_Frame, text='إفراغ الحقول', bg='#05234f', fg='#fff', cursor='sizing') clear_btn.place(x=280, y=100, width=80, height=30) exit_btn = Button(btn_Frame, text='إغلاق البرنامج', bg='#05234f', fg='#fff', cursor='cross') exit_btn.place(x=165, y=100, width=80, height=30) about_btn = Button(btn_Frame, text='من نحن', bg='#05234f', fg='#fff', cursor='heart', bitmap='info') about_btn.place(x=50, y=100, width=80, height=30) # ----------- search manage البحث ----------- search_Frame = Frame(self.root, bg="#fff") search_Frame.place(x=2, y=35, width=896, height=50) lbl_search = Label(search_Frame, text='البحث', font=('monospace', 16), bg='#fff', fg='#05234f') lbl_search.place(x=830, y=12) combo_search = ttk.Combobox(search_Frame, justify='right') combo_search['value']=('الرقم التسلسلي', 'الاسم', 'الإيميل', 'رقم الهوية', 'الجنس', 'الحالة الاجتماعية', 'المدينة', 'رقم الهاتف', 'المؤهل العلمي', 'الجامعة', 'نوع المهارة', 'المسمى الوظيفي', 'المعرفة المهنية', 'برامج التصميم', 'برامج المونتاج', 'مهارات البرمجة') combo_search.place(x=680, y=14) search_Entry = Entry(search_Frame, bd='2', bg='#05234f', fg='#fff', justify='right') search_Entry.place(x=545, y=14) search_btn = Button(search_Frame, text='بحث', bg='#05234f', fg='#fff', cursor='circle') search_btn.place(x=460, y=10, width=80, height=30) # ----------- dietals عرض النتائج والبيانات ----------- Dietals_Frame = Frame(self.root, bg="#fff") Dietals_Frame.place(x=2, y=88, width=896, height=560) # -------- scroll -------- scroll_x = Scrollbar(Dietals_Frame, orient=HORIZONTAL) scroll_y = Scrollbar(Dietals_Frame, orient=VERTICAL) # -------- treeview -------- self.student_table = ttk.Treeview(Dietals_Frame, columns=('Telegram', 'Skype', 'Phone', 'City', 'Governorate', 'Country', 'ID photo', 'Nationality', 'Family', 'Social Status', 'Gender', 'Date Birth', 'ID Number', 'E-mail', 'Name', 'ID'), xscrollcommand=scroll_x.set, yscrollcommand=scroll_y.set) self.student_table.place(x=20, y=2, width=890, height=540) scroll_x.pack(side=BOTTOM, fill='x') scroll_y.pack(side=LEFT, fill='y') scroll_x.config(command=self.student_table.xview) scroll_y.config(command=self.student_table.yview) self.student_table['show'] = 'headings' self.student_table.heading('Telegram', text='تلغرام') self.student_table.heading('Skype', text='سكايب') self.student_table.heading('Phone', text='رقم الموبايل') self.student_table.heading('City', text='المدينة') self.student_table.heading('Governorate', text='المحافظة') self.student_table.heading('Country', text='الدولة') self.student_table.heading('ID photo', text='صورة الهوية') self.student_table.heading('Nationality', text='الجنسية') self.student_table.heading('Family', text='عدد أفراد الأسرة') self.student_table.heading('Social Status', text='الحالة الاجتماعية') self.student_table.heading('Gender', text='الجنس') self.student_table.heading('Date Birth', text='تاريخ الميلاد') self.student_table.heading('ID Number', text='رقم الهوية') self.student_table.heading('E-mail', text='البريد الإلكتروني') self.student_table.heading('Name', text='الاسم') self.student_table.heading('ID', text='الرقم التسلسلي') # ----------- con + add ----------- self.fetch_all() def add_student(self): con = pymysql.connect( host = 'localhost', user = 'root', password = '', database = 'stud') cur = con.cursor() cur.execute("insert into student values(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",( self.id_var.get(), self.name_var.get(), self.mail_var.get(), self.id_number_var.get(), self.date_birth_var.get(), self.gender_var.get(), self.social_status_var.get(), self.family_var.get(), self.nationality_var.get(), self.id_photo_var.get(), self.country_var.get(), self.governorate_var.get(), self.city_var.get(), self.phone_var.get(), self.skype_var.get(), self.telegram_var.get() )) con.commit() con.close() def fetch_all(self): con = pymysql.connect(host='localhost', user = 'root', password = '', database = 'employ') cur = con.cursor() cur.execute('select * from employees') rows = cur.fetchall() if len (rows) !=0: self.student_table.delete(*self.student_table.get_children) for row in rows: self.student_table.insert("", END, value=row) con.commit() con.close() root = Tk() ob = Employee(root) root.mainloop() ولكن بعد كتابة دالة جديدة لعرض تلك المدخلات على واجهة البرنامج : def fetch_all(self): con = pymysql.connect(host='localhost', user = 'root', password = '', database = 'employ') cur = con.cursor() cur.execute('select * from employees') rows = cur.fetchall() if len (rows) !=0: self.student_table.delete(*self.student_table.get_children) for row in rows: self.student_table.insert("", END, value=row) con.commit() con.close() وعند استدعاء الدالة : self.fetch_all() يعطيني الخطأ التالي: line 560, in fetch_all self.student_table.delete(*self.student_table.get_children) TypeError: tkinter.ttk.Treeview.delete() argument after * must be an iterable, not method أرجو الإفادة
  12. بارك الله فيك على المعلومات المقدمة
  13. هناك نشاط أو اختبار بلغة بايثون عن تحليل البيانات Data Analysis ارجو المساعدة ممن لديهم الخبرة في المجال
  14. يعني نضع هذا الكود داخل كود html ام ملف لوحده ونربطه ونربطه عن طريق action
  15. لو أردنا أن نجعل هذا البرنامج يعمل مع <!DOCTYPE HTML> <html> <head> </head> <body> <h2>Text Analyzer</h2> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> <textarea name="comment" rows="5" cols="40"></textarea> <br><br> <input type="submit" name="submit" value="Analyzer!"> </form> </body> </html> فورم ادخال نص وارساله ليرجع لنا قيم البرنامج ماذا يمكن أن نضيف في الكود
  16. كتابة نص بلغة PHP يقبل قيمة نصية وله 3 وظائف : أ. الأحرف (): إرجاع عدد الأحرف. ب. الكلمات (): إرجاع عدد الكلمات. ج. الأسطر (): إرجاع عدد الأسطر. الرجاء الإفادة فضلاً
  17. صحيح تمام بارك الله فيك
  18. عند تشغيل كود البرنامج التالي : from pytube import YouTube link = 'https://youtu.be/UxaUgDcZ2KI' # link = input("Please enter the video url: ") video = YouTube(link) print(f"The video title is:\n{video.title} \n------------------------------") print(f"The video description is:\n{video.description} \n------------------------------") print(f"The video views are:\n{video.views} \n------------------------------") print(f"The video rating is:\n{video.rating} \n------------------------------") print(f"The video duration is:\n{video.length} seconds \n------------------------------") # print(video.streams) يظهر الخطأ التالي : line 1, in <module> from pytube import YouTube ImportError: cannot import name 'YouTube' from partially initialized module 'pytube' (most likely due to a circular import) (D:\الدورات\Introduction to Python Programming\Projects\Youtube Downloader\pytube.py) Process finished with exit code 1 ما المشكلة هنا؟
  19. قمت بتثبيتها على طريقة المهندس (Hasan Dayoub) وعلى ما يبدو أنه تم تثبيتها لأنه ظهرت النتيجة التالية : altgraph==0.17 future==0.18.2 pefile==2019.4.18 pyinstaller==4.2 pyinstaller-hooks-contrib==2021.1 pytube==10.6.1 pytube3==9.6.4 pywin32-ctypes==0.2.0 typing-extensions==3.7.4.3 كما في الصورة : لكن هناك مشكلة عندما اشغل الكود يظهر التالي : line 1, in <module> from pytube import YouTube ImportError: cannot import name 'YouTube' from partially initialized module 'pytube' (most likely due to a circular import) (D:\الدورات\Introduction to Python Programming\Projects\Youtube Downloader\pytube.py) Process finished with exit code 1 كما في الصورة : ما المشكلة هنا؟ على ما يبدو أنه تم تثبيتها لأنه ظهرت النتيجة التالية : ٠٥/٠٤/٢١ ٠٩:٣١ م Packages installed successfully: Installed packages: 'pip' ٠٩:٣٤ م Packages installed successfully: Installed packages: 'pytube' ٠٩:٣٤ م Packages installed successfully: Installed packages: 'pytube3' كما في الصورة : لكن هناك مشكلة عندما اشغل الكود يظهر التالي : line 1, in <module> from pytube import YouTube ImportError: cannot import name 'YouTube' from partially initialized module 'pytube' (most likely due to a circular import) (D:\الدورات\Introduction to Python Programming\Projects\Youtube Downloader\pytube.py) Process finished with exit code 1 كما في الصورة :
  20. قمت بكتابة بعض الأوامر على CMD قبل قراءة الرد وأصبح تعارض في إضافات plugins !! فقمت بحذف ال Pycharm وتحميلة من جديد ثم رجعت بعد فتح ال CMD ووضعت الأمر : pip install git+https://github.com/pytube/pytube فأعطاني النتيجة التالية : Collecting git+https://github.com/pytube/pytube Cloning https://github.com/pytube/pytube to c:\users\jit\appdata\local\temp\pip-req-build-6d6qt7ko Running command git clone -q https://github.com/pytube/pytube 'C:\Users\jit\AppData\Local\Temp\pip-req-build-6d6qt7ko' !!! صورة توضيحية قمت بفتح ال Pycharm ثم تتبعت الأوامر File > Settings > Python interpreter فظهر لي خيار المكتبة ولكن ام يظهر أمر تنزيل اخترت المكتبة ولم يتغير شيء!! صورة توضيحية :
  21. أريد تنزيل مكتبة من مكتبات بايثون تدعى (pytube) وعندما أضع أمر التنزيل [pip install git+https://github.com/pytube/pytube] في لوحة cmd يخرج الناتج التالي: Collecting git+https://github.com/pytube/pytube Cloning https://github.com/pytube/pytube to c:\users\jit\appdata\local\temp\pip-req-build-w3q3fwqn Requirement already satisfied (use --upgrade to upgrade): pytube==10.6.1 from git+https://github.com/pytube/pytube in c:\users\jit\appdata\local\programs\python\python39\lib\site-packages Using legacy 'setup.py install' for pytube, since package 'wheel' is not installed. WARNING: You are using pip version 20.2.3; however, version 21.0.1 is available. You should consider upgrading via the 'c:\users\jit\appdata\local\programs\python\python39\python.exe -m pip install --upgrade pip' command. فأقوم بكتابة ما يطلبة الناتج [pip install --upgrade pip] في لوحة cmd يخرج الناتج التالي: Installing collected packages: pip Attempting uninstall: pip Found existing installation: pip 20.2.3 Uninstalling pip-20.2.3: Successfully uninstalled pip-20.2.3 ERROR: Could not install packages due to an EnvironmentError: [WinError 5] Access is denied: 'C:\\Users\\jit\\AppData\\Local\\Temp\\pip-uninstall-pnqylmmj\\pip.exe' Consider using the `--user` option or check the permissions. صورة توضيحية : وفي محاولة أخرى لتثبيتها قمت بكتابة الأمر في ال (Terminal) داخل برنامج (PyCharm) يخرج الناتج التالي: Collecting git+https://github.com/pytube/pytube Cloning https://github.com/pytube/pytube to c:\users\jit\appdata\local\temp\pip-req-build-o5uke_cl Running command git clone -q https://github.com/pytube/pytube 'C:\Users\jit\AppData\Local\Temp\pip-req-build-o5uke_cl' صورة توضيحية : ولم أنجح في تثبيت المكتبة! وما السبب في ذلك؟ وكيف اصل إلى الحل؟
  22. السلام عليكم ورحمه الله أحتاج مساعدة في عمل برنامج Credit Card php checker cvv and expiration date with Php المطلوب : فحص البطاقة والتاريخ و cvv واذا التاريخ غلط يطبع invalid expire dat واذا السي في في غلط يطبع invalid Cvv واذا صحيح يطبع Successful card ممكن نعملهم على برنامجين على نفس الموقع برنامج expire date وبرنامج cvv ... ... ... كود البرنامج موجود مرفق creditCard.php لكن نحتاج عمل الفورم وبعض التعديلات على الكود. على من يجد عنده الكفاءة لذلك الرجاء الرد أو المراسلة. وجزاكم الله خير
  23. أكيد تمام بارك الله فيك
    ما شاء الله جهد مبارك
      • 5
      • أعجبني
×
×
  • أضف...