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

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

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

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

                  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 תגובה אחרונה תגובה ציטוט 1
        • י
          ישראללוי @פיסטוק פרווה נערך לאחרונה על ידי ישראללוי

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

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

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

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

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

              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 תגובה אחרונה תגובה ציטוט 1
                    • 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
                            • פוסט ראשון
                              פוסט אחרון