Exemplo n.º 1
0
    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
Exemplo n.º 3
0
    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")
Exemplo n.º 4
0
    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"
            },
        )
Exemplo n.º 5
0
    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())
Exemplo n.º 6
0
    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,
    )
Exemplo n.º 8
0
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")
Exemplo n.º 9
0
    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())
Exemplo n.º 10
0
    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))
Exemplo n.º 11
0
 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)
Exemplo n.º 12
0
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)
Exemplo n.º 13
0
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
Exemplo n.º 14
0
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
            ])
Exemplo n.º 15
0
    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
Exemplo n.º 16
0
    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)
Exemplo n.º 17
0
                       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
Exemplo n.º 18
0
 def today():
     return JalaliDate.today()
Exemplo n.º 19
0
 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  )