Пример #1
0
    def __init__(self, datetime_obj, *args, **kwargs):
        """ 
		initializes humanize class
		datetime_obj: python datetime object to be humanized
		threshold (kwargs): threshold to be humanize
		format (kwargs): format to display behind threshold
		"""
        if type(datetime_obj) == nepalidatetime:
            self.datetime_obj = datetime_obj.to_datetime()
        elif type(datetime_obj) == nepalidate:
            self.datetime_obj = nepalidatetime.from_nepali_date(
                datetime_obj).to_datetime()
        elif type(datetime_obj) == pythonDateTime.date:
            self.datetime_obj = nepalidatetime.from_date(
                datetime_obj).to_datetime()
        elif type(datetime_obj) == pythonDateTime.datetime:
            self.datetime_obj = to_nepali_timezone(datetime_obj)
        else:
            raise InvalidNepaliDateTimeObjectException(
                'Argument must be instance of NepaliDate or NepaliDateTime or datetime.datetime or datetime.date'
            )

        self.threshold = kwargs.get('threshold')
        self.format = kwargs.get('format')

        # seconds after from now to datetime_obj
        self.seconds = None
Пример #2
0
	def __eq__(self, other):
		""" equal """
		
		if type(other) == self.__class__:
			"""
			NepaliDate object
			"""
			return self.to_date() == other.to_date()

		elif type(other) == pythonDateTime.date:
			"""
			pythonDate object
			"""
			return self.to_date() == to_nepali_timezone(other)
			
		return False
Пример #3
0
	def __ne__(self, other):
		""" not equal """

		if type(other) == self.__class__:
			"""
			nepalidatetime object
			"""
			return self.to_datetime() != other.to_datetime()

		elif type(other) == pythonDateTime.datetime:
			"""
			pythonDateTime object
			"""
			return self.to_datetime() != to_nepali_timezone(other)
		
		return True
Пример #4
0
	def __ge__(self, other):
		""" greater than equal """

		if type(other) == self.__class__:
			"""
			nepalidatetime object
			"""
			return self.to_datetime() >= other.to_datetime()

		elif type(other) == pythonDateTime.datetime:
			"""
			pythonDateTime object
			"""
			return self.to_datetime() >= to_nepali_timezone(other)

			
		return None 
Пример #5
0
	def __lt__(self, other):
		""" less than """

		if type(other) == self.__class__:
			"""
			nepalidatetime object
			"""
			return self.to_datetime() < other.to_datetime()

		elif type(other) == pythonDateTime.datetime:
			"""
			pythonDateTime object
			"""
			return self.to_datetime() < to_nepali_timezone(other)


		return None
Пример #6
0
	def __sub__(self, other):
		""" substraction """

		if type(other) == self.__class__:
			"""
			nepalidatetime object
			"""
			return self.to_datetime() - other.to_datetime()

		elif type(other) == pythonDateTime.datetime:
			return self.to_datetime() - to_nepali_timezone(other)

		elif type(other) == pythonDateTime.timedelta:
			"""
			timedelta object
			"""
			return nepalidatetime.from_datetime(self.to_datetime() - other)


		return None
Пример #7
0
	def to_datetime(self):
		return to_nepali_timezone(pythonDateTime.datetime.combine(self.__python_date, pythonDateTime.time()))
Пример #8
0
	def from_datetime(dt):
		dt = to_nepali_timezone(dt)
		nd = nepalidate.from_date(dt.date())
		return nepalidatetime(nd.year, nd.month, nd.day, dt.hour, dt.minute, dt.second, dt.microsecond)
Пример #9
0
	def to_datetime(self):
		return to_nepali_timezone(pythonDateTime.datetime.combine(self.__npDate.to_date(), self.__npTime))
Пример #10
0
 def test_nepalidatetime_from_datetime(self):
     python_datetime_obj = datetime.datetime(year=1994, month=8, day=12, hour=5, minute=28, second=23)
     nepalidatetime_obj = nepalidatetime.from_datetime(python_datetime_obj)
     self.assertEqual(to_nepali_timezone(python_datetime_obj), nepalidatetime_obj.to_datetime())