• הרשמה
    • התחברות
    • חיפוש
    • דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • קבלת התראות מהדפדפן
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    1. דף הבית
    2. צבי ד"צ
    3. נושאים
    צ
    • פרופיל
    • עוקב אחרי 18
    • עוקבים 12
    • נושאים 77
    • פוסטים 2314
    • הגבוה ביותר 636
    • שנוי במחלוקת 3
    • קבוצות 0

    נושאים שנוצרו על ידי צבי ד"צ

    • צ

      רעיון חדש להוספת ערך ID לכמה קבצים!!
      טיפים עצות והדגמות מהמשתמשים • צבי דורש ציון • • צבי ד"צ

      5
      0
      הצבעות
      5
      פוסטים
      60
      צפיות

      צ

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

      אם יש בכל זאת צורך להוסיף ערך קבוע לכמה קבצים, ומשום מה לא רוצים לעשות מראש כמה קבצים (אולי כי כל אחד מוסיף כמה ערכים אחרים...), פה ודאי שזה יותר נח מקבלת נתונים כי לא צריך להקיש כלום

      Spoiler

      הנה דוגמא פשוטה להוספת ערך לקובץ ListAllInformation

      type=add_id_to_list add_id_to_list_location_list=/EnterID/ListAllInformation add_id_to_list_key_first=ערך לקבצים,1,,,

      קיצור, לגופו של רעיון נראה לי שזה ממש יכול להיות פשוט יחסית...

    • צ

      הפרסומות עלולות להפריע לקומבינות....
      עזרה הדדית למשתמשים מתקדמים • צבי דורש ציון • • צבי ד"צ

      10
      2
      הצבעות
      10
      פוסטים
      144
      צפיות

      י

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

    • צ

      איך להעביר בסיום רישום לצינתוקים למיקום שונה אם נרשם/לא נרשם?
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      19
      0
      הצבעות
      19
      פוסטים
      124
      צפיות

      צ

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

    • צ

      בששמיעת קוים ללא פרסומות זה מוסיף פרסומות לקוים אחרים??
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      8
      1
      הצבעות
      8
      פוסטים
      90
      צפיות

      א

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

    • צ

      "השמע מידע על המערכת שלכם בזמן מענה לשיחת הצינתוק" משהו חדש?
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      4
      0
      הצבעות
      4
      פוסטים
      57
      צפיות

      C

      @צבי-ד-צ

      https://f2.freeivr.co.il/post/170645

    • צ

      גם לכם קשה לפעמים לעבור שלוחות באתר החדש?
      טיפים עצות והדגמות מהמשתמשים • צבי דורש ציון • • צבי ד"צ

      7
      5
      הצבעות
      7
      פוסטים
      103
      צפיות

      C

      @a-r זה סה"כ תוסף פשוט שכשמקלידים את כתובת השלוחה המבוקשת הוא משנה את זה ב-URL וכך עובר לשלוחה (עפ"י הרעיון שהובא בתחילת השרשור)

      זה לא יושב על שום שרת אלא על המחשב הפרטי שלך

    • צ

      שמירת נתונים בשלוחה אחרת
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      6
      0
      הצבעות
      6
      פוסטים
      117
      צפיות

      צ

      @אA חה חה חה... 😅
      למעשה זה עובד?

    • צ

      תגובה: מציג לוגים מתקדם ומשוכלל
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      4
      0
      הצבעות
      4
      פוסטים
      99
      צפיות

      מתעניין

      אולי אפשר לעשות קובץ כזה להורדה של קבצי שמע, ע"י טוקן מוגבל?

    • צ

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

      8
      2
      הצבעות
      8
      פוסטים
      155
      צפיות

      צ

      @שואל-שאלה אכן, גם אצלי...
      תודה רבה!
      ותודה לך על העדכון.

    • צ

      ימות המשיח התחילה לחסום קוים שלא מאושרים?
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      38
      0
      הצבעות
      38
      פוסטים
      1600
      צפיות

      ש

      @sumone כתב בימות המשיח התחילה לחסום קוים שלא מאושרים?:

      תוכל לעלות את זה?

      33303074-6150-4157-b4d0-6d2c13e2e78e-image.png

    • צ

      נפתר למה לוקח יותר זמן להעלות קבצי wav מאשר mp3?
      טיפים עצות והדגמות מהמשתמשים • • צבי ד"צ

      10
      0
      הצבעות
      10
      פוסטים
      299
      צפיות

      ש

      @צבי-ד-צ
      כן כי אז המערכת לא ממירה את הקובץ

    • צ

      לא מצליח לנייד מספר עם SMS
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      10
      0
      הצבעות
      10
      פוסטים
      252
      צפיות

      A

      @צבי-ד-צ כתב בלא מצליח לנייד מספר עם SMS:

      ום שלא צריך, מישהו יודע משהו על זה?

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

    • צ

      פעולות למתקשר בהעברת השיחה
      שאלות ועזרה הדדית • • צבי ד"צ

      1
      0
      הצבעות
      1
      פוסטים
      120
      צפיות

      אין תגובות

    • צ

      נקודות עצירה בהשמעת קבצים
      שאלות ועזרה הדדית • • צבי ד"צ

      1
      0
      הצבעות
      1
      פוסטים
      119
      צפיות

      אין תגובות

    • צ

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

      5
      0
      הצבעות
      5
      פוסטים
      126
      צפיות

      ב

      @צבי-ד-צ בטעות נכנס לך ההגדרה של הוספת ערך

      e871223a-f786-4874-9195-dc018c2f1bd2-image.png

    • צ

      שימו לב - בקשר לפרסומת של פריגת בכניסה למערכות של ימות המשיח
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      8
      3
      הצבעות
      8
      פוסטים
      391
      צפיות

      צ

      @קלולי האמת שגם אני שמתי לב שבווטסאפונים הישנים זה לא ככה, נשמח באמת אם מישהו מההנהלה היקרה שלנו יעשה לנו סדר...

    • צ

      התייעצות: מה עדיף, מספר אחד או שני מספרים?
      עזרה הדדית למשתמשים מתקדמים • • צבי ד"צ

      2
      0
      הצבעות
      2
      פוסטים
      123
      צפיות

      A

      @צבי-ד-צ
      מהנסיון שלי, יש מעלות במערכת אחת -
      1, ההפניה לשלוחות, בהעברת קבצים משלוחה לשלוחה וכדו', יותר קל במערכת אחת {גם מצד ההגדרות הנדרשות וגם מצד מי שמתפעל את הקו},
      2, כל התפעול, קל יותר כשהכל נמצא במערכת אחת,
      למשל - א"א לפתוח במקביל 2 מערכות תוכן {באתר}, אולי באתר החדש {האחרון, שעוד לא פורסם} כן, לא ניסיתי, וכדו'.

      מצד שני, כשהכל בקו אחד, יש פחןת שלוחות זמינות בראשי, וגם יש בזה קצת סיכון שתיהיה איזה הגדרה בעיתית שתעביר לקו השני.
      {אתה יכול לראות בפורום הרבה על פתיחת 2 מערכות תוכן ועל מעבר בטעות למקום לא רצוי וכדו'},

      בהצלחה

    • צ

      בקשה לעזרה בקוד פייתון לפעולה במערכת
      פורום מפתחים API • • צבי ד"צ

      8
      0
      הצבעות
      8
      פוסטים
      316
      צפיות

      צ

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

      import requests import csv import io import logging import sys import os import traceback from datetime import datetime, timedelta from typing import List, Dict, Tuple # הגדרת לוגינג log_dir = os.path.join(os.path.dirname(__file__), 'logs') os.makedirs(log_dir, exist_ok=True) log_file = os.path.join(log_dir, 'time_utilization.log') logging.basicConfig( level=logging.DEBUG, # שינוי לרמת דיבאג מלאה format='%(asctime)s - %(levelname)s - %(message)s', handlers=[ logging.FileHandler(log_file, encoding='utf-8', mode='w'), # מחיקת קובץ לוג קודם logging.StreamHandler(sys.stdout) ] ) # קבועים TOKEN = "079607777:123456" BASE_URL = "https://www.call2all.co.il/ym/api" def convert_hours_to_hebrew_format(total_hours: float) -> str: """המרת שעות לפורמט של שעות ודקות בעברית""" hours = int(total_hours) minutes = int((total_hours - hours) * 60) return f"{hours} שעות ו{minutes} דקות" def get_hebrew_day_name(date: datetime) -> str: """החזרת שם יום בעברית""" hebrew_days = { 0: "ראשון", 1: "שני", 2: "שלישי", 3: "רביעי", 4: "חמישי", 5: "שישי", 6: "שבת" } return hebrew_days[date.weekday()] def get_template_entries() -> List[str]: """קבלת רשימת מספרי פלאפון של לומדים""" url = f"{BASE_URL}/GetTemplateEntries" params = {"token": TOKEN, "templateId": 153193} try: logging.debug(f"שולח בקשה לקבלת רשימת לומדים: {url}") logging.debug(f"פרמטרים: {params}") response = requests.get(url, params=params, timeout=10) response.raise_for_status() logging.debug(f"תגובת השרת: {response.text}") data = response.json() if data["responseStatus"] != "OK": logging.error(f"שגיאה בקבלת רשימת לומדים: {data}") return [] phones = [entry["phone"] for entry in data.get("entries", []) if not entry.get("blocked", False)] logging.info(f"נמצאו {len(phones)} מספרי פלאפון") return phones except requests.exceptions.RequestException as e: logging.error(f"שגיאת רשת בקבלת רשימת לומדים: {e}") logging.error(traceback.format_exc()) return [] def download_ymgr_file(phone: str) -> bytes: """הורדת קובץ YMGR עבור מספר פלאפון""" url = f"{BASE_URL}/RenderYMGRFile" params = { "token": TOKEN, "wath": f"ivr2:/4/PrivateReports/TimeKeeperTotal.{phone}.ymgr", "convertType": "csv", "notLoadLang": 0 } try: logging.debug(f"שולח בקשה להורדת קובץ YMGR עבור {phone}: {url}") logging.debug(f"פרמטרים: {params}") response = requests.get(url, params=params, timeout=10) response.raise_for_status() logging.debug(f"גודל קובץ שהתקבל: {len(response.content)} בתים") with open(os.path.join(log_dir, f'{phone}_ymgr.csv'), 'wb') as f: f.write(response.content) logging.info(f"הורדת קובץ YMGR עבור {phone} בוצעה בהצלחה") return response.content except requests.exceptions.RequestException as e: logging.error(f"שגיאה בהורדת קובץ YMGR עבור {phone}: {e}") logging.error(traceback.format_exc()) raise def process_csv_data(csv_content: bytes, today: datetime) -> float: """עיבוד נתוני CSV והחזרת סך השעות עבור היום הנוכחי""" try: logging.debug("מתחיל לעבד קובץ CSV") csv_text = csv_content.decode('utf-8-sig') with open(os.path.join(log_dir, 'debug_csv.csv'), 'w', encoding='utf-8') as f: f.write(csv_text) reader = csv.DictReader(io.StringIO(csv_text)) total_hours = 0.0 for row in reader: logging.debug(f"עיבוד שורה: {row}") # בדיקת תאריך בעמודה I entry_date_str = row['תאריך כניסה'] entry_date = datetime.strptime(entry_date_str, '%d/%m/%Y') # בדיקה אם התאריך תואם את היום הנוכחי if entry_date.date() == today.date(): # המרת סך השעות מעמודה M hours_str = row['סך הזמן במשמרת'] # פיצול השעות לשעות ודקות time_parts = hours_str.split(':') if len(time_parts) == 3: hours, minutes, _ = map(int, time_parts) elif len(time_parts) == 2: hours, minutes = map(int, time_parts) else: logging.warning(f"פורמט זמן לא תקין: {hours_str}") continue total_hours += hours + (minutes / 60) logging.info(f"סך השעות שחושבו: {total_hours} שעות") return total_hours except Exception as e: logging.error(f"שגיאה בעיבוד נתוני CSV: {e}") logging.error(traceback.format_exc()) return 0.0 def create_tts_file(total_hours: float, today: datetime) -> str: """יצירת קובץ TTS עם סיכום השעות""" try: hebrew_day = get_hebrew_day_name(today) hebrew_date = today.strftime("כ %d %B תשפ״ה") hours_text = convert_hours_to_hebrew_format(total_hours) tts_content = f"סך השעות ליום {hebrew_day} {hebrew_date}: {hours_text}" logging.info(f"נוצר קובץ TTS: {tts_content}") return tts_content except Exception as e: logging.error(f"שגיאה ביצירת קובץ TTS: {e}") logging.error(traceback.format_exc()) return "" def upload_tts_file(phone: str, tts_content: str): """העלאת קובץ TTS לשרת""" url = f"{BASE_URL}/UploadTextFile" params = { "token": TOKEN, "what": f"ivr2:5/{phone}.tts", "contents": tts_content } try: logging.debug(f"שולח בקשה להעלאת קובץ TTS עבור {phone}: {url}") logging.debug(f"פרמטרים: {params}") logging.debug(f"תוכן TTS: {tts_content}") response = requests.get(url, params=params) response.raise_for_status() logging.debug(f"תגובת השרת בהעלאת TTS: {response.text}") logging.info(f"העלאת קובץ TTS עבור {phone} בוצעה בהצלחה") return response except requests.exceptions.RequestException as e: logging.error(f"שגיאה בהעלאת קובץ TTS עבור {phone}: {e}") logging.error(traceback.format_exc()) raise def update_extension(phone: str): """עדכון הרחבה במקרה של שגיאה""" url = f"{BASE_URL}/UpdateExtension" params = { "token": TOKEN, "path": f"ivr2:5/{phone[:6]}", "type": "playfile", "playfile_end_goto": "/0000/999" } try: logging.debug(f"שולח בקשה לעדכון הרחבה עבור {phone}: {url}") logging.debug(f"פרמטרים: {params}") response = requests.get(url, params=params, timeout=10) response.raise_for_status() logging.debug(f"תגובת השרת בעדכון הרחבה: {response.text}") logging.info(f"עדכון הרחבה עבור {phone} בוצע בהצלחה") return response except requests.exceptions.RequestException as e: logging.error(f"שגיאה בעדכון הרחבה עבור {phone}: {e}") logging.error(traceback.format_exc()) raise def main(): logging.info("התחלת הרצת סקריפט ניצול זמן") today = datetime.now() logging.debug(f"תאריך נוכחי: {today}") try: phones = get_template_entries() if not phones: logging.warning("לא נמצאו מספרי פלאפון") return for phone in phones: try: # הורדת קובץ YMGR ymgr_content = download_ymgr_file(phone) # חישוב סך השעות total_hours = process_csv_data(ymgr_content, today) # אם אין שעות ביום הנוכחי, דלג על הלומד הזה if total_hours == 0: logging.info(f"אין שעות ביום הנוכחי עבור {phone}") continue # יצירת קובץ TTS tts_content = create_tts_file(total_hours, today) if not tts_content: logging.warning(f"לא ניתן ליצור קובץ TTS עבור {phone}") continue # העלאת קובץ TTS upload_tts_file(phone, tts_content) except Exception as phone_error: logging.error(f"שגיאה בטיפול בטלפון {phone}: {phone_error}") logging.error(traceback.format_exc()) # במקרה של שגיאה בהעלאה, נסה לעדכן את ההרחבה ואז העלה שוב try: update_extension(phone) upload_tts_file(phone, tts_content) except Exception as retry_error: logging.error(f"שגיאה בניסיון חוזר עבור {phone}: {retry_error}") logging.error(traceback.format_exc()) except Exception as e: logging.error(f"שגיאה כללית: {e}") logging.error(traceback.format_exc()) logging.info("סיום הרצת סקריפט ניצול זמן") if __name__ == "__main__": main()

      וזה עובד פחות מהקוד הקודם, נראה לי שכלל לא עושה כלום.

      ממש ממש תודה רבה לך!!! תזכה למצוות!