قصد داریم برنامه‌ای بنویسیم که توسط آن بتوانیم کارهای زیر را انجام دهیم:

  • حذف یک تاریخ که در آن هیچ کاری اجرا نمی‌شود.(احترام به درگذشتگان)
  • تغییر تعریف یکی از قابلیت‌های کتابخانه
  • تغییر یکی از کلمه‌ها در خروجی تابع __repr__

تعریف پروژه

برنامه‌ای برای زمانبندی کار‌ها به زبان پایتون نوشته شده است (لینک گیت‌هاب) می‌خواهیم بدون آنکه کدی از کتابخانه اصلی را تغییر دهیم (توجه داشته باشید که کد را از لینک زیر دریافت کنید و کاری به پروژه در آدرس گیت‌هاب نداشته باشید زیرا تغییرات جزئی در کد کتابخانه انجام شده است.) با امکاناتی که در اختیار داریم (فایل wrapper.py) کارایی کد پایتون نوشته شده را تغییر دهیم.

def wrap():
    def decorate(func):
        def call(*args, **kwargs):
            # WRITE YOUR CODE HERE
            result = func(*args, **kwargs)
            return result
        return call
    return decorate
Python
wrapper.py

توضیحات

شرح کارهایی که باید انجام دهید به صورت زیر است:

  • اگر اکنون در تاریخ datetime(2010, 1, 6, 13, 16) هستیم و تابع should_run صدا زده شد باید خروجی این تابع حتما False باشد.
  • طبق کارایی کتابخانه گفته شده است در صورتی که every(A).to(B) داریم تابع در هر N ثانیه/دقیقه/... به صورتی که ‍A <= N <= B است اجرا می‌شود شما آنرا به B <= N <= A+B تغییر دهید.
  • در توصیف __repr__ برای Job هیچگاه کلمه ‍Every‍‍‍ به کار نرود به جای آن کلمه ‍Har به کار رود.

نکات

  • می‌توانید فایل اولیه این سوال را از این لینک دریافت کنید.
  • تابع شما نباید مقداری را چاپ کند، بلکه باید مقادیر مورد نظر را بازگرداند.

نحوه ارسال

شما باید تابع call موجود در فایل wrapper.py را تکمیل و سپس این فایل را ارسال کنید.


ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.