Example #1
0
def jdate(value,format):
    print(type(value))
    if type(value)==type(""):
        value = datetime.strptime(value, '%Y-%m-%d %H:%M:%S')
    try:
        value = value.replace(tzinfo=tz.gettz('UTC')).astimezone(pytz.timezone('Asia/Tehran'))
    except:
        pass
    try:
        return jdatetime.fromgregorian(datetime=value).strftime(format)
    except:
        return jdatetime.fromgregorian(date=value).strftime(format)
Example #2
0
 def jCreateDate(self):
     return jd.fromgregorian(
         year=self.CreateDate.year,
         month=self.CreateDate.month,
         day=self.CreateDate.day,
         hour=self.CreateDate.hour,
         minute=self.CreateDate.minute).strftime("%H:%M %d-%m-%Y")
Example #3
0
 def jd_transaction_time(self):
     return jd.fromgregorian(
         year=self.transaction_time.year,
         month=self.transaction_time.month,
         day=self.transaction_time.day,
         hour=self.transaction_time.hour,
         minute=self.transaction_time.minute,
         second=self.transaction_time.second,
     )
Example #4
0
 def get_persian_newspaper_date(self):
     return jalali_datetime.fromgregorian(datetime=self.newspaper_date).strftime('%Y/%m/%d')
Example #5
0
 def get_persian_certificate_start_date(self):
     return jalali_datetime.fromgregorian(datetime=self.certificate_start_date).strftime('%Y/%m/%d')
Example #6
0
 def get_persian_birth_date(self):
     return jalali_datetime.fromgregorian(datetime=self.birth_date).strftime('%Y/%m/%d')
Example #7
0
		else:
			raise ValueError
	except (ValueError, OverflowError):
		print()
		pass
	else:
		items = list()
		i = 0
		print("There are", len(values), "items for column", name)
		print("Done with 0%", end='')
		for row in values:
			i += 1
			if i % 1000 == 0:
				print(int(i / len(values) * 100), end='%, ', flush=True)
			try:
				jalali_date = datetime.fromgregorian(
					datetime=parser.parse(str(row)))
				if also_group_bye:
					for argument in sys.argv[1:]:
						selected_column = int(argument) - 1
						selected_column_name = df.columns[selected_column]
						# print("ASDASDASD", grouped, flush=True)
						grouped_date = jalali_date.strftime("%Y-%m")
						# print("B", selected_column_name, df.values[i][selected_column], flush=True)
						# print("I", i, flush=True)
						grouped.update(
							{
								grouped_date: [
									grouped.get(grouped_date, [0, 0])[0] + int(df.values[i - 1][selected_column]),
									grouped.get(grouped_date, [0, 0])[1] + 1,
								]
							}
Example #8
0
 def get_persian_newspaper_date(self):
     return jalali_datetime.fromgregorian(
         datetime=self.newspaper_date).strftime('%Y/%m/%d')
Example #9
0
 def jalali_date_verify(self):
     return jalali.fromgregorian(
         datetime=self.date_verify).strftime("%d %b %Y")
Example #10
0
 def get_persian_birth_date(self):
     return jalali_datetime.fromgregorian(
         datetime=self.birth_date).strftime('%Y/%m/%d')
Example #11
0
 def save(self, order):
     # get settings
     settings = s.get('invoices')
     # current date and time in jalali calendar
     date_frmt = '%Y/%m/%d'
     time_frmt = '%H:%M:%S'
     current_date = jdatetime.now().date().strftime(date_frmt)
     current_time = jdatetime.now().date().strftime(time_frmt)
     # order date and time in jalali calendar
     order_datetime = jdatetime.fromgregorian(
         datetime=order['created_date'])
     order_date = order_datetime.date().strftime(date_frmt)
     order_time = order_datetime.time().strftime(time_frmt)
     # detect customer
     if not order['customer_id']:
         customer_id = settings['guest']
     else:
         try:
             customer_map = self.customer_map.get(wcid=order['customer_id'])
             customer_id = customer_map.id
         except DoesNotExists:
             self.customer.create({
                 'Code':
                 self.customer.max('Code') + 1,
                 'Fname':
                 order['first_name'],
                 'LName':
                 order['last_name'],
                 'Name':
                 '{} {}'.format(order['first_name'], order['last_name']),
                 'BuyPriceLevel':
                 settings['price_level'],
                 'SellPriceLevel':
                 settings['price_level'],
                 'StartDate':
                 current_date,
                 'Prefix':
                 '',
                 'ShiftTo':
                 '23:59:59',
                 'ShiftFrom':
                 '00:00:00',
                 'Visitor':
                 0,
                 'CarryPrice':
                 0,
                 'VisitorBed':
                 0,
                 'EtebarNaghd':
                 0,
                 'VisitorPerc':
                 0,
                 'EtebarCheque':
                 0,
                 'MablaghAvalDore':
                 0,
             })
             customer_id = self.customer.max('ID')
             self.customer_map.create({
                 'id': customer_id,
                 'wcid': order['customer_id'],
                 'last_update': datetime.now()
             })
     # get next invoice No
     invoice_no = self.invoice.custom_sql("SELECT dbo.NewFactorNo(?)",
                                          [settings['type']],
                                          method='fetchval')
     # prepare invoice fields
     fields = {
         'FactorNo': invoice_no,
         'FishNo': invoice_no,
         'Type': settings['type'],
         'IDShakhs': customer_id,
         'UserID': 1,
         'Date': order_date,
         'Time': order_time,
         'PaymentDate': order_date,
         'DeliverDate': order_date,
         'InsertDate': current_date,
         'InsertTime': current_time,
         'Info': '',
         'JamKol': int(order['total']),
         'GmeFactor': order['items_subtotal'],
         'MandeFactor': int(order['total']),
         'Maliat': int(order['total_tax']),
         'Takhfif': order['discount'],
         'TakhfifItem': order['items_discount'],
         'CarryPrice': int(order['shipping_total']),
         'CarryType': 0,
         'Nagd': 0,
         'Nagd2': 0,
         'Naseh': 0,
         'Naseh2': 0,
         'Chek': 0,
         'Chek2': 0,
         'Anbar': 0,
         'Confirmed': 0,
         'VisitorPrice': 0,
         'VisitorPerc': 0,
         'PaymentValue': 0,
         'PaymentType': 0,
         'Tmp': 0,
         'Converted': 0,
         'MaliatPerc': 0,
         'ServicePerc': 0,
         'ServicePrice': 0
     }
     # check for info
     if fields['CarryPrice']:
         fields['Info'] = _('carry price: {}').format(fields['CarryPrice'])
     # create invoice
     self.invoice.create(fields)
     invoice_id = self.invoice.max('ID')
     # insert items
     for i, item in enumerate(order['items'], 1):
         self.line_item.create({
             'FactorID': invoice_id,
             'IDKala': item['id'],
             'Tedad': item['quantity'],
             'Tedad1': 0,
             'Tedad2': item['quantity'],
             'TedadStr': str(item['quantity']),
             'Price': item['regular_price'],
             'SumPrice': int(item['total']),
             'Takhfif': item['discount'],
             'TakhfifPerc': 0,
             'TakhfifPerItem': 0,
             'TakhfifIsGift': 0,
             'Anbar': settings['repository'],
             'Info': '',
             'Row': i,
             'VisitorPrice': 0,
             'VisitorPerc': 0,
             'PaymentValue': 0,
             'PaymentType': 0,
             'PaymentDate': order_date,
             'JozDarKol': 0,
             'Maliat': 0,
             'Height': 0,
             'Width': 0,
             'Thick': 0,
             'Density': 0,
             'UnitType': 0,
             'Amount': 0,
             'Overhead': 0,
             'Gift': 0,
             'Value': 0,
             'PriceLevelID': settings['price_level'],
             'ValueEdited': 0
         })
     # create map
     self.invoice_map.create({
         'id': invoice_id,
         'wcid': order['id'],
         'last_update': datetime.now()
     })
Example #12
0
 def get_persian_registered_date(self):
     return jalali_datetime.fromgregorian(datetime=self.registered_date).strftime('%Y/%m/%d')
Example #13
0
 def jalali_last_login(self):
     return jalali.fromgregorian(
         datetime=self.last_login).strftime("%d %m %Y")
Example #14
0
def get_jalali_string(gregorian_date):
    locale.setlocale(locale.LC_ALL, "fa_IR")
    jalali_string = jdatetime.fromgregorian(
        datetime=gregorian_date).strftime("%d %b %Y %H:%M:%S")
    return convert_english_digits_to_persian(jalali_string)
Example #15
0
 def get_persian_sign_expire_date(self):
     return jalali_datetime.fromgregorian(datetime=self.sign_expire_date).strftime('%Y/%m/%d')
 def jbirth_date(self):
     return jd.fromgregorian(year=self.birth_date.year,
                             month=self.birth_date.month,
                             day=self.birth_date.day)
Example #17
0
 def jd_brith_date(self):
     return jd.fromgregorian(
         year=self.brith_date.year,
         month=self.brith_date.month,
         day=self.brith_date.day,
     )
Example #18
0
 def jalali_date_joined(self):
     return jalali.fromgregorian(
         datetime=self.date_joined).strftime("%d %b %Y")
Example #19
0
 def get_persian_certificate_expire_date(self):
     return jalali_datetime.fromgregorian(
         datetime=self.certificate_expire_date).strftime('%Y/%m/%d')