Hi, I started using kupfer a few days ago and I think that is a great software. I had a idea for plugin - converting unix timestamps to the human readable date and vice-versa. So I made this plugin. I think that this plugin can be useful for more people, so if you want, you can add it to package with kupfer. Regards, -- Jan Krajdl
__kupfer_name__ = _("Timestamp") __kupfer_actions__ = ("Convert", "ConvertToTimestamp") __description__ = _("Convert timestamp to the human readable format") __version__ = "" __author__ = "Jan Krajdl <spm spamik cz>" from kupfer import plugin_support __kupfer_settings__ = plugin_support.PluginSettings( { "key": "date_format", "label": _("Output format"), "type": str, "value": "dd.MM.yyyy hh:mm:ss", "alternatives": ( "MM/dd/yyyy hh:mm:ss", "yyyy/MM/dd hh:mm:ss", ) }, ) import time from kupfer.objects import Action, TextLeaf _FORMATS = { "dd.MM.yyyy hh:mm:ss": "%d.%m.%Y %H:%M:%S", "MM/dd/yyyy hh:mm:ss": "%m/%d/%Y %H:%M:%S", "yyyy/MM/dd hh:mm:ss": "%Y/%m/%d %H:%M:%S" } class Convert(Action): rank_adjust = 2 def __init__(self): Action.__init__(self, _("Convert from timestamp")) def has_result(self): return True def activate(self, leaf): format = _FORMATS[__kupfer_settings__["date_format"]] tm = time.strftime(format, time.localtime(int(leaf.object))) return TextLeaf(tm) def item_types(self): yield TextLeaf def valid_for_item(self, leaf): try: int(leaf.object) return True except: return False class ConvertToTimestamp(Action): rank_adjust = 10 def __init__(self): Action.__init__(self, _("Convert from date")) def has_result(self): return True def activate(self, leaf): format = _FORMATS[__kupfer_settings__["date_format"]] tm = time.strptime(leaf.object, format) return TextLeaf(str(int(time.mktime(tm)))) def item_types(self): yield TextLeaf def valid_for_item(self, leaf): format = _FORMATS[__kupfer_settings__["date_format"]] try: time.strptime(leaf.object, format) return True except: return False
Attachment:
signature.asc
Description: Digital signature