• הרשמה
    • התחברות
    • חיפוש
    • דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • קבלת התראות מהדפדפן
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    1. דף הבית
    2. 795501400
    7
    • פרופיל
    • עוקב אחרי 0
    • עוקבים 0
    • נושאים 5
    • פוסטים 29
    • הגבוה ביותר 2
    • שנוי במחלוקת 0
    • קבוצות 0

    795501400

    @795501400

    3
    מוניטין
    9
    צפיות בפרופיל
    29
    פוסטים
    0
    עוקבים
    0
    עוקב אחרי
    הצטרף ב- התחבר לאחרונה

    795501400 הפסק לעקוב עקוב

    הפוסטים הטובים ביותר שנוצרו על ידי 795501400

    • RE: מודל סקר להצבעה טלפונית בזמן אמת למתמודדים בתחרות הקול הבא בקעמפ, איך בקצרה עושים את זה!

      @9918 סיכום של מערכת שעובדת

      שלוחה ראשית
      שאת השלוחה מחליפים לפי השלב כמובן

      type=go_to_folder
      go_to_folder=/1
      

      שלוחה 1 אודישנים
      אצלנו מכל שיעור עלו 3 לאודישנים
      ורציתי שכל בחור יבחר רק את המתמודדים של הועד שלו להעלות לתחרות עצמה
      ויבחר 3 לא פחות ולא יותר
      לכן סיננתי עם ID

      type=go_to_folder_from_list_all_information
      record_name=no
      value_number=3
      A=1
      B=2
      C=3
      D=4
      E=5
      go_to_folder_default=3
      

      ובתוכו יש שלוחות משנה (בדוגמא שלי 1-5) שבהם כתוב כך
      כמו שניתן לראות יש להזין 3 נתונים בדוגמא הנ"ל מתוך 12 כמובן שניתן להוריד ולהעלות

      enter_id=yes
      enter_id_type=list_all_information
      type=recording_and_entering_data
      record_name=no
      050-option=2-1-7-Number-AskNo-1,2,3,4,5,6,7,8,9,10,11,12
      051-option=2-1-7-Number-AskNo-1,2,3,4,5,6,7,8,9,10,11,12----CheckNoDoubleFromEnter
      052-option=2-1-7-Number-AskNo-1,2,3,4,5,6,7,8,9,10,11,12----CheckNoDoubleFromEnter
      say_approval_number=say_approval_no_number
      recording_and_entering_data_enter_id_max_approval=1
      booking_Folder-1/1=1142
      

      שלוחה 2 היא שלב ראשון בתחרות
      בה יש את הסינון הבא

      type=go_to_folder_from_list_all_information
      record_name=no
      value_number=3
      A=1
      B=1
      C=1
      D=1
      E=1
      go_to_folder_default=3
      title=שלב א
      

      כמו שניתן לראות בו כל הבחורים מופנים לשלוחה אחת
      כמובן שבעת ההצבעה על הבחור מכל ועד שעולה יש לשנות את הההפניה לשלוחת משנה הרלוונטית (אודישנים 3 מתוך ועד - שלב ראשון 1 מתוך 3 - עולים 5 לשלב הבא)
      בשלוחת המשנה רשום כך

      enter_id=yes
      enter_id_type=list_all_information
      type=recording_and_entering_data
      record_name=no
      050-option=2-1-7-Number-AskNo-1,2,3
      say_approval_number=say_approval_no_number
      recording_and_entering_data_enter_id_max_approval=1
      booking_Folder-2/1=1065
      booking_Folder-1/1=1487
      

      שלוחה 3
      כעת הגענו לשלב רבע הגמר בו יש לנו 6 בחורים (5 מהבחורים ואחד מהשופטים)
      ואנחנו רוצים להוציא 2 בחורים החוצה

      type=go_to_folder_from_list_all_information
      record_name=no
      value_number=3
      A=1
      B=1
      C=1
      D=1
      E=1
      go_to_folder_default=3
      title=רבע גמר
      

      עם שלוחת משנה אחת בלבד כבר שבה רשום את הקוד הבא
      אשר כל בחור בוחר 2 מתוך 6 וה4 בעלי הציון הגבוה ביותר עוברים לשלב הבא

      enter_id=yes
      enter_id_type=list_all_information
      type=recording_and_entering_data
      record_name=no
      050-option=2-1-7-Number-AskNo-1,2,3,4
      051-option=2-1-7-Number-AskNo-1,2,3,4----CheckNoDoubleFromEnter
      say_approval_number=say_approval_no_number
      recording_and_entering_data_enter_id_max_approval=1
      booking_Folder-2/1=1065
      title=
      

      שלוחה 4
      כעת אנחנו בשלב חצי הגמר עם 4 בחורים על הבמה

      type=go_to_folder_from_list_all_information
      record_name=no
      value_number=3
      A=1
      B=1
      C=1
      D=1
      E=1
      go_to_folder_default=3
      title= חצי גמר
      

      ובשלוחת המשנה רשום כך

      enter_id=yes
      enter_id_type=list_all_information
      type=recording_and_entering_data
      record_name=no
      050-option=2-1-7-Number-AskNo-1,2,3,4
      051-option=2-1-7-Number-AskNo-1,2,3,4----CheckNoDoubleFromEnter
      say_approval_number=say_approval_no_number
      recording_and_entering_data_enter_id_max_approval=1
      booking_Folder-2/1=1551
      

      שלוחה 5
      היא שלוחת הגמר ובה רשום כך

      type=go_to_folder_from_list_all_information
      record_name=no
      value_number=3
      A=1
      B=1
      C=1
      D=1
      E=1
      go_to_folder_default=3
      title=גמר
      

      ובמשנה רשום כך

      enter_id=yes
      enter_id_type=list_all_information
      type=recording_and_entering_data
      record_name=no
      050-option=2-1-7-Number-AskNo-1,2
      say_approval_number=say_approval_no_number
      recording_and_entering_data_enter_id_max_approval=1
      booking_Folder-2/1=1065
      booking_Folder-3/1=1507
      

      נ.ב. קובץ ליסט אל אינפורמיישן מורכב מ4 עמודות
      תעודת זהות
      אישור מעבר וחסימה
      ועד
      שם

      פורסם בשאלות ועזרה הדדית
      7
      795501400
    • RE: משא ומתן עם השרת

      @צדיק-תמים יש לי כרגע המון המון API כתובים ועובדים תקין
      גם התקשורת הזאת עובדת
      אני מקבל את הנתונים
      רק אני לא הצלחתי להבין כיצד לשלוח לו שאלה חדשה אחר כך

      (עדין לא הבנתי - אבל כרגע אני לא בודק בלייב האם זה כניסה כפולה או יציאה כפולה - זה מטופל בדוח היומי - כך שלהתחיל להקים שרות בשפה שאינני מכיר בשביל הסבר אחד שחסר לי - קצת הרבה בשבילי)

      פורסם בפורום מפתחים API
      7
      795501400

    פוסטים אחרונים שנוצרו על ידי 795501400

    • RE: משא ומתן עם השרת

      @צדיק-תמים אין בעיה
      פשוט לא הצלחתי למצוא תיעוד כלשהו רצוי בפייתון כיצד אני מנהל משא ומתן
      מתי ימות יקריאו את ההודעה שלי ומתי רק יאמר שגיאה
      למה אני חייב לשלוח & למרות שלא שמתי לב לזה בתעוד
      ועוד
      ולכן אני לא יודע כיצד להתקדם למשא ומתן
      בתאוריה אני מבין מה לעשות
      אבל בפועל כציוד זה חסר לי

      פורסם בפורום מפתחים API
      7
      795501400
    • RE: משא ומתן עם השרת

      @צדיק-תמים מודל שעון נוכחות
      כל הניסויים שעשיתי בערב פסח לא הכילו את המידע לאיזה מערכת חייגו
      חוץ מזה שלא ניתן להגדיר משום מה מה זה שעות המשמרת
      וכן שגם כניסה וגם יציאה רשומים בלוג ככניסה

      גם אני בapi מקבל את כל המידע שאפשר אבל קבצי הדוחות לא הכילו את המידע הזה

      כך שבניתי את כל המערכת שלי סביב api מלא וכל השאר בשרת
      ויש לי בעיה כיצד להחזיר תגובות שאינן הודעת סיכום כלומר נרשמה כניסה

      פורסם בפורום מפתחים API
      7
      795501400
    • RE: משא ומתן עם השרת

      @עידו באם זה היה תלוי במה שימות עושים (כלומר בהקשת 1 שימות יעשו א ובהקשת 2 שימות יעשו ב לא היה לי בעיה - א. כי אני יודע לקרוא ב. כי אם לא אני GPT + גימיני יודעים לקרוא ואני שלחתי להם את כל התעוד האפשרי על מודל API)
      הבעיה מתחילה בזה שהתברר לי שלמרבה הצער אני לא יכול לסמוך על המודל של ימות כלל עקב באגים רבים (עד אי קבלת המספר שאליו התקשרו)
      לכן היה עלי לבנות (ואני באמצע עדין) מנגנון שלם על השרת שלי שיהווה את המודל הזה

      הנקודה היא לא האם הקיש 1 או 2
      הנקוה היא האם כאשר קיבלתי פרמטר 1 (כלומר כניסה) ולי בשרת רשום שביצע כניסה לפני 10 דקות
      עלי להתחיל פתאום שאלה חדשה לגמרי
      שלא יש כמה אופציות לתשובה
      וכן הלאה

      ולא אין תעוד ברור כיצד עושים זאת
      ועדין אני אשמח באם יש למישהו דוגמא בפיתון של שרשור שאלות
      זה מאד יעזור לי

      פורסם בפורום מפתחים API
      7
      795501400
    • RE: משא ומתן עם השרת

      @צדיק-תמים יש לי כרגע המון המון API כתובים ועובדים תקין
      גם התקשורת הזאת עובדת
      אני מקבל את הנתונים
      רק אני לא הצלחתי להבין כיצד לשלוח לו שאלה חדשה אחר כך

      (עדין לא הבנתי - אבל כרגע אני לא בודק בלייב האם זה כניסה כפולה או יציאה כפולה - זה מטופל בדוח היומי - כך שלהתחיל להקים שרות בשפה שאינני מכיר בשביל הסבר אחד שחסר לי - קצת הרבה בשבילי)

      פורסם בפורום מפתחים API
      7
      795501400
    • RE: משא ומתן עם השרת

      @אביי-ורבא הבעיה היא שמה שאני מכיר הוא פייתון
      NODE לא זכיתי לדעת
      וודאי שלא לשלב את זני אלו בפרוייקט אחד

      החלק של שעון הנוכחות זה רק חלק ממערכת שלמה שכתובה בשפת פייתון כך שאינני יכול לשנות אותם לNIDE

      פורסם בפורום מפתחים API
      7
      795501400
    • RE: משא ומתן עם השרת

      @CUBASE אני יכול להחזיר עוד read ועוד ועוד?

      פורסם בפורום מפתחים API
      7
      795501400
    • RE: משא ומתן עם השרת

      @CUBASE כיון שמודל שעון נוכחות לא עובד כמו שצריך
      אני בונה כזה עצמאי אצלי על השרת
      אני מנסה לטפל מה קרה אם הדיווח לא תקין
      למשל דיווח נוסף על כניסה או דיווח נוסף על יציאה (כלומר חוסר בדיווח קודם)
      כיצד אני בעצם פותח דו שיח נוסף עם השרת אחרי שהוא דיווח לי על יציאה
      באופן רגיל אני עונה לו את ההודעה התקבל דיווח בהצלחה
      אבל פה אני בעצם רוצה לומר לו יש בעיה
      מה לעשות?
      א. ב. או ג?
      כיצד אני עושה את זה?

      פורסם בפורום מפתחים API
      7
      795501400
    • RE: משא ומתן עם השרת

      @CUBASE קראתי
      אפילו שלחתי לAI שוב ושוב את הדברים
      לפי מה שאני מבין משם

      שרשור פעולות
      בפעולה מסוג read לא ניתן לשרשר פעולות לביצוע.
      לאחר ביצוע פעולה אחת המערכת שולחת מיד את הנתון לשרת ולא מבצעת את הפעולה השניה
      
      לדוגמה
      
      read=f-000=foo,yes,8,4,7,Number,yes,no,*/&read=f-001=bar,yes,8,4,7,Number,yes,no,*/&
      המערכת תקבל ותשלח רק את הפרמטר foo ולא את הפרמטר bar
      

      וזה בעיה
      יש לי את הקלאס הבא

      def yemot_api_handler(request):
          params = {}
          if request.method == 'POST':
              params = request.POST
          elif request.method == 'GET':
              params = request.GET
          else:
              logger.error("Yemot API Handler received unsupported method: %s", request.method)
              return HttpResponse(status=405)
      
          logger.info("Yemot API Handler received params: %s", dict(params.items()))
      
          api_call_id = params.get('ApiCallId')
          api_real_did = params.get('ApiRealDID')
          api_enter_id = params.get('ApiEnterID')
          action_code = params.get('action_type')
          if action_code is None:
              logger.info("action_type missing, returning 'read' command to Yemot.")
              read_command = "read=t-לדיווח כניסה הקישו 1, לדיווח יציאה הקישו 2=action_type,,Digits,1,1,Digits,yes,yes"
              return HttpResponse(read_command, content_type="text/plain; charset=utf-8")
          if not api_real_did or not api_enter_id:
              logger.error("Missing required parameters after read: DID=%s, EnterID=%s", api_real_did, api_enter_id)
              return HttpResponse("id_list_message=t-שגיאה בקבלת נתונים חיוניים", content_type="text/plain; charset=utf-8")
          try:
              enrollment_query_kwargs = {
                  'major__yemot_did': api_real_did,
                  'enter_id_in_major': api_enter_id,
                  'is_active_in_major': True,
                  'major__is_active': True
              }
              enrollment = StudentMajorEnrollment.objects.select_related('student', 'major').get(**enrollment_query_kwargs)
          except StudentMajorEnrollment.DoesNotExist:
              logger.warning("Enrollment not found using query: %s", enrollment_query_kwargs)
              return HttpResponse("id_list_message=t-הזיהוי שהוקש אינו קיים או אינו פעיל במערכת כולל זו", content_type="text/plain; charset=utf-8")
          except StudentMajorEnrollment.MultipleObjectsReturned:
              logger.error("CRITICAL: Multiple active enrollments found for query: %s", enrollment_query_kwargs)
              return HttpResponse("id_list_message=t-שגיאה חמורה בנתונים, נא פנה למנהל המערכת", content_type="text/plain; charset=utf-8")
          except Exception as e:
              logger.exception("Unexpected error finding enrollment for query: %s", enrollment_query_kwargs)
              return HttpResponse("id_list_message=t-שגיאה כללית בגישה לנתונים", content_type="text/plain; charset=utf-8")
          action_type_str = None
          confirmation_message = "t-הפעולה נכשלה" 
      
          timestamp = timezone.now()
          time_str = timezone.localtime(timestamp).strftime("%H:%M")
      
          if action_code == '1':
              action_type_str = "Entry"
              confirmation_message = f"t-נרשמה כניסה בשעה {time_str}"
          elif action_code == '2':
              action_type_str = "Exit"
              confirmation_message = f"t-נרשמה יציאה בשעה {time_str}"
          else:
              logger.warning("Invalid action code '%s' received for enrollment %s", action_code, enrollment.id)
              confirmation_message = "t-הבחירה שהוקשה שגויה"
      
          if action_type_str:
              try:
                  AttendanceEvent.objects.create(
                      enrollment=enrollment,
                      action_type=action_type_str,
                      timestamp=timestamp,
                      api_call_id=api_call_id
                  )
                  logger.info("Recorded %s for enrollment %s (Student: %s, Major: %s)",
                              action_type_str, enrollment.id, enrollment.student.name, enrollment.major.name)
              except Exception as e:
                  logger.exception("DATABASE ERROR: Failed to save AttendanceEvent for enrollment %s", enrollment.id)
                  confirmation_message = "t-אירעה שגיאה פנימית ברישום, נא פנה למנהל"
      
          yemot_response_text = f"id_list_message={confirmation_message}"
          yemot_response_text += "&go_to_folder=hangup"
      
          return HttpResponse(yemot_response_text, content_type="text/plain; charset=utf-8")
      
      

      זה עובד
      אבל שאני רוצה לטפל במקרה של כניסה כפולה זה אומר שעלי לשלוח בקשה חדשה לגמרי לשרת
      כלומר בחרת כניסה אבל במערכת רשומה כניסה כבר בתאריך X סעה Y מה ברצונך לעשות וכו?
      כיצד אני עושה זאת?

      פורסם בפורום מפתחים API
      7
      795501400
    • RE: משא ומתן עם השרת

      @CUBASE כעת נשלח אלי פרמטר AAA
      כעת כיון שהוא מכיל 2 לפי מה שרשום לי אני צריך לשאול שאלה חדשה
      אבל אם היה רשום 1
      היה פשוט הודעת OK מהשרת כמובן עם נוסח מה חוזר
      אני עדין לא מצליח להבין את התעוד כיצד אני עושה זאת

      פורסם בפורום מפתחים API
      7
      795501400
    • משא ומתן עם השרת

      האם ניתן להגדיר בשלוחה שישלח נתון א
      השרת יענה תשובה
      ולפי בחירת המשתמש ימשיכו הלאה עוד ועוד?

      כלומר כיצד אני מגדיר בעצם בקשות לפרמטרים נוספים בהתאם להתקדמות השיחה?
      האם לבקש עוד נתונים
      האם לשלוח הודעת אישור
      וכד'

      פורסם בפורום מפתחים API
      7
      795501400