Ejemplo n.º 1
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))
Ejemplo n.º 2
0
def dateParser(string):
    if string != '':
        s = string.split('-')
        tarikh = str(JalaliDate.to_jalali(int(s[0]), int(s[1]), int(s[2])))
        v = tarikh.split('-')
        shamsi = str(v[0])+'/'+str(v[1])+'/'+str(v[2])
        return shamsi
    else:
        return ('')
Ejemplo n.º 3
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())
Ejemplo n.º 4
0
    def search_for_a_book(self, book_name, update):
        results = requests.get(
            self.tabadol_ketab_search_url.format(book_name=book_name))
        results = results.json()
        books = []
        for book_sum in results["result"]["docs"][:10]:
            book_request = requests.get(
                "https://book.tabadolketab.com/v1/api/tabaadol-e-ketaab/book/"
                + book_sum["id"]).json()
            book_name = book_request.get("name")
            book_category = (book_request.get("category")).get(
                "title") if book_request.get("category") is not None else ""
            book_author = (book_request.get("author")).get(
                "title") if book_request.get("author") is not None else ""
            book_publisher = (book_request.get("publisher")).get(
                "title") if book_request.get("publisher") is not None else ""
            book_translator = (book_request.get("translator")).get(
                "title") if book_request.get("translator") is not None else ""
            book_price = intcomma(
                int(int(book_request.get("afterDiscount")) / 10))
            book_confirm_date = (
                book_request.get("confirmDate").split("T")[0]).split("-")
            try:
                book_confirm_date = str(
                    JalaliDate.to_jalali(int(book_confirm_date[0]),
                                         int(book_confirm_date[1]),
                                         int(book_confirm_date[2]))).split("-")
                book_confirm_date_humanized = f"{book_confirm_date[2]} {MONTH_NAMES_FA[int(book_confirm_date[1])]} {book_confirm_date[0]}"
            except:
                book_confirm_date_humanized = "- - -"
            book_details = f"""
نام کتاب: {book_name}


دسته بندی: {book_category}
نویسنده: {book_author}
مترجم: {book_translator}
ناشر: {book_publisher}
قیمت: {book_price}
تاریخ ورود: {book_confirm_date_humanized}
            """
            update.message.reply_text(book_details)
            books.append({
                "book_name": book_name,
                "book_details": book_details
            })

        return books
Ejemplo n.º 5
0
async def main():
    browser = await launch()
    page = await browser.newPage()
    tickers = read_to_dict('./tickers.csv')

    tickers_list = ['پاسا']
    days = 20

    for i in range(0, len(tickers_list)):
        ticker = tickers_list[i]
        if ticker in tickers:
            url = 'http://members.tsetmc.com/tsev2/data/InstTradeHistory.aspx?i=' + tickers[ticker] + '&Top=' + str(days) + '&A=1'
        else:
            continue

    await page.goto(url)
    priceHistory = await page.querySelectorEval('body', 'el => el.innerText.split(";").map(el => { let eel = el.split("@"); return eel; })')
    df = pd.DataFrame(priceHistory, columns=['Date', 'High', 'Low', 'Close', 'Last', 'First', 'Open', 'TradesValue', 'Volume', 'TradesCount'])

    df['Close'] = df.Close.astype(float)
    df.drop(df.tail(1).index,inplace=True)
    # print(df)
    df['Date'] = df['Date'].str[:4] + '-' + df['Date'].str[4:6] + '-' + df['Date'].str[6:8]
    df['Date'] = pd.to_datetime(df['Date'], errors='coerce')
    df['ts'] = df.Date.values.astype(np.int64) // 10 ** 9
    df['JDate'] = df.Date.map(lambda x: JalaliDate.to_jalali(x.year, x.month, x.day))
    df.index = df['Date']
    del df['Date'], df['ts']
    
    is_bet = is_between_cond([1398, 7, 25], [1398, 8, 3], df)
    print(df[is_bet])
    # save_to_csv('./' + tickers_list[0] + '.csv', df.to_dict())

    df = df.sort_values(by='Date', ascending=True)
    
    df['returns'] = (df.Close / df.Close.shift(1)) - 1

    df = df.dropna()
    
    # hist_me(df)

    await browser.close()
Ejemplo n.º 6
0
 def from_gregorian_date(self,greg_date):
     return JalaliDate.to_jalali(greg_date).strftime("%Y/%m/%d") 
     
Ejemplo n.º 7
0
def utc_date_to_jalali(year, month, day):
    return JalaliDate.to_jalali(year, month, day)