פורסם: 28/10/2012 - 14:02
נושא ההודעה: יש דמון לwget או משהו דומה?
|
שלום.
מכל מיני סיבות, אני לא מרוצה מאף אחד ממנהלי הפודקסטים שמצאתי אז אני כותב לי אחד לעצמי. אחד הדברים שאני מסתבך איתם הוא הורדה של קבצים. אני יכול, עקרונית, לזרוק קישורים לקובץ טקסט ולהפעיל על הכל wget אבל קיוויתי לפתרון קצת יותר אלגנטי:
1. הורדה מקבילה של מספר פרקים (פחות חשוב).
2. הוספה של קישורים להורדה להורדות קיימות.
3. חיווי של התקדמות ההורדות לפי דרישה.
נראה לי שאני יכול לכתוב שרות כזה אבל קשה לי להאמין שאין משהו כזה בנמצא. שאלתי גם ברדיט, אבל אני לא חושב שהבקשה שלי היתה ברורה מספיק.
יש דמון כזה?
_________________ אני בן אדם ציני (כך אומרים). אני מאוד מעריך את מי שמנסה לעזור (גם אם אני נעלב מהתגובה) ואני מאוד מעריך את הידע של אנשים בפורום. אם מישהו מוצא את מה שכתבתי עליו במעליב, אני מתנצל.
|
|
חזרה לתוכן הדיון |
פורסם: 28/10/2012 - 14:09
נושא ההודעה:
|
לא ניסיתי, אך ב- Linux Action Show עונה 22 פרק 10, הם הזכירו את podget שבגדול הוא סקריפט שנועד לרוץ מ-cron ולטפל בדברים שכאלה.
אולי יתאים לך.
|
|
חזרה לתוכן הדיון |
פורסם: 28/10/2012 - 14:23
נושא ההודעה:
|
אם לא אכפת לך לענות, מה רע ב-gPodder למחשב או ב-beyondpod לאנדרואיד?
|
|
חזרה לתוכן הדיון |
פורסם: 28/10/2012 - 14:32
נושא ההודעה:
|
אם לא אכפת לך שאני עונה :
השתמשתי ב-gPodder ב-n900 ו-BeyondPod משמש אותי כעת באנדרואיד - מרוצה משניהם.
|
|
חזרה לתוכן הדיון |
פורסם: 28/10/2012 - 14:38
נושא ההודעה:
|
חתול : | אם לא אכפת לך לענות, מה רע ב-gPodder למחשב או ב-beyondpod לאנדרואיד? |
לגבי gPodder, אין משהו שאני יכול לשים עליו את האצבע. זה סתם חוסר שביעות רצון כללית. אני חושב שהממשק הוא לא כזה שאני מרוצה ממנו.
לגבי beyondpod, ושאר האגרגטורים שרצים על המכשיר. אני לא מרוצה מחוסר היכולת שלי לנהל הורדות והרשמות דרך המחשב (או מהאופן שבו זה מתבצע).
בכל מקרה, זה כבר נהיה עניין שלי לכתוב מנהל פודקסטים שכזה.
_________________ אני בן אדם ציני (כך אומרים). אני מאוד מעריך את מי שמנסה לעזור (גם אם אני נעלב מהתגובה) ואני מאוד מעריך את הידע של אנשים בפורום. אם מישהו מוצא את מה שכתבתי עליו במעליב, אני מתנצל.
|
|
חזרה לתוכן הדיון |
פורסם: 29/10/2012 - 10:58
נושא ההודעה:
|
שניה אם הבנתי נכון, אתה כותב תוכנה, לא סקריפט באש פשוט.
אז למה בכלל להשתמש ב wget? למה פשוט לא ליצור interface של
מנהל הורדות, שלתכו אתה זורק את הבקשות שלך עם callbackים, לדוגמה:
http://yuml.me/8f6c99f7
( לעריכה: http://yuml.me/edit/8f6c99f7 )
ה ProgressListener יכולה להיות פונקציה פשוטה (התלהבתי קצת עם התוכנה...).
לגבי מימוש, בכל שפה יש לך ספריה שתעשה את ההורדה דרך HTTP בשבילך,
לפעמים אפילו כחלק מהספריה הסטנדרטית
בנוסף אתה יכול לשלוח events על אירועים מעניינים כמו pause ו resume ... בשביל
לסנכרןאת ממשק המשתמש (או את ה controller)...
|
|
חזרה לתוכן הדיון |
פורסם: 29/10/2012 - 13:13
נושא ההודעה:
|
ויטלי, אני יכול לעשות את זה אבל:
1. קשה לי להאמין שאף אחד לא עשה את זה לפני (זה המקום להגיד שאני כותב את הכל בפית'ון)
2. אני לא באמת מתכנת, אני מקדיש לעסק הזה יום בשבוע. סביר להניח שיהיו באגים במה שאני אעשה.
באותה הזדמנות, אני מבין שיש אפשרות לתת לdropbox קישור לקובץ שנמצא באינטרנט והוא ייבא אותו לבד לספריה שלי. מישהו מכיר את זה? חשוב מכך, מימוש של זה לפית'ון?
_________________ אני בן אדם ציני (כך אומרים). אני מאוד מעריך את מי שמנסה לעזור (גם אם אני נעלב מהתגובה) ואני מאוד מעריך את הידע של אנשים בפורום. אם מישהו מוצא את מה שכתבתי עליו במעליב, אני מתנצל.
|
|
חזרה לתוכן הדיון |
פורסם: 29/10/2012 - 14:00
נושא ההודעה:
|
בקשר לדרופבוקס, זה מבוצע בידי אתרים חיצוניים ולא ישירות דרך דרופבוקס. ואני לא חושב שיש להם API.
http://urldroplet.com
http://www.sidecloudload.com
|
|
חזרה לתוכן הדיון |
פורסם: 29/10/2012 - 14:24
נושא ההודעה:
|
yotama9 : | חתול : | אם לא אכפת לך לענות, מה רע ב-gPodder למחשב או ב-beyondpod לאנדרואיד? |
לגבי gPodder, אין משהו שאני יכול לשים עליו את האצבע. זה סתם חוסר שביעות רצון כללית. אני חושב שהממשק הוא לא כזה שאני מרוצה ממנו.
לגבי beyondpod, ושאר האגרגטורים שרצים על המכשיר. אני לא מרוצה מחוסר היכולת שלי לנהל הורדות והרשמות דרך המחשב (או מהאופן שבו זה מתבצע).
בכל מקרה, זה כבר נהיה עניין שלי לכתוב מנהל פודקסטים שכזה. |
עד כמה שאני מבין מה שקשה לך עם gPodder זה הממשק שלו, אתה יכול לבדוק את אמרוק יש לו מימוש טוב לזה, הוא משתמש בו כמנוע אבל הממשק אחר.
|
|
חזרה לתוכן הדיון |
פורסם: 29/10/2012 - 17:14
נושא ההודעה:
|
Anonymous : | yotama9 : | חתול : | אם לא אכפת לך לענות, מה רע ב-gPodder למחשב או ב-beyondpod לאנדרואיד? |
לגבי gPodder, אין משהו שאני יכול לשים עליו את האצבע. זה סתם חוסר שביעות רצון כללית. אני חושב שהממשק הוא לא כזה שאני מרוצה ממנו.
לגבי beyondpod, ושאר האגרגטורים שרצים על המכשיר. אני לא מרוצה מחוסר היכולת שלי לנהל הורדות והרשמות דרך המחשב (או מהאופן שבו זה מתבצע).
בכל מקרה, זה כבר נהיה עניין שלי לכתוב מנהל פודקסטים שכזה. |
עד כמה שאני מבין מה שקשה לך עם gPodder זה הממשק שלו, אתה יכול לבדוק את אמרוק יש לו מימוש טוב לזה, הוא משתמש בו כמנוע אבל הממשק אחר. |
את אמרוק אף פעם לא אהבתי.
בבקשה, אני לא מבקש חלופה אחרת, אני די מרוצה ממש שכתבתי עד כה. אני רק רוצה לדעת אם יש דמון לwget, כנראה שלא ואני אצטרך ליצור משהו כזה בפית'ון. תודה.
_________________ אני בן אדם ציני (כך אומרים). אני מאוד מעריך את מי שמנסה לעזור (גם אם אני נעלב מהתגובה) ואני מאוד מעריך את הידע של אנשים בפורום. אם מישהו מוצא את מה שכתבתי עליו במעליב, אני מתנצל.
|
|
חזרה לתוכן הדיון |
פורסם: 29/10/2012 - 22:18
נושא ההודעה:
|
יותם, האמת להוריד קובץ עם פייתון זה מאוד פשוט. תעשה חיפוש גוגל על urllib2.
הנה דוגמה פשוטה שאולי תעזור לך:
קוד: |
In [14]: import urllib2
In [15]: response = urllib2.urlopen("http://ocrmirror.org/files/music/remixes/Deus_Ex_Siren_Synapse_OC_ReMix.mp3")
In [16]: data = response.read()
In [17]: file = open("Deus_Ex_Siren_Synapse_OC_ReMix.mp3", "w");
In [18]: file.write(data)
In [19]: !ls -l ~/De*
-rw-rw-r-- 1 vitali vitali 6410240 Oct 29 22:04 /home/vitali/Deus_Ex_Siren_Synapse_OC_ReMix.mp3
|
עשיתי את זה ב ipython אז תתעלם מתחילת השורות, סורי אין לי כוח לערוך...
בכל מקרה השורה ה 2 והשלישית זה מה שאתה צריך. כמה דברים:
1. אתה יכול גם להעביר פרמטר של גודל ל read וככה להוריד בחלקים.
2. urlopen תזרוק עליך exception במקרה של שגיאה
3. זה רמיקס טוב לפס קול של משחק מדהים
4. תזכור ש read היא blocking, כלומר הטראד שלך יחכה ל read שתחזור, וזה יכול להיות
בעייתי אם אתה קורא לה מ callback ב GUI כי כל הממשק שלך יהיה תקוע...
הטריק הוא להריץ בתראד נפרד, רק אל תפתח תראד על כל הורדה, זה לא חכם.
|
|
חזרה לתוכן הדיון |
פורסם: 30/10/2012 - 10:16
נושא ההודעה:
|
ויטלי : | יותם, האמת להוריד קובץ עם פייתון זה מאוד פשוט. תעשה חיפוש גוגל על urllib2.
הנה דוגמה פשוטה שאולי תעזור לך:
קוד: |
In [14]: import urllib2
In [15]: response = urllib2.urlopen("http://ocrmirror.org/files/music/remixes/Deus_Ex_Siren_Synapse_OC_ReMix.mp3")
In [16]: data = response.read()
In [17]: file = open("Deus_Ex_Siren_Synapse_OC_ReMix.mp3", "w");
In [18]: file.write(data)
In [19]: !ls -l ~/De*
-rw-rw-r-- 1 vitali vitali 6410240 Oct 29 22:04 /home/vitali/Deus_Ex_Siren_Synapse_OC_ReMix.mp3
|
עשיתי את זה ב ipython אז תתעלם מתחילת השורות, סורי אין לי כוח לערוך...
בכל מקרה השורה ה 2 והשלישית זה מה שאתה צריך. כמה דברים:
1. אתה יכול גם להעביר פרמטר של גודל ל read וככה להוריד בחלקים.
2. urlopen תזרוק עליך exception במקרה של שגיאה
3. זה רמיקס טוב לפס קול של משחק מדהים
4. תזכור ש read היא blocking, כלומר הטראד שלך יחכה ל read שתחזור, וזה יכול להיות
בעייתי אם אתה קורא לה מ callback ב GUI כי כל הממשק שלך יהיה תקוע...
הטריק הוא להריץ בתראד נפרד, רק אל תפתח תראד על כל הורדה, זה לא חכם. |
תודה, אני עוד חושב איך ליישם את זה, כנראה שאני אריץ את זה בממשק נפרד. אני אשחק עם ת'רדים לראות כמה אפשר לתקוע את המחשב.
_________________ אני בן אדם ציני (כך אומרים). אני מאוד מעריך את מי שמנסה לעזור (גם אם אני נעלב מהתגובה) ואני מאוד מעריך את הידע של אנשים בפורום. אם מישהו מוצא את מה שכתבתי עליו במעליב, אני מתנצל.
|
|
חזרה לתוכן הדיון |
|