def importData(self, start=1, end=0): """ Import data from line 'start' to line 'end' """ splitter = queryAdapter(self, IImportSplitter) config = configparser.ConfigParser() config.read( os.path.join(os.getcwd(), 'var/urban.dataimport', 'utils.cfg')) commit_range = config.get("transaction-commit", "range") for dataline in self.datasource.iterdata(): if end and self.current_line > end: break elif start <= self.current_line and splitter.allow(dataline): self.importDataLine(dataline) date = DateTime() with open("processing.csv", "a") as file: file.write( date.strftime('%Y/%m/%d') + ":" + date.Time() + "," + "Folder current_line commit : " + "," + str(self.current_line) + "\n") self.current_line += 1 if not commit_range == '0' and self.current_line % int( commit_range) == 0: transaction.commit() self.register_import_transaction(start, self.current_line - 1) self.reporting_mail("%s : line %s to %s" % (self.name, start, self.current_line - 1))
def register_import_transaction(self, start, end): """ Store the import transaction on an annotation so we can undo it later """ historic = api.portal.get().__urbandataimport__ import_transaction = transaction.get() import_transaction.note(self.name) date = DateTime() import_transaction.note( u'line {start} to {end} date: {date} - {time}'.format( start=start, end=end, date=date.strftime('%d/%m/%Y'), time=date.Time(), )) historic_id = 'imio.urban.dataimport.import_historic:%s' % self.name import_value = import_transaction.description import_key = date.micros() if historic_id not in historic: import_historic = historic[historic_id] = {} else: import_historic = historic[historic_id] import_historic[import_key] = import_value historic[historic_id] = dict(import_historic)
class message(Folder): """ The chat message, stores a chat line @param date_time: date and time posted @param user: the user id who sent this message @param msg: the submitted text message """ id = '' title = '' date_time = None user = '' msg = '' #Class metadata #Zope meta_type = CHATTER_MESSAGE_META_TYPE security = ClassSecurityInfo() all_meta_types = {} def __init__(self, id, title, user, msg): self.id = id self.title = title self.date_time = DateTime() self.user = user self.msg = msg security.declareProtected(CHATTER_VIEW_ROOM_PERMISSION, 'get_posting_user') def get_posting_user(self): """ Returns the posting user id """ return self.user security.declareProtected(CHATTER_VIEW_ROOM_PERMISSION, 'get_posting_time') def get_posting_time(self): """ Returns the time at whitch the message was posted """ return self.date_time security.declareProtected(CHATTER_VIEW_ROOM_PERMISSION, 'get_msg') def get_msg(self): """ Returns the posted message""" msg = ut.utXmlEncode(self.msg) msg = self.linkifyURLS(msg) return msg security.declareProtected(CHATTER_VIEW_ROOM_PERMISSION, 'get_date') def get_date(self): """ """ return self.date_time.Date() security.declareProtected(CHATTER_VIEW_ROOM_PERMISSION, 'get_time') def get_time(self): """ """ return self.date_time.Time()
def scadenza_bando(object, **kw): datetime_scadenza_bando = getattr(object, "scadenza_bando", None) if not datetime_scadenza_bando: return DateTime("2100/12/31") zope_dt_scadenza_bando = DateTime(datetime_scadenza_bando) if zope_dt_scadenza_bando.Time() == "00:00:00": return zope_dt_scadenza_bando + 1 else: return zope_dt_scadenza_bando
def getScadenza_bando(object, **kw): datetime_scadenza_bando = getattr(object, 'scadenza_bando', None) if not datetime_scadenza_bando: return DateTime('2100/12/31') zope_dt_scadenza_bando = DateTime(datetime_scadenza_bando) if zope_dt_scadenza_bando.Time() == '00:00:00': return zope_dt_scadenza_bando + 1 else: return zope_dt_scadenza_bando
def dict_from_item(item): if hasPloneAppEvent and (IEvent.providedBy(item) or IOccurrence.providedBy(item)): # plone.app.event DX or AT Event is_occurrence = IOccurrence.providedBy(item) acc = IEventAccessor(item) return { "status": "ok", "id": "UID_%s" % (acc.uid), "title": acc.title, "description": acc.description, "start": acc.start.isoformat(), "end": acc.end.isoformat(), "url": acc.url, "editable": editable, "allDay": acc.whole_day, "className": "contextualContentMenuEnabled %s %s %s %s" % (state and "state-%s" % str(state) or "", editable and "editable" or "", css and css or "", is_occurrence and "occurrence" or ""), "color": color } elif IATEvent.providedBy(item): # Products.ATContentTypes ATEvent allday = (item.end() - item.start()) > 1.0 adapted = interfaces.ISFBaseEventFields(item, None) if adapted: allday = adapted.allDay return { "status": "ok", "id": "UID_%s" % (item.UID()), "title": item.Title(), "description": item.Description(), "start": item.start().ISO8601(), "end": item.end().ISO8601(), "url": item.absolute_url(), "editable": editable, "allDay": allday, "className": "contextualContentMenuEnabled %s %s %s" % (state and "state-%s" % str(state) or "", editable and "editable" or "", css and css or ""), "color": color } elif ICatalogBrain.providedBy(item): # Event catalog brain if type(item.end) != DateTime: brainend = DateTime(item.end) brainstart = DateTime(item.start) else: brainend = item.end brainstart = item.start allday = (brainend - brainstart) > 1.0 if getattr(item, 'SFAllDay', None) in [False, True]: allday = item.SFAllDay # Set Mexico City Time brainstart = DateTime(' '.join( (brainstart.Date(), brainstart.Time(), 'America/Mexico_City'))) brainend = DateTime(' '.join( (brainend.Date(), brainend.Time(), 'America/Mexico_City'))) return { "status": "ok", "id": "UID_%s" % (item.UID), "title": item.Title, "description": item.Description, "start": brainstart.ISO8601(), "end": brainend.ISO8601(), "url": item.getURL(), "editable": editable, "allDay": allday, "className": "contextualContentMenuEnabled %s %s %s" % (state and "state-%s" % str(state) or "", editable and "editable" or "", css and css or ""), "color": color } else: raise ValueError('item type not supported for: %s' % repr(item))
def toTime(date): """get time part of a date """ if isinstance(date, datetime.datetime): date = DateTime(date) return date.Time()
def getDateStr(date): """Expects date-object, returns a string like: '2016/12/24 21:39:12'.""" return str(DateTime.Date(date)) + ' ' + str(DateTime.Time(date))