def test_hash(self): j1 = JalaliDate.today() j2 = JalaliDate(1367, 2, 14) j3 = JalaliDate(date(1988, 5, 4)) self.assertEqual({j1: "today", j2: "majid1", j3: "majid2"}, {JalaliDate.today(): "today", JalaliDate(1367, 2, 14): "majid2"})
def render_dates(self,day,month,year): if not day: day = JalaliDate.today().day self.day_sel = day if not month: month = JalaliDate.today().month self.month_sel = month if not year: year = JalaliDate.today().year self.year_sel = year if 1<=month<=6: days = 31 elif 7<=month<=11: days = 30 elif month==12: days=29 day_of_week = JalaliDate(self.year_sel , self.month_sel , 1).weekday() self.ids.days_col.clear_widgets() for x in range(day_of_week): self.ids.days_col.add_widget(DayButton(text='',disabled=True)) for x in range(1,days+1): if x == JalaliDate.today().day and self.month_sel==JalaliDate.today().month and self.year_sel==JalaliDate.today().year : self.ids.days_col.add_widget(DayButton(text='%d'%x , day_color=self.theme_cls.primary_color)) else: self.ids.days_col.add_widget(DayButton(text='%d'%x )) self.ids.month_name.text = self.month_names['%d'%self.month_sel] self.ids.year_name.text = '%d'%self.year_sel
def test_additions(self): self.assertEqual(JalaliDate(JalaliDate(1395, 3, 21)), JalaliDate(1395, 3, 21)) self.assertEqual(JalaliDate.days_before_month(1), 0) self.assertEqual(JalaliDate.days_before_month(12), 336) self.assertEqual( JalaliDate(1395, 1, 1).replace(1367), JalaliDate(1367, 1, 1)) self.assertEqual( JalaliDate(1395, 1, 1).replace(month=2), JalaliDate(1395, 2, 1)) self.assertEqual( JalaliDate(1367, 1, 1).replace(year=1396, month=7), JalaliDate(1396, 7, 1)) self.assertEqual( JalaliDate(1395, 1, 1, "en").replace(1367, 2, 14, "fa"), JalaliDate(1367, 2, 14, "en"), ) self.assertEqual(JalaliDate.fromtimestamp(time()), JalaliDate.today()) self.assertEqual(JalaliDate.fromtimestamp(578707200), JalaliDate(1367, 2, 14)) self.assertEqual(JalaliDate.fromtimestamp(1508371200), JalaliDate(1396, 7, 27)) with pytest.raises(ValueError): JalaliDate(1400, 1, 1, "us")
def test_hash(self): j1 = JalaliDate.today() j2 = JalaliDate(1367, 2, 14) j3 = JalaliDate(date(1988, 5, 4)) self.assertEqual( { j1: "today", j2: "majid1", j3: "majid2" }, { JalaliDate.today(): "today", JalaliDate(1367, 2, 14): "majid2" }, )
def test_shamsi_to_gregorian(self): self.assertEqual( JalaliDate(1367, 2, 14).to_gregorian(), date(1988, 5, 4)) self.assertEqual( JalaliDate(1369, 7, 1).to_gregorian(), date(1990, 9, 23)) self.assertEqual( JalaliDate(1395, 3, 21).to_gregorian(), date(2016, 6, 10)) self.assertEqual( JalaliDate(1395, 12, 9).to_gregorian(), date(2017, 2, 27)) self.assertEqual( JalaliDate(1395, 12, 30).to_gregorian(), date(2017, 3, 20)) self.assertEqual( JalaliDate(1396, 1, 1).to_gregorian(), date(2017, 3, 21)) self.assertEqual( JalaliDate(1400, 6, 31).to_gregorian(), date(2021, 9, 22)) self.assertEqual( JalaliDate(1396, 7, 27).to_gregorian(), date(2017, 10, 19)) self.assertEqual( JalaliDate(1397, 11, 29).to_gregorian(), date(2019, 2, 18)) self.assertEqual( JalaliDate(1399, 11, 23).to_gregorian(), date(2021, 2, 11)) self.assertEqual( JalaliDate(1400, 4, 25).to_gregorian(), date(2021, 7, 16)) self.assertEqual(JalaliDate.today().to_gregorian(), date.today())
def test_gregorian_to_shamsi(self): self.assertEqual(JalaliDate(date(1988, 5, 4)), JalaliDate(1367, 2, 14)) self.assertEqual(JalaliDate(date(2122, 1, 31)), JalaliDate(1500, 11, 11)) self.assertEqual(JalaliDate(date(2017, 3, 20)), JalaliDate(1395, 12, 30)) self.assertEqual(JalaliDate(date(2000, 1, 1)), JalaliDate(1378, 10, 11)) self.assertEqual(JalaliDate(date(2017, 10, 19)), JalaliDate(1396, 7, 27)) self.assertEqual(JalaliDate(date(2019, 2, 18)), JalaliDate(1397, 11, 29)) self.assertEqual(JalaliDate.to_jalali(1990, 9, 23), JalaliDate(1369, 7, 1)) self.assertEqual(JalaliDate.to_jalali(1990, 9, 23), JalaliDate(1369, 7, 1)) self.assertEqual(JalaliDate.to_jalali(2013, 9, 16), JalaliDate(1392, 6, 25)) self.assertEqual(JalaliDate.to_jalali(2018, 3, 20), JalaliDate(1396, 12, 29)) self.assertEqual(JalaliDate.to_jalali(2021, 2, 11), JalaliDate(1399, 11, 23)) self.assertEqual(JalaliDate.to_jalali(2021, 7, 16), JalaliDate(1400, 4, 25)) self.assertEqual(JalaliDate(date.today()), JalaliDate.today())
def sendEmail(body, nameSender, emailSender, phoneSender): send_mail( nameSender + ' ' + 'یک پیام برای شما ارسال کرد', body + '\nایمیل ارسال کننده : ' + emailSender + '\nشماره تلفن ارسال کننده : ' + phoneSender + '\n تاریخ ارسال : ' + str(JalaliDate.today()), '*****@*****.**', ['*****@*****.**'], fail_silently=False, )
def Date(): Months = [ "فَروَردین", "اَردیبِهِشت", "خُرداد", "تیر", "مُرداد", "شَهریوَر", "مِهر", "آبان", "آذَر", "دِی", "بَهمَن", "اِسفَند" ] Date = (JalaliDate.today()) Date = str(Date).split("-") if str(Date[2])[0] == "0": Date[2] = Date[2][1] TTS( "روزِ" + str(Date[2]) + "اُمِ" + "," + "ماهِ" + Months[(int(Date[1]) - 1)] + "," + "سالِ" + str(Date[0]), "fa")
def test_shamsi_to_gregorian(self): self.assertEqual(JalaliDate(1367, 2, 14).to_gregorian(), date(1988, 5, 4)) self.assertEqual(JalaliDate(1369, 7, 1).to_gregorian(), date(1990, 9, 23)) self.assertEqual(JalaliDate(1395, 3, 21).to_gregorian(), date(2016, 6, 10)) self.assertEqual(JalaliDate(1395, 12, 9).to_gregorian(), date(2017, 2, 27)) self.assertEqual(JalaliDate(1395, 12, 30).to_gregorian(), date(2017, 3, 20)) self.assertEqual(JalaliDate(1396, 1, 1).to_gregorian(), date(2017, 3, 21)) self.assertEqual(JalaliDate(1400, 6, 31).to_gregorian(), date(2021, 9, 22)) self.assertEqual(JalaliDate(1396, 7, 27).to_gregorian(), date(2017, 10, 19)) self.assertEqual(JalaliDate(1397, 11, 29).to_gregorian(), date(2019, 2, 18)) self.assertEqual(JalaliDate.today().to_gregorian(), date.today())
def test_gregorian_to_shamsi(self): self.assertEqual(JalaliDate(date(1988, 5, 4)), JalaliDate(1367, 2, 14)) self.assertEqual(JalaliDate(date(2122, 1, 31)), JalaliDate(1500, 11, 11)) self.assertEqual(JalaliDate(date(2017, 3, 20)), JalaliDate(1395, 12, 30)) self.assertEqual(JalaliDate(date(2000, 1, 1)), JalaliDate(1378, 10, 11)) self.assertEqual(JalaliDate(date(2017, 10, 19)), JalaliDate(1396, 7, 27)) self.assertEqual(JalaliDate(date(2019, 2, 18)), JalaliDate(1397, 11, 29)) self.assertEqual(JalaliDate(date.today()), JalaliDate.today()) self.assertEqual(JalaliDate.to_jalali(1990, 9, 23), JalaliDate(1369, 7, 1)) self.assertEqual(JalaliDate.to_jalali(1990, 9, 23), JalaliDate(1369, 7, 1)) self.assertEqual(JalaliDate.to_jalali(2013, 9, 16), JalaliDate(1392, 6, 25)) self.assertEqual(JalaliDate.to_jalali(2018, 3, 20), JalaliDate(1396, 12, 29))
def show_admin(): # data = request.headers.get('Authorization') # data = "TOKEN123" # واکشی اطلاعات مورد نیاز صفحه داشبورد content = { 'manager': current_user.username, 'user': mydb.selectuserswaitinglevel(), 'doreh': conadmin().select('*', 'doreh').where("date > '{todey}'".format( todey=JalaliDate.today())).orderby('id', 'DESC').fetchall() } # چک میشود اگر توکن ارسالی توسط کاربری معتبر است یا خیر # if str(data) == "TOKEN123": return render_template('admin/dashboard.html', content=content)
def saveMessage(request): context = {} try: assert request.method == 'POST' except: context['status'] = 501 context[ 'statusText'] = 'یک خطا در سمت سرور رخ داده است. دوباره تلاش کنید' return JsonResponse(context) try: postData = request.POST message = MessagesReceived() message.FullnameSender = postData['name'] message.emailSender = postData['email'] message.phoneNumberSender = postData['phone'] if len(message.phoneNumberSender) > 11: realPhone = [] for i in range(0, 11): realPhone.append(postData['phone'][i]) message.phoneNumberSender = '' message.phoneNumberSender = ''.join(realPhone) message.messageText = postData['message'] message.createDateTime = JalaliDate.today() message.Profile_id = Profile.objects.all().values('id').get( Status=1)['id'] message.save() # sendEmail(postData['message'], postData['name'], postData['email'], postData['phone']) # sendSMS(postData['name']) context['status'] = 200 context['statusText'] = 'پیام شما با موفقیت برای من ارسال شد.' context[ 'infoText'] = 'اگر پیام شما درخواست همکاری بوده به زودی با شما تماس خواهم گرفت' return JsonResponse(context) except Exception as e: context['status'] = 501 context['statusText'] = str(e) return JsonResponse(context)
def get_date(jalaliDate): date = '' try: t = time.strptime(digits.fa_to_en(jalaliDate), '%H:%M:%S') date = str('Today: ') + str(t.tm_hour) + ':' + \ str(t.tm_min) + ':' + str(t.tm_sec) except ValueError: today = JalaliDate.today() check_mouth = (re.split(r'\s', jalaliDate)) mouth_day = int(check_mouth[0]) mouth_name = check_mouth[1] if str(mouth_name) in mouth_names: date = JalaliDate(today.year, int(mouth_names[mouth_name]), mouth_day).strftime("%m/%d") return date
def append_input(y: list): if y[1] == 'now': #time=f'{datetime.datetime.now()}'.split()[0] #date like: 2021-1-26 (year-month-day) miladi bood in ;) #tabdil be shamsi time = JalaliDate.today() time = str(time).replace("-", "/") else: time = y[1].replace("-", "/") amount = y[2] category = y[3] subCategory = y[4] responsibleUnit = y[5] relatedUnits = y[6] div = y[7] description_splited = y[8:] description = '' #tabdile list description be string for i in description_splited: description += ' ' + i description = description[1:] ##### not_divided_data.append([ time, amount, category, subCategory, responsibleUnit, relatedUnits, div, description ]) ##### if relatedUnits != 'all' and len(relatedUnits.split( ',')) == 1: #dar in soorat dashtane divType mani nadare all_vahed[int(relatedUnits) - 1].append([ amount, time, category, subCategory, 'NA', description, responsibleUnit ]) else: result = portal_userstr_to_div( div, relatedUnits, amount, category, subCategory ) # result yek dict ba moshakhasate tarakonesh taghsim shode for i in result: all_vahed[int(i) - 1].append([ result[i], time, category, subCategory, div, description, responsibleUnit ])
def test_additions(self): self.assertEqual(JalaliDate(JalaliDate(1395, 3, 21)), JalaliDate(1395, 3, 21)) self.assertEqual(JalaliDate.days_before_month(1), 0) self.assertEqual(JalaliDate.days_before_month(12), 336) self.assertEqual(JalaliDate(1395, 1, 1).replace(1367), JalaliDate(1367, 1, 1)) self.assertEqual(JalaliDate(1395, 1, 1).replace(month=2), JalaliDate(1395, 2, 1)) self.assertEqual(JalaliDate(1367, 1, 1).replace(year=1396, month=7), JalaliDate(1396, 7, 1)) self.assertEqual(JalaliDate(1395, 1, 1, "en").replace(1367, 2, 14, "fa"), JalaliDate(1367, 2, 14, "en")) self.assertEqual(JalaliDate.fromtimestamp(time()), JalaliDate.today()) self.assertEqual(JalaliDate.fromtimestamp(578707200), JalaliDate(1367, 2, 14)) self.assertEqual(JalaliDate.fromtimestamp(1508371200), JalaliDate(1396, 7, 27)) try: JalaliDate(1400, 1, 1, "us") except ValueError: assert True else: assert False
def __init__(self): list_dates = {"میان ترم فیزیک 2 مصدق": [(1400, 1, 14)], "کوییز 1 ریاضی 2 رئیسی": [(1400, 1, 26), "11-11:35"], "میان ترم زبان تخصصی گروه 1": [(1400, 1, 28)], "میان ترم ریاضیات گسسته": [(1400, 1, 29)], "میان ترم زبان تخصصی گروه 2": [(1400, 1, 31)], "میان ترم ریاضی 2 رئیسی": [(1400, 2, 19)], "کوییز 2 ریاضی 2 رئیسی": [(1400, 3, 8)], "پایان ترم ریاضیات گسسته": [(1400, 3, 24), "8:30-10:30"], "پایان ترم فارسی عمومی": [(1400, 3, 25), "15:30-17:30"], "پایان ترم ریاضی 2": [(1400, 3, 29), "10:30-12:30"], "پایان ترم معادلات دیفرانسیل": [(1400, 4, 2), "10:30-12:30"], "پایان ترم انقلاب اسلامی": [(1400, 4, 3), "13:30-15:30"], "پایان ترم تفسیر موضوعی": [(1400, 4, 3), "8:30-10:30"], "پایان ترم تاریخ اسلام": [(1400, 4, 3), "10:30-12:30"], "پایان ترم مبانی کامپیوتر": [(1400, 4, 5), "8:30-10:30"], "پایان ترم فیزیک 2": [(1400, 4, 7), "13:30-15:30"], "پایان ترم زبان تخصصی": [(1400, 4, 9), "8:30-10:30"], "پایان ترم تربیت بدنی": [(1400, 4, 10), "10:30-12:30"], } list_date = {k: v for k, v in sorted(list_dates.items(), key=lambda item: item[1][0])} self.keeper = [] for item in list_date.items(): self.calculator(item) today_date = str(JalaliDate.today()).split("-") to_print = "#تاریخ_امتحانات\n#تاریخ\n#امتحانات\n\n" + \ "📅 امروز : {}/{}/{}".format(today_date[0], today_date[1], today_date[2]) + \ "\n\n\n" + "\n\n".join(self.keeper) + "\n\n" + \ "🤓 اعداد زیر هر تاریخ فاصله امروز تا روز امتحانه 🤓" + \ "\n\n================" copy(to_print) print(to_print)
text='Continue', command=kill_spent_money, bg=rgb_form((73, 244, 0))) submit.pack() submit = tk.Button(room_selection, text='Continue', command=kill_room_selection, bg=rgb_form((73, 244, 0))) submit.pack() #PART 6.5: Getting the time and date of now to saving the spent date: from persiantools.jdatetime import JalaliDate date = JalaliDate.today() year = date.year month = date.month day = date.day date_string = str(year) + '/' + str(month) + '/' + str(day) #PART 7: Saving the spent details in a dictionary to become easier working with the spent: spent_details = {} def make_dict(): global spent_details spent_details['room_id'] = room_id spent_details['persons_str'] = persons_str spent_details['spent_money'] = spent_money
def today(): return JalaliDate.today()
def on_open(self): self.day_sel=JalaliDate.today().day self.month_sel = JalaliDate.today().month self.year_sel = JalaliDate.today().year self.render_dates(self.day_sel, self.month_sel, self.year_sel )