• הרשמה
    • התחברות
    • חיפוש
    • דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • קבלת התראות מהדפדפן
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private

    בדיקת קוד פייתון

    עזרה הדדית למשתמשים מתקדמים
    5
    19
    79
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • י
      ישראללוי @פיסטוק פרווה נערך לאחרונה על ידי

      פוסט זה נמחק!
      תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • י
        ישראללוי @פיסטוק פרווה נערך לאחרונה על ידי ישראללוי

        @פיסטוק-פרווה זה הקריאה המועדכנת
        זה תקין?

                    response = session.post(f"{YEMOT_API_URL}/UploadFile", headers={
                        "token": f"{YEMOT_API_USERNAME}:{YEMOT_API_PASSWORD}",
                        "path": "IVR2/8/a.wav"
                        }, files={'file': (f'{remote_filename}.wav', f, 'audio/wav')}
                    , timeout=90) # Timeout ארוך יותר להעלאה
                    response.raise_for_status()
        

        זה תקין?

                        "token": f"{YEMOT_API_USERNAME}:{YEMOT_API_PASSWORD}",
        
        

        זה מחזיר שגיאה
        שגיאת העלאת קובץ: IllegalStateException(session token is required)

        פ תגובה 1 תגובה אחרונה תגובה ציטוט 0
        • פ
          פיסטוק פרווה מומחה @ישראללוי נערך לאחרונה על ידי

          @ישראללוי
          זה לא קורא טוב את הערכים מה .env
          איך רשמת ב ENV. (בלי סיסמה)

          י תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • י
            ישראללוי @פיסטוק פרווה נערך לאחרונה על ידי ישראללוי

            @פיסטוק-פרווה
            YEMOT_USERNAME=************
            YEMOT_PASSWORD=*********
            הטוקן והנתיב צריכים להיות בעדר או בפרמס?

            פ תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • פ
              פיסטוק פרווה מומחה @ישראללוי נערך לאחרונה על ידי

              @ישראללוי
              נראה לי שאפשר גם וגם אבל עדיף בפרמס

              י תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • פ
                פיסטוק פרווה מומחה נערך לאחרונה על ידי

                @ישראללוי כתב בבדיקת קוד פייתון:

                YEMOT_API_USERNAME

                תוסיף פרינט של היוזר והסיסמה בהפעלת הקוד אחרי שזה נמשך מה env

                י תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • י
                  ישראללוי @פיסטוק פרווה נערך לאחרונה על ידי

                  @פיסטוק-פרווה כתב בבדיקת קוד פייתון:

                  @ישראללוי כתב בבדיקת קוד פייתון:

                  YEMOT_API_USERNAME

                  תוסיף פרינט של היוזר והסיסמה בהפעלת הקוד אחרי שזה נמשך מה env

                  הדפסתי והערכים תקינים

                  תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • C
                    CUBASE נערך לאחרונה על ידי CUBASE

                    לא הבנתי למה צריך ffmpeg?, המערכת ממירה לבד את הקובץ

                    תגובה 1 תגובה אחרונה תגובה ציטוט 0
                    • י
                      ישראללוי @פיסטוק פרווה נערך לאחרונה על ידי

                      @פיסטוק-פרווה כתב בבדיקת קוד פייתון:

                      @ישראללוי
                      נראה לי שאפשר גם וגם אבל עדיף בפרמס

                      זה המעודכן

                              with open(local_wav_path, 'rb') as f:
                                  # שם הקובץ בהעלאה צריך להיות עם סיומת .wav
                                  response = session.post(f"{YEMOT_API_URL}/UploadFile",
                                      params={
                                          "token": f"{YEMOT_API_USERNAME}:{YEMOT_API_PASSWORD}",
                                          "path":"IVR2/8/a.wav"
                                      },
                                      headers={
                                          "files": files
                                      }
                                  , timeout=90)
                      
                      

                      תקין?

                      C תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • C
                        CUBASE @ישראללוי נערך לאחרונה על ידי

                        @ישראללוי ה-path שוב לא תקין, תחליף ל-ivr/8/a.wav

                        י תגובה 1 תגובה אחרונה תגובה ציטוט 0
                        • י
                          ישראללוי @CUBASE נערך לאחרונה על ידי ישראללוי

                          @CUBASE כתב בבדיקת קוד פייתון:

                          @ישראללוי ה-path שוב לא תקין, תחליף ל-ivr/8/a.wav

                          זה המעודכן

                                  with open(local_wav_path, 'rb') as f:
                                      # שם הקובץ בהעלאה צריך להיות עם סיומת .wav
                                      files = {'file': (f'{remote_filename}.wav', f, 'audio/wav')}
                                      response = session.post(f"{YEMOT_API_URL}/UploadFile",
                                          params={
                                              "token": f"{YEMOT_API_USERNAME}:{YEMOT_API_PASSWORD}",
                                              "path":"ivr/8/a.wav"
                                          },
                                          headers={
                                              "files": files
                                          }
                                      , timeout=90)
                          
                          

                          תקין?

                          עריכה זה המעודכן

                                  with open(local_wav_path, 'rb') as f:
                                      # שם הקובץ בהעלאה צריך להיות עם סיומת .wav
                                      files = {'file': (f'{remote_filename}.wav', f, 'audio/wav')}
                                      response = session.post(f"{YEMOT_API_URL}/UploadFile",
                                          params={
                                              "token": f"{YEMOT_API_USERNAME}:{YEMOT_API_PASSWORD}",
                                              "path":"ivr/8/a.wav"
                                          },
                                          files=files,
                                          headers={
                                              "Content-Type": "multipart/form-data"
                                          },
                                          timeout=90
                                      )
                          
                          
                          י תגובה 1 תגובה אחרונה תגובה ציטוט 0
                          • י
                            ישראללוי @ישראללוי נערך לאחרונה על ידי

                            @ישראללוי כתב בבדיקת קוד פייתון:

                            @CUBASE כתב בבדיקת קוד פייתון:

                            @ישראללוי ה-path שוב לא תקין, תחליף ל-ivr/8/a.wav

                            זה המעודכן

                                    with open(local_wav_path, 'rb') as f:
                                        # שם הקובץ בהעלאה צריך להיות עם סיומת .wav
                                        files = {'file': (f'{remote_filename}.wav', f, 'audio/wav')}
                                        response = session.post(f"{YEMOT_API_URL}/UploadFile",
                                            params={
                                                "token": f"{YEMOT_API_USERNAME}:{YEMOT_API_PASSWORD}",
                                                "path":"ivr/8/a.wav"
                                            },
                                            headers={
                                                "files": files
                                            }
                                        , timeout=90)
                            
                            

                            תקין?

                            עריכה זה המעודכן

                                    with open(local_wav_path, 'rb') as f:
                                        # שם הקובץ בהעלאה צריך להיות עם סיומת .wav
                                        files = {'file': (f'{remote_filename}.wav', f, 'audio/wav')}
                                        response = session.post(f"{YEMOT_API_URL}/UploadFile",
                                            params={
                                                "token": f"{YEMOT_API_USERNAME}:{YEMOT_API_PASSWORD}",
                                                "path":"ivr/8/a.wav"
                                            },
                                            files=files,
                                            headers={
                                                "Content-Type": "multipart/form-data"
                                            },
                                            timeout=90
                                        )
                            
                            

                            זה תקין?

                            ה תגובה 1 תגובה אחרונה תגובה ציטוט 0
                            • ה
                              האדם החושב @ישראללוי נערך לאחרונה על ידי האדם החושב

                              @ישראללוי

                              from uuid import uuid4
                              
                              import requests    
                              
                              class Yemot:
                                  BASE_URL = "https://www.call2all.co.il/ym/api/"
                              
                                  def __init__(
                                          self,
                                          user_name: str,
                                          password: str | int,
                                  ) -> None:
                                      self.token = f"{user_name}:{password}"
                                      self.params = {
                                          "token": self.token
                                      }
                              
                                  def upload_file(self, path: str, blob: bytes, file_name: str, base_path: str = "ivr2:/") -> bool:
                                      total_size = len(blob)
                                      chunk_size = 49 * 1024 * 1024
                                      chunks = [blob[offset:offset + chunk_size] for offset in range(0, total_size, chunk_size)]
                                      if len(chunks) == 1:
                                          return self._upload_small_file(path, blob, file_name, base_path)
                                      else:
                                          return self._upload_large_file(path, chunks, file_name, total_size, base_path)
                              
                                  def _upload_small_file(self, path: str, blob: bytes, file_name: str, base_path: str) -> bool:
                                      data = {
                                          "path": f"{base_path}{path}",
                                          "convertAudio": "1",
                                          "autoNumbering": "true",
                                      }
                                      data.update(self.params)
                                      files = {"file": (file_name, blob)}
                                      url = f"{self.BASE_URL}UploadFile"
                                      response = requests.post(url, files=files, data=data).json()
                                      return response["responseStatus"] == "OK"
                              
                                  def _upload_large_file(self, path: str, chunks: list[bytes], file_name: str, content_size: int, base_path: str) -> bool:
                                      qquuid = str(uuid4())
                                      offset = 0
                                      for index, chunk in enumerate(chunks):
                                          data = {
                                              "path": f"{base_path}{path}",
                                              "qquuid": qquuid,
                                              "convertAudio": "1",
                                              "autoNumbering": "true",
                                              "uploader": "yemot-admin",
                                              "qqfilename": file_name,
                                              "qqtotalfilesize": content_size,
                                              "qqtotalparts": len(chunks),
                                              "qqchunksize": len(chunk),
                                              "qqpartbyteoffset": offset,
                                              "qqpartindex": index,
                                          }
                                          data.update(self.params)
                                          files = {
                                              "qqfile": chunk,
                                          }
                                          url = f"{self.BASE_URL}UploadFile"
                                          response = requests.post(url, data=data, files=files).json()
                                          if not response["success"]:
                                              print(f"Error uploading chunk {index}: {response}")
                                              return False
                                          offset += len(chunk)
                              
                                      data = {
                                          "path": f"{base_path}{path}",
                                          "uploader": "yemot-admin",
                                          "convertAudio": "1",
                                          "autoNumbering": "true",
                                          "qquuid": qquuid,
                                          "qqfilename": file_name,
                                          "qqtotalfilesize": content_size,
                                          "qqtotalparts": len(chunks),
                                      }
                                      data.update(self.params)
                                      response = requests.post(f"{self.BASE_URL}UploadFile?done", data=data).json()
                                      return response["responseStatus"] == "OK"
                              
                              
                              תגובה 1 תגובה אחרונה תגובה ציטוט 0
                              • פוסט ראשון
                                פוסט אחרון