Untitled
unknown
plain_text
a year ago
8.8 kB
8
Indexable
import datetime # ده اللي جبته علشان اعرف التاريخ اليوم
class TaskManager:
def __init__(self, title, description, duedate, status,type,category):
self._title = title
self._description = description
self._dueDate = duedate
self._status = status
self._type = type
self._category =category
def get_title(self):
return self._title
def set_title(self,x):
self._title = x
return self._title
def get_description(self):
return self._description
def set_description(self,x):
self._description = x
return self._description
def get_duedata(self):
return self._dueDate
def set_duedata(self,x):
self._dueDate = x
return self._dueDate
def get_status(self):
return self._status
def set_status(self,x):
self._status = x
return self._status
def get_type(self):
return self._type
def set_type(self,x):
self._type = x
return self._type
def get_category(self):
return self._category
# حته list معرفها بدري شويه علشان احط فيها الابجكت
list_work =[]
list_presonal =[]
class presonal(TaskManager):
def __int__(self, title,description,duedat,status,type,category):
super().__init__(title, description, duedat, status, type)
self.category = category
class Work(TaskManager):
def __int__(self, title,description,duedat,status,type):
super().__init__(title,description,duedat,status,type)
# بياخد القيم ويضفها و return
def add():
title = input("enter the title:\n")
description = input("enter the description\n")
day =0
month =0
year = 0
#لوب علشان يكرر بس ممكن تتحاش لما نجمع الكود
while day == 0 and month == 0 and year == 0:
duedat = (input("enter the duedat:\n"))
dt = datetime.datetime.now()
# هندلتها عشان لو دخل اسم في في التاريخ
#خد التاريخ وفصلته وقارنته بتريخ اليوم علشان متحتش تاسك بتاريخ منتهي
# اي قيمه عملها بصفر ده علشان يعيد الحته دي
try:
daye, monthe, yeare = duedat.split("-")
day, month, year = int(daye), int(monthe), int(yeare)
if year == dt.year:
if month >= dt.month:
if day >= dt.day:
continue
else:
print("past history, try again")
day = 0
month = 0
year = 0
else:
print("past history, try again")
day = 0
month = 0
year = 0
elif year > dt.year:
continue
else:
print("past history, try again")
day = 0
month = 0
year = 0
except ValueError:
print("ValueError:")
# عملتها كدي اختاصر كتابه لان ده طبيعي
status ="incomplet"
user_choice = input("enter yor number of choice to make type of task [1]work [2]personal\n")
global list_presonal
global list_work
if user_choice == '1':
type = 'work'
list_work.append(Work(title, description, duedat, status, type,"no"))
if user_choice == '2':
c = input("enter category like separated by space ('famliy sport')")
category = c.split()
print(category)
type = 'personal'
list_presonal.append(Work(title,description,duedat,status,type,category))
############################ خد بالك من دي
# دي كنت عاوز عملها ان هي تشوف التارخ خلصان او ترنب التاوريخ في list بس معرفتش
###########################
def due_time_end():
pass
# دي بيحوش الابجكت من list
def delete(k):
user_choice = input("enter number of choice to delete:[1]work task [2]perspnal task\n")
try:
if user_choice == '1':
list_work.remove(list_work[k])
if user_choice == '2':
list_presonal.remove(list_presonal[k])
except IndexError:
print("key not found")
#دي بيعرض كل ابجكت من list
def show():
user_choice=input("enter number of choice to show :[1]work task[2]personal task")
if user_choice == '1':
if list_work == []:
print("empty")
for k in list_work:
print("-"*50)
print(f"title : {k.get_title()}\ndescripion\n{k.get_description()}\ndue date : {k.get_duedata()}\nstatus : {k.get_status()}\nkey : {list_work.index(k)}")
if user_choice == '2':
if list_presonal == []:
print("empty")
for k in list_presonal:
print("-"*50)
print(f"title : {k.get_title()}\ncategory: {k.get_category()}\ndescripion\n{k.get_description()}\ndue date : {k.get_duedata()}\nstatus : {k.get_status()}\nkey : {list_presonal.index(k)}")
#بيعمل تحديس لل تاريخ يدوي
# تقربا كلها من add بسممكن نختصر كل ده ونعمل فنكشن تاني تعمل العمليه دي
def update():
user_list_choice = input("enter number of choice [1] work task [2] personal task\n")
key = int(input("enter the key to change\n"))
user_choice =''
user_choice =input("enter choice [1]due data [2]status\n")
if user_choice == "1":
day = 0
month = 0
year = 0
while day == 0 and month == 0 and year == 0:
duedat = (input("enter the duedat:\n"))
dt = datetime.datetime.now()
# هندلتها عشان لو دخل اسم في في التاريخ
# خد التاريخ وفصلته وقارنته بتريخ اليوم علشان متحتش تاسك بتاريخ منتهي
# اي قيمه عملها بصفر ده علشان يعيد الحته دي
try:
daye, monthe, yeare = duedat.split("-")
day, month, year = int(daye), int(monthe), int(yeare)
if year == dt.year:
if month >= dt.month:
if day >= dt.day:
continue
else:
print("past history, try again")
day = 0
month = 0
year = 0
else:
print("past history, try again")
day = 0
month = 0
year = 0
elif year > dt.year:
continue
else:
print("past history, try again")
day = 0
month = 0
year = 0
except ValueError:
print("ValueError:")
try:
if user_list_choice =="1":
list_work[key].set_duedata(duedat)
elif user_list_choice =="2":
list_presonal[key].set_duedata(duedat)
except IndexError:
print("key not found")
elif user_choice=="2":
user_choice_c = input("enter choice:\n[1]complet [2] will complet\n")
if user_list_choice == "1":
if user_choice_c == "1":
list_work[key].set_status("complet")
elif user_choice_c == '2':
list_work[key].set_status('will complet')
else:
print('try again')
if user_list_choice == "2":
if user_choice_c == "1":
list_presonal[key].set_status("complet")
elif user_choice_c == '2':
list_presonal[key].set_status('will complet')
else:
print('try again')
# قائمه هتتغير لما هنركب الكود
user_in = 0
while user_in != 5:
user_in = input("[1]add [2]delet [3]updet [4]show\n")
if user_in == "1":
add()
elif user_in == "2":
delete(int(input("enter key of task to delete\n")))
elif user_in == "3":
# ده علشان تتاكد انه شغال
update()
elif user_in == "4":
# عرض التاسك
show()
elif user_in == "5":
exit()
Editor is loading...
Leave a Comment