 3f10890319
			
		
	
	
		3f10890319
		
	
	
	
	
		
			
			These are just the doc strings I created as I was spelunking
through to see how Sugar manages launching applications.  The
resulting auto-documentation is neither polished or finished,
but it should help people reading the code somewhat.
There are a few minor code cleanups:
  * activityhandle (replacing C idiom for initialisation with
    a Python one)
  * bundle registry (using a parameterised directory name so
    that it shows up in the documentation)
  * validate_activity_id function, use isinstance( item, (str,unicode))
    for the query, rather than two separate checks with isinstance
		
	
			
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """Simple date-representation model"""
 | |
| import datetime
 | |
| 
 | |
| class Date(object):
 | |
|     """Date-object storing a simple time.time() float
 | |
|     
 | |
|     XXX not sure about the rationale for this class,
 | |
|     possibly it makes transfer over dbus easier?
 | |
|     """
 | |
|     def __init__(self, timestamp):
 | |
|         """Initialise via a timestamp (floating point value)"""
 | |
|         self._timestamp = timestamp
 | |
| 
 | |
|     def __str__(self):
 | |
|         """Produce a formatted date representation
 | |
|         
 | |
|         Eventually this should produce a localised version 
 | |
|         of the date.  At the moment it always produces English
 | |
|         dates in long form with Today and Yesterday 
 | |
|         special-cased and dates from this year not presenting
 | |
|         the year in the date.
 | |
|         """
 | |
|         date = datetime.date.fromtimestamp(self._timestamp)
 | |
|         today = datetime.date.today()
 | |
| 
 | |
|         # FIXME localization
 | |
|         if date == today:
 | |
|             result = 'Today'
 | |
|         elif date == today - datetime.timedelta(1):
 | |
|             result = 'Yesterday'
 | |
|         elif date.year == today.year:
 | |
|             result = date.strftime('%B %d')
 | |
|         else:
 | |
|             result = date.strftime('%B %d, %Y')
 | |
| 
 | |
|         time = datetime.datetime.fromtimestamp(self._timestamp)
 | |
|         result = result + ', ' + time.strftime('%I:%M %p')
 | |
| 
 | |
|         return result
 |