Exemplo n.º 1
0
    def runTest(self):
        # now()
        dt = datetime.now()
        s = dt.isoformat()
        self.assertTrue(isinstance(s, str) and len(s) > 0)

        s = dt.strftime("%z")
        self.assertTrue(isinstance(s, str) and len(s) > 0)

        s = dt.strftime("%Z")
        self.assertTrue(isinstance(s, str) and len(s) > 0)

        # strftime
        s = datetime.strftime('%a', dt)
        self.assertTrue(isinstance(s, str) and len(s) > 0)

        s = datetime.strftime('%%', dt)
        self.assertEqual(s, '%')

        # Failed under msys python3.7.2
        #s = datetime.strftime('%u', dt)
        #self.assertTrue(isinstance(s, str) and len(s) > 0)

        #s = datetime.strftime('%V', dt)
        #self.assertTrue(isinstance(s, str) and len(s) > 0)

        # strfcal
        s = datetime.strfcal('%w', dt)
        self.assertTrue(isinstance(s, str) and len(s) > 0)

        s = datetime.strfcal('%W', dt)
        self.assertTrue(isinstance(s, str) and len(s) > 0)

        s = datetime.strfcal('%Y', dt)
        self.assertTrue(isinstance(s, str) and len(s) > 0)

        s = datetime.strfcal('%%', dt)
        self.assertEqual(s, '%')

        # weekcalendar
        year, week, weekday = datetime.weekcalendar(dt)
        self.assertTrue(isinstance(year, int) and 1900 < year and 3000 > year)
        self.assertTrue(isinstance(week, int) and 1 <= week and 53 >= week)
        self.assertTrue(
            isinstance(weekday, int) and 1 <= weekday and 7 >= weekday)

        # dates_for_week
        start, end = datetime.dates_for_week(year, week)
        self.assertTrue(isinstance(start, datetime.date))
        self.assertTrue(isinstance(end, datetime.date))
        self.assertTrue(start <= dt.date() and end >= dt.date())
Exemplo n.º 2
0
	def runTest(self):
		# now()
		dt = datetime.now()
		s = dt.isoformat()
		self.assertTrue(isinstance(s, basestring) and len(s) > 0)

		s = dt.strftime("%z")
		self.assertTrue(isinstance(s, basestring) and len(s) > 0)

		s = dt.strftime("%Z")
		self.assertTrue(isinstance(s, basestring) and len(s) > 0)

		# strftime
		s = datetime.strftime('%a', dt)
		self.assertTrue(isinstance(s, basestring) and len(s) > 0)

		s = datetime.strftime('%%', dt)
		self.assertEqual(s, '%')

		s = datetime.strftime('%u', dt)
		self.assertTrue(isinstance(s, basestring) and len(s) > 0)

		s = datetime.strftime('%V', dt)
		self.assertTrue(isinstance(s, basestring) and len(s) > 0)

		# strfcal
		s = datetime.strfcal('%w', dt)
		self.assertTrue(isinstance(s, basestring) and len(s) > 0)

		s = datetime.strfcal('%W', dt)
		self.assertTrue(isinstance(s, basestring) and len(s) > 0)

		s = datetime.strfcal('%Y', dt)
		self.assertTrue(isinstance(s, basestring) and len(s) > 0)

		s = datetime.strfcal('%%', dt)
		self.assertEqual(s, '%')

		# weekcalendar
		year, week, weekday = datetime.weekcalendar(dt)
		self.assertTrue(isinstance(year, int) and 1900 < year and 3000 > year)
		self.assertTrue(isinstance(week, int) and 1 <= week and 53 >= week)
		self.assertTrue(isinstance(weekday, int) and 1 <= weekday and 7 >= weekday)

		# dates_for_week
		start, end = datetime.dates_for_week(year, week)
		self.assertTrue(isinstance(start, datetime.date))
		self.assertTrue(isinstance(end, datetime.date))
		self.assertTrue(start <= dt.date() and end >= dt.date())
Exemplo n.º 3
0
def template_strftime(format, date=None):
    '''Template function wrapper for strftime'''
    try:
        if date is None:
            string = datetime.strftime(format, datetime.now())
        elif isinstance(date, (datetime.date, datetime.datetime)):
            string = datetime.strftime(format, date)
        else:
            raise Error, 'Not a datetime object: %s' % date

        # strftime returns locale as understood by the C api
        # unfortunately there is no guarantee we can actually
        # decode it ...
        return string
    except:
        logger.exception('Error in strftime "%s"', format)
Exemplo n.º 4
0
 def _refresh_label(self, *a):
     #print "UPDATE LABEL %s" % id(self)
     format = _('%A %d %B %Y').replace(' 0', ' ')
     # T: strftime format for current date label
     text = datetime.strftime(format, datetime.date.today())
     self.label.set_text(text)
     return True  # else timer is stopped
Exemplo n.º 5
0
def find_date_heading(buffer):
    """Find a heading
    @param buffer: the C{gtk.TextBuffer}
    @returns: a C{gtk.TextIter} for cursor at end of header or C{None}
    """
    # TODO: use journal plugin settings to get heading?
    today = datetime.strftime("%A %0d %B", datetime.datetime.today())
    regex = "^%s$" % re.escape(today)  # "^%A %0d %B$"
    with buffer.tmp_cursor():
        if buffer.finder.find(regex, FIND_REGEX):
            myiter = buffer.get_insert_iter()
            start = myiter.get_offset()
        else:
            return None

        while not _is_heading(myiter):
            if buffer.finder.find_next():
                myiter = buffer.get_insert_iter()
                if myiter.get_offset() == start:
                    return None  # break infinite loop
            else:
                return None

        # haven't returned None, current line should be a header
        if _is_heading(myiter):
            start, end = buffer.get_line_bounds(myiter.get_line())
            return end
Exemplo n.º 6
0
def template_strftime(format, date=None):
	'''Template function wrapper for strftime'''
	try:
		if date is None:
			string = datetime.strftime(format, datetime.now())
		elif isinstance(date, (datetime.date, datetime.datetime)):
			string = datetime.strftime(format, date)
		else:
			raise Error, 'Not a datetime object: %s' % date

		# strftime returns locale as understood by the C api
		# unfortunately there is no guarantee we can actually
		# decode it ...
		return string
	except:
		logger.exception('Error in strftime "%s"', format)
Exemplo n.º 7
0
    def insert_abs_date(self):
        """insert link to abs date where we are editing"""
        path = self.current_date_page().name
        buffer = self.pageview.textview.get_buffer()
        datefmt = self.plugin.preferences['date_fmt']

        today = datetime.strftime(datefmt, datetime.datetime.today())
        datelink = zim_xml(xml_link(path, today))

        buffer.insert_parsetree_at_cursor(datelink)
		def render_date(col, cell, model, i, data):
			mtime = model.get_value(i, self.MODIFIED_COL)
			if mtime:
				dt = datetime.datetime.fromtimestamp(mtime)
				date = dt.date()
				if date == today:
					text = _('Today') + datetime.strftime(' %H:%M', dt)
					# T: label for modified time
				elif date == yesterday:
					text = _('Yesterday') + datetime.strftime(' %H:%M', dt)
					# T: label for modified time
				elif date.year == today.year:
					text = datetime.strftime('%a %d %b %H:%M', dt) # TODO allow config for format ?
				else:
					text = datetime.strftime('%a %d %b %Y %H:%M', dt) # TODO allow config for format ?
			else:
				text = ''

			cell.set_property('text', text)
Exemplo n.º 9
0
		def render_date(col, cell, model, i):
			utime = model.get_value(i, self.MODIFIED_COL)
			if utime:
				utime = float(utime)
				dt = datetime.datetime.fromtimestamp(utime)
				date = dt.date()
				if date == today:
					text = _('Today') + datetime.strftime(' %H:%M', dt)
					# T: label for modified time
				elif date == yesterday:
					text = _('Yesterday') + datetime.strftime(' %H:%M', dt)
					# T: label for modified time
				elif date.year == today.year:
					text = datetime.strftime('%a %d %b %H:%M', dt) # TODO allow config for format ?
				else:
					text = datetime.strftime('%a %d %b %Y %H:%M', dt) # TODO allow config for format ?
			else:
				text = ''

			cell.set_property('text', text)