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

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

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

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

      target_path_folder = "IVR2/8"

      יש לך כמה שגיאות קודם כל בשורה 46:

      target_path_folder = "IVR2/8"
      

      תשנה ל:

      target_path_folder = "ivr/8/"
      

      תוסיף בפרמס: autoNumbering: true
      כדי שזה יעלה במספור אוטומטי או שתשנה את הנתיב שיהיה את שם הקובץ + סיומת
      לדוגמא

      target_path_folder = "ivr/8/000.wav"
      
      י 2 תגובות תגובה אחרונה תגובה ציטוט 0
      • י
        ישראללוי @פיסטוק פרווה נערך לאחרונה על ידי

        פוסט זה נמחק!
        תגובה 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
                                • פוסט ראשון
                                  פוסט אחרון