פורום פייתון בעברית ובחינם
79 subscribers
538 links
הודעות על פתיחת נושא חדש בפורום
Download Telegram
23:31:07 Feb 15,2021
מאת: imimouni

בקשה לPR - העלאת תמונה לאירוע

ה-PR

github.com/PythonFreeCourse/calendar








Feature/event upload image


PythonFreeCourse:develop ← imimouni:feature/event_upload_image



opened 07:10PM - 15 Feb 21 UTC




imimouni




+432
-303










הטיקט:



הוספת תמונה לאירוע הצעות לטיקטים


תיאור כללי
הוספת אפשרות להוסיף תמונה לאירוע
מה ההצעה כוללת?
בעמוד יצירת האירוע + עריכת האירוע - לתת ליוזר אפשרות להעלות תמונה משלו שתהיה תמונת הcover של האירוע.
להגביל את גודל התמונה שתועלה כדי לא לתפוס יותר מדי נפח על הdb.
כולל שינויים בקוד? אם כן, איפה?
שינוי ביצירת אירוע עריכת אירוע והצגת האירוע.
ייתכן שגם יהיה צריך להתייחס למחיקת התמונה מהdb במחיקת אירוע.
האם יהיו שינויים במסד הנתונים? אם כן, איפה?
כן, בדומה לתמונת פרופיל למשתמש זה יצריך להוסיף עמודה של תמונה לאירוע.
האם יהיה שינוי ב־f…
02:05:01 Feb 16,2021
מאת: gALz

בקשה לPR - הוספת אופציה DARK MODE

כרגע הוספתי לVIEW החדש שאביעד עובד עליו.
בנוסף הוספתי לראוטים הקיימים לפי הנביגייט.
04:31:53 Feb 16,2021
מאת: itzik245

בקשה ל בדיקה - global-variable

הוספת משתנה גלובלי של user
והוספת קישור לפורום


github.com/PythonFreeCourse/calendar








refactor/jinja-global-variable


PythonFreeCourse:develop ← issac211:refactor/jinja-global-variable



opened 12:08AM - 16 Feb 21 UTC




issac211




+63
-3
12:44:39 Feb 16,2021
מאת: Liran_C

בקשת PR - אייקונים לפאנל פיצרים

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

github.com/PythonFreeCourse/calendar








Features Icons in Feature Panel - Backend


PythonFreeCourse:develop ← LiranCaduri:feature/feature-icon



opened 09:23PM - 14 Feb 21 UTC




LiranCaduri




+867
-12










לגבי הערות על הפאנל פיצרים יש לו PR משלו.
תודה לכולם
16:43:50 Feb 16,2021
מאת: yair1engel

PR - Restore deleted events

היי,
אשמח ל-PR על שחזור אירועים מחוקים.

github.com/PythonFreeCourse/calendar








Feature/restore deleted events


PythonFreeCourse:develop ← YairEn:feature/restore_deleted_events



opened 02:11PM - 16 Feb 21 UTC




YairEn




+339
-128










מה התווסף?

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

מה נשאר?

להוסיף flag של האם הלקוח רוצה להפעיל את היכולת. לא ראיתי שיש עדיין את היכולת הזו.
אם מישהו יודע מי עושה את זה אשמח לדבר איתו.

תמונות להמחשה
אירוע מחוק:

דף שחזורים:

אירוע שוחזר:

תודה רבה
20:42:32 Feb 16,2021
מאת: yair1engel

PR - Out of office

היי,
אשמח ל-PR על out of office


github.com/PythonFreeCourse/calendar








Feature/out of office


PythonFreeCourse:develop ← YairEn:feature/out-of-office



opened 06:15PM - 16 Feb 21 UTC




YairEn




+476
-330










מה התווסף?

בעמוד הפרופיל התווסף כפתור שמקפיץ לנו Modal שך out of office (מצורפת תמונה).
ה-modal יאפשר לנו לבחור תאריכים שבהם אנחנו מחוץ למשרד וגם יציג לנו מה הסטטוס הנוכחי שלנו.
בעת יצירת אירוע - יוצג למשתמש אילו משתמשים לא יוכלו להגיע לאירוע.
במידה והמשתמש לא כיבה את ה"out of office" והתאריך שמוגדר עבר - אז הוא מתכבה אוטומטית.


תודה
21:38:27 Feb 16,2021
מאת: nellie

בקשת PR - Upcoming Events



github.com/PythonFreeCourse/calendar








Feature/showevent


PythonFreeCourse:develop ← nelliei:feature/showevent



opened 12:32AM - 16 Feb 21 UTC




nelliei




+10975
-255
21:58:00 Feb 16,2021
מאת: nellie

בקשה ל pr - תצוגת "חבר"



github.com/PythonFreeCourse/calendar








feat: Friendview - mutual events with a friend


PythonFreeCourse:develop ← nelliei:feature/friendview



opened 10:09PM - 14 Feb 21 UTC




nelliei




+128
-2
22:55:38 Feb 16,2021
מאת: Tamar

בקשה לPR- תיאום זמני פגישה בינלאומית



github.com/PythonFreeCourse/calendar








Feature/time coordinator


PythonFreeCourse:develop ← TamarBerger:feature/time-coordinator



opened 08:15PM - 15 Feb 21 UTC




TamarBerger




+897
-10
19:35:27 Feb 17,2021
מאת: aviadamar

המשך עבודה על הפרוקיט לאחר סיום הקורס

היי ים ושאר חברים,
הייתי שמח לדעת אם בגדול אחרי שיגמר הקורס וכולם יחזרו לחיים שלהם,
יהיה אפשר להמשיך לפתח כדי לצבור עוד נסיון + לא לשכוח את החומר
לתוך המערכת.
אני מניח שים יקח איזה שנה חופש מאיתנו - אבל השאלה אם הקוד ימשיך להיות מבוקר
או שזה יהיה פשוט פתוח לעדכונים.
12:16:55 Feb 18,2021
מאת: elor550

שגיאה בPYTEST-לא קיימת טבלה כזאת


מופיעה לי השגיאה הזאת. אני מממשת את האובייקטים שלי בקובץ calendar.py
ובבדיקה בDB BROWSER רואה שכן קיימת הטבלה שעשיתי(וכמובן שהפיצר מוצג באתר)
אפשר עזרה במציאת פתרון? די אובדת עצות
13:38:25 Feb 18,2021
מאת: gALz

Your GitHub story in 3D




skyline.github.com



@yammesicka's 2020 GitHub Skyline
//skyline.github.com/yammesicka/2020
3D model of the GitHub contributions made by @yammesicka in 2020.





של ים מרשים (: תנסו עם היוזר שלכם
19:52:49 Feb 18,2021
מאת: koby

עבודה עם המשתמש המחובר למערכת

בשעה טובה ישנן פונקציות המחזירות את המשתמש המחובר, וניתן לעבוד איתן בראוטים.
מצאתי לנכון לכתוב פוסט עם מעט הבהרות, כיצד להשתמש בהן.
את הפונקציות המדוברות ניתן למצוא בתיקייה: app/internal/security/dependancies
ישנן 4 פונקציות שונות, שהמשותף לכולן הוא כיצד משתמשים בהן:
כולן בנויות באופן שהיישום שלהן אמור להיות כדיפנדנסי עבור ראוט, באופן הבא:
עבור ההדגמה אני משתמש באחת מהן, הנקראת is_logged_in
image1137×196 14.4 KB
מכנה משותף נוסף הוא שכולן מגינות על ראוט. במידה והשתמשתם בהן בכניסה לראוט, והמשתמש אינו מחובר, הוא יופנה אוטומטית לעמוד לוגאין. לאחר ההתחברות הוא יוחזר אוטומטית לראוט שלכם.
השונה בין הפונקציות הוא ערך ההחזרה שלהן, כפי שמתואר בתיעוד שלהן:
is_logged_in - מחזירה בוליאן בלבד. מיועדת רק על הגנה על ראוט, ללא שימוש בנתוני המשתמש.
is_manager - גם כן מחזירה בוליאן, מגינה על ראוט עבור משתמש המוגדר כמנהל בלבד.
current_user- מחזירה אובייקט פיידנטיק המכיל: user_id, username. לנוחיותכם השתמשתי במחלקה ולא במילון.
לתשומת לבכם, הפונקציה הזאת אינה פונה לדאטה בייס עבור הנתונים. היא מחזירה אותן ישירות מהטוקן שהמשתמש נושא איתו ממערכת האבטחה. מהסיבה הזאת היא ‘יעילה’ עבור פעולות השרת, וכל עוד אינכם צריכים נתונים נוספים עבור המשתמש, אנא השתמשו בה.
current_user_from_db - מחזירה אובייקט User מלא מהדאטה בייס, עם כל הנתונים שלו. היא הכי פחות ידידותית מבחינת משאבים, מאחר והיא פונה לדאטה בייס. אנה השתמשו בה רק אם אתם חייבים את הנתונים הספציפיים שכל הפונקציות האחרות אינן מספקות.
בנוסף, ישנה הדגמה עבור כל אחת מהפונקציות בקובץ tests\security_testing_routes.
אני מקווה שהכל ברור, ובכל מקרה אני פה כדי לעזור
08:42:34 Feb 19,2021
מאת: ron.huberfeld

בקשה לPR - הוספת פתקים

הורדתי את הwip


github.com/PythonFreeCourse/calendar








Feature 179 add notes to calendar


PythonFreeCourse:develop ← ron-huberfeld:feature-179-add-notes-to-calendar



opened 01:46AM - 12 Feb 21 UTC




ron-huberfeld




+706
-88
16:00:13 Feb 19,2021
מאת: noam100

בקשת PR- טיקט אירוע ציבורי

היי! אשמח לביקורת בונה והערות מצדכם, נורא מחפשת להשתפר
הנה ההצעה עצמה לטיקט שמסבירה עליו, והקוד כמובן:

github.com/PythonFreeCourse/calendar








Feature/public event


PythonFreeCourse:develop ← noam-y:feature/public_event



opened 10:25PM - 14 Feb 21 UTC




noam-y




+109
-6










תודה רבה רבה מראששש!
08:50:17 Feb 22,2021
מאת: EliranRefaely

הרצת רשימת פונקציות

היי,
מישהו מכיר דרך אלגנטית להריץ מספר פונקציות בלולאה, לדוגמה:
lis = [sum, avg
08:43:56 Feb 24,2021
מאת: gonny

ריבוי client fixtures

אני מסתכל באוסף המרשים של ה client fixtures שיש לנו בקוד ואני תוהה על מהותם. אני מבין שהרוב פשוט העתיקו מה שהם ראו שאחרים עשו, אבל אולי המישהו המקורי יכול להסביר למה כל ראוט צריך אחד משלו?
חלק מהקוד:
def create_test_client(get_db_function) -> Generator[Session, None, None]:
Base.metadata.create_all(bind=test_engine)
main.app.dependency_overrides[get_db_function] = get_test_db

with TestClient(main.app) as client:
yield client

main.app.dependency_overrides = {}
Base.metadata.drop_all(bind=test_engine)


@pytest.fixture(scope="session")
def agenda_test_client() -> Generator[TestClient, None, None]:
yield from create_test_client(agenda.get_db)


@pytest.fixture(scope="session")
def friendview_test_client() -> Generator[TestClient, None, None]:
yield from create_test_client(friendview.get_db)


@pytest.fixture(scope="session")
def weight_test_client() -> Generator[TestClient, None, None]:
yield from create_test_client(weight.get_db)


@pytest.fixture(scope="session")
def event_test_client() -> Generator[TestClient, None, None]:
yield from create_test_client(event.get_db)


ממבט על הקוד, אפשר לראות שכל הפיקצ’ר-לראוט מעבירים את ה get_db מהמודול שלהם. בלי יוצא מן הכלל, אצל כולם זה
def get_db() -> Session:
db = SessionLocal()
try:
yield db
finally:
db.close()

שנמצא ב app/dependencies.py. אז מה המטרה פה בעצם?
17:45:22 Feb 24,2021
מאת: lia.arbel1

עזרה ב-javascript + שגיאה מוזרה ב-format של time

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

יש ברשימה אפשרות לסמן משימה כבוצעה ויש כפתור עריכה
כפתור העריכה מתקשר ל-javascript בעזרתו הוא פותח את המודל טופס של העריכה:

כדי לאפשר את הפונקציונליות הזו של פתיחת המודל + שמירת עריכת הנתונים ב-DB אני משתמשת בספרייה jQuery ששימשה לי תחליף נוח מאוד ל-js.
הקוד של הכפתור:

הקוד jQuery

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

השגיאה

אשמח לעזרה בפתרון הבעיות, רוב תודות לעוזרים.
15:27:13 Feb 25,2021
מאת: noam100

אינסוף קונפליקטים אחרי שימוש webhooks

היי! חייבת עזרה קטנה והתייעצות. בעקבות ההרצה שלי את הוובהוקס שצורפו לפרויקט, נתקלתי בעשרות קונפליקטים (עשרות רבות רבות) שאין לי כל כך מושג איך לפתור. אני לא כל כך מבינה מה ואם עשיתי משהו לא נכון, לוקח לי הרבה זמן לפתור כל קונפליקט כי הרוב המוחלט של הקוד לא אני כתבתי. האם זה “המצב הנורמלי” ומה אפשר לעשות כדי לעבור על זה יותר מהר?
ממש תודה מראש לעוזרים
16:26:05 Feb 25,2021
מאת: Yam

סיום הקורס – עניינים טכניים אחרונים

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

נכנסים לתרגיל הרלוונטי במערכת התרגילים (היחיד שפתוח כרגע)
מוצאים את 3 ה־PR שלכם כאן.
מוצאים את 3 ה־ticket שפתחתם כהצעה כאן.
מעלים 6 קישורים: 3 ל־PR ו־3 לטיקטים הרלוונטיים.

להמתין
התעודות יחולקו ביום הפאי הבינלאומי.
אני לקראת סיום עם הטיקטים.
איך מפחיתים את כמות ה־ping pong ה־CR?

מוודאים שאין בעיות פורמטינג – אפשר לעשות את זה עם precommit hooks ולבדוק שה־import־ים מסודרים לפי ה־ABC.
מוודאים שיש טסט לכל דבר, ולא הורדנו את אחוז ה־coverage של הפרויקט. זה קל מאוד כי יש בוט שמגיב ואומר את זה.
נותנים לחברים לבדוק ולתת פידבק.

מה לא ייבדק?

דברים בלי טסטים.
דברים שלא עוברים טסטים.
דברים שלא תיקנו הערות שנתתי ולא הגיבו עליהם/סגרו אותם בלי להתייחס אליהם.

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