def _getSize(self, db): """Get the database size in a human readable format. """ size = db.getSize() if not isinstance(size, (int, long, float)): return str(size) return byteDisplay(size)
def test_byteDisplay(self): from zope.size import byteDisplay self.assertEqual(byteDisplay(0), u'0 KB') self.assertEqual(byteDisplay(1), u'1 KB') self.assertEqual(byteDisplay(2048), u'${size} KB') self.assertEqual(byteDisplay(2048).mapping, {'size': '2'}) self.assertEqual(byteDisplay(2000000), u'${size} MB') self.assertEqual(byteDisplay(2000000).mapping, {'size': '1.91'})
def test_byteDisplay(self): from zope.size import byteDisplay self.assertEqual(byteDisplay(0), '0 KB') self.assertEqual(byteDisplay(1), '1 KB') self.assertEqual(byteDisplay(2048), '${size} KB') self.assertEqual(byteDisplay(2048).mapping, {'size': '2'}) self.assertEqual(byteDisplay(2000000), '${size} MB') self.assertEqual(byteDisplay(2000000).mapping, {'size': '1.91'})
def sizeForDisplay(self): '''See `ISized`''' w, h = self._image.getImageSize() if w < 0: w = '?' if h < 0: h = '?' bytes = self._image.getSize() byte_size = byteDisplay(bytes) mapping = byte_size.mapping if mapping is None: mapping = {} mapping.update({'width': str(w), 'height': str(h)}) #TODO the way this message id is defined, it won't be picked up by # i18nextract and never show up in message catalogs return _(byte_size + ' ${width}x${height}', mapping=mapping)
def sizeForDisplay(self): '''See `ISized`''' w, h = self._image.getImageSize() if w < 0: w = '?' if h < 0: h = '?' bytes = self._image.getSize() byte_size = byteDisplay(bytes) mapping = byte_size.mapping if mapping is None: mapping = {} mapping.update({'width': str(w), 'height': str(h)}) # TODO the way this message id is defined, it won't be picked up by # i18nextract and never show up in message catalogs return _(byte_size + ' ${width}x${height}', mapping=mapping)
def sizeForDisplay(self): """See `ISized`""" bytes = self._container.getSize() byte_size = byteDisplay(bytes) num_items = len(self._container) mapping = byte_size.mapping if mapping is None: mapping = {} mapping.update({'items': str(num_items)}) if num_items == 1: return _("${items} item / " + byte_size , mapping=mapping) else: return _("${items} items / " + byte_size , mapping=mapping)
def sizeForDisplay(self): """See `ISized`""" w, h = self._image.getImageSize() if w < 0: w = "?" if h < 0: h = "?" bytes = self._image.getSize() byte_size = byteDisplay(bytes) mapping = byte_size.mapping if mapping is None: mapping = {} mapping.update({"width": str(w), "height": str(h)}) # TODO the way this message id is defined, it won't be picked up by # i18nextract and never show up in message catalogs return _(byte_size + " ${width}x${height}", mapping=mapping)
def sizeForDisplay(self): return byteDisplay(self.size)
def file_size(self): if INamed.providedBy(self.value): return byteDisplay(self.value.getSize()) else: return "0 KB"
def toLocalizedSize(self, size): """Convert an integer to a localized size string """ return translate(byteDisplay(size), context=self.request)
def file_size(self): """file_size.""" if INamed.providedBy(self.context.file): return byteDisplay(self.context.file.getSize()) return "0 KB"
def sizeForDisplay(self): return byteDisplay(self.context.size)
def sizeForDisplay(self): return size.byteDisplay(self._size)
def items(self): """ """ context, request = self.context, self.request plone_utils = getToolByName(context, 'plone_utils') portal_workflow = getToolByName(context, 'portal_workflow') getTitleForStateOnType = portal_workflow.getTitleForStateOnType portal_properties = getToolByName(context, 'portal_properties') site_properties = portal_properties.site_properties mimetypes_registry = getToolByName(context, 'mimetypes_registry') portal_url = getToolByName(context, 'portal_url')() portal_catalog = getToolByName(context, 'portal_catalog') use_view_action = site_properties.getProperty('typesUseViewActionInListings', ()) brains_image_uid = [] if self.isRichFileImageInstalled() == True: brains_image = portal_catalog(object_provides='atreal.richfile.image.interfaces.IImage') for brain_image in brains_image: brains_image_uid.append(brain_image.UID) albumview = False if self.isOverrideAlbumViewInstalled() == True: albumview = True results = [] i = -1 for uid, item in self.cart.items(): i += 1 pc = portal_catalog(UID=uid) table_row_class = "draggable " table_row_class += (i + 1) % 2 == 0 and "even" or "odd" if len(pc) == 0: table_row_class += " deleted" results.append(dict( UID = uid, id = item.name, title_or_id = item.name, is_deleted = True, table_row_class = table_row_class, )) else: brain = pc[0] url = brain.getURL() path = brain.getPath or "/".join(brain.getPhysicalPath()) type_class = 'contenttype-' + plone_utils.normalizeString( brain.portal_type) review_state = brain.review_state state_class = 'state-' + plone_utils.normalizeString(review_state) relative_url = brain.getURL(relative=True) obj_type = brain.portal_type is_expired = context.isExpired(brain) state_title = getTitleForStateOnType(review_state, obj_type) quoted_id = urllib.quote_plus(brain.getId) if obj_type in use_view_action: view_url = url + '/view' else: view_url = url if brain.UID in brains_image_uid: thumb = url+'/rfimage/thumb' elif brain.portal_type == "Image": thumb = url+'/image_thumb' elif albumview: thumb = "%s/rf_%s" % (portal_url, brain.getIcon) else: thumb = False object_info = dict( UID=brain.UID, url=url, id=brain.getId, quoted_id=quoted_id, path=path, title_or_id=brain.pretty_title_or_id(), description=brain.Description, obj_type=obj_type, size=brain.getObjSize, icon=brain.getIcon, type_class=type_class, wf_state=review_state, state_title=getTitleForStateOnType(review_state, obj_type), state_class=state_class, folderish=brain.is_folderish, relative_url=relative_url, view_url=view_url, table_row_class=table_row_class, thumb=thumb, is_expired=is_expired, is_deleted=False, is_additional=False, fieldname=None, lineitem=item, brain=brain, ) results.append(object_info) # ##### additional fields # ######### if hasattr(item, 'additional_attachments'): obj = brain.getObject() for fieldname in item.additional_attachments: i += 1 table_row_class = "additional draggable " table_row_class += (i + 1) % 2 == 0 and "even" or "odd" if len(pc) == 0: table_row_class += " deleted" results.append(dict( UID=uid, id=item.name + '-' + fieldname, title_or_id="%s (%s)" % (item.name, fieldname), is_deleted=True, table_row_class=table_row_class, )) else: state_class = 'state-' + plone_utils.normalizeString(review_state) relative_url = brain.getURL(relative=True) obj_type = obj.portal_type view_url = obj_type in use_view_action and (url + '/view') or url field = obj.getField(fieldname) value = field.get(obj) if not value: # Empty BlobWrapper, the file was # removed after the item was put in the cart. table_row_class += " deleted" results.append(dict( UID=uid, id=item.name + '-' + fieldname, title_or_id="%s (%s)" % (item.name, fieldname), is_deleted=True, table_row_class=table_row_class, )) continue filename = value.filename icon = mimetypes_registry.lookupExtension(filename).icon_path size = byteDisplay(value.get_size()) size = translate(size, context=request, target_language='en') type_class = 'contenttype-' + plone_utils.normalizeString( brain.portal_type) + '-' + field.type # for the moment, content sizes are not translated, # so we don't translate additional fields sizes attachment_info = dict( UID='%s-%s' % (brain.UID, fieldname), url=url, id='%s-%s' % (brain.getId, fieldname), quoted_id='%s-%s' % (quoted_id, fieldname), path=path, title_or_id=filename, description="", obj_type=field.type, size=size, icon=icon, type_class=type_class, wf_state=review_state, state_title=state_title, state_class=state_class, folderish=False, relative_url=relative_url, view_url="%s/at_download/%s" % (url, fieldname), table_row_class=table_row_class, thumb=False, is_expired=is_expired, is_deleted=False, is_additional=True, fieldname=fieldname, lineitem=item, brain=brain, ) results.append(attachment_info) return results
def _getSize(self, db): """Get the database size in a human readable format.""" size = db.getSize() # IDatabase requires this to return byte size assert isinstance(size, size_types) or size is None return byteDisplay(size or 0)
def file_size(self): return byteDisplay(self.field.getSize())