def getRelativePaths(self): prefix = '/' + self.context.virtual_url_path() schema = self.context.Schema() def fieldFilter(field): return ( ( IBlobField.providedBy(field) or IFileField.providedBy(field) or IImageField.providedBy(field) ) and not ITextField.providedBy(field) ) seenDownloads = False for field in schema.filterFields(fieldFilter): if not seenDownloads: yield prefix + '/download' yield prefix + '/at_download' seenDownloads = True yield prefix + '/at_download/' + field.getName() fieldURL = '{0}/{1}'.format(prefix, field.getName(),) yield fieldURL if IImageField.providedBy(field): for size in field.getAvailableSizes(self.context).keys(): yield '{0}_{1}'.format(fieldURL, size,)
def getRelativePaths(self): prefix = '/' + self.context.virtual_url_path() schema = self.context.Schema() def fieldFilter(field): return ((IBlobField.providedBy(field) or IFileField.providedBy(field) or IImageField.providedBy(field)) and not ITextField.providedBy(field)) seenDownloads = False for field in schema.filterFields(fieldFilter): if not seenDownloads: yield prefix + '/download' yield prefix + '/at_download' seenDownloads = True yield prefix + '/at_download/' + field.getName() fieldURL = "%s/%s" % ( prefix, field.getName(), ) yield fieldURL if IImageField.providedBy(field): for size in field.getAvailableSizes(self.context).keys(): yield "%s_%s" % ( fieldURL, size, )
def fieldFilter(field): return ( ( IBlobField.providedBy(field) or IFileField.providedBy(field) or IImageField.providedBy(field) ) and not ITextField.providedBy(field) )
def testImageFieldInterface(self): data = self.getImage() folder = self.folder image = folder[folder.invokeFactory('Image', id='foo', image=data)] field = image.getField('image') self.assertTrue(IImageField.providedBy(field))
def fieldFilter(field): return ((IBlobField.providedBy(field) or IFileField.providedBy(field) or IImageField.providedBy(field)) and not ITextField.providedBy(field))