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

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

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

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

      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 תגובה אחרונה תגובה ציטוט 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

                                שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

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

                                בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                                הרשמה התחברות
                                • פוסט ראשון
                                  פוסט אחרון