pyams_file package ⊞

pyams_file.includeme(config)[source]

Pyramid include

pyams_file.file

class pyams_file.file.AudioFile(data='', content_type=None, source=None)[source]

Bases: pyams_file.file.File

Audio file persistent object

class pyams_file.file.BlobFileCopyHook(context)[source]

Bases: pyams_utils.adapter.ContextAdapter

Blob file copy hook

Inspired by z3c.blobfile package

class pyams_file.file.BlobReferencesManager[source]

Bases: persistent.Persistent, zope.container.contained.Contained

Global blobs references manager utility

The utility is used to keep all references of persistent files objects to their blobs. References management is done automatically when using file-related properties, like pyams_file.property.FileProperty or pyams_i18n.property.I18nFileProperty.

add_reference(blob, reference)[source]
drop_reference(blob, reference)[source]
class pyams_file.file.File(data='', content_type=None, source=None)[source]

Bases: persistent.Persistent, zope.container.contained.Contained

Generic file persistent object

add_blob_reference(reference=None)[source]

Add reference to internal blob

data
description

Description

filename

Save file as…: Name under which the file will be saved

get_blob(mode='r')[source]
get_detached_blob()[source]
get_size()[source]
init_blob()[source]

Initialize internal blob and add reference to it

language

Language: File’s content language

remove_blob_reference()[source]

Remove reference to internal blob

Blob is deleted if there is no more reference to it.

title

Title

pyams_file.file.FileFactory(data)[source]

File object factory

Automatically create the right file type based on magic content-type recognition

class pyams_file.file.ImageFile(data='', content_type=None, source=None)[source]

Bases: pyams_file.file.File

Image file persistent object

crop(x1, y1, x2, y2)[source]
data
get_image_size()[source]
image_size = (-1, -1)
resize(width, height, keep_ratio=True)[source]
rotate(angle=-90)[source]
class pyams_file.file.SVGImageFile(data='', content_type=None, source=None)[source]

Bases: pyams_file.file.File

SVG image file persistent object

class pyams_file.file.VideoFile(data='', content_type=None, source=None)[source]

Bases: pyams_file.file.File

Video file persistent object

pyams_file.file.get_magic_content_type(input)[source]

Get content-type based on magic library as bytes

As libmagic bindings are provided via several ‘magic’ packages, we try them in order

pyams_file.file.handle_added_file(event)[source]

Add blob reference when file is added

pyams_file.file.handle_removed_file(event)[source]

Remove blob associated with file when removed

pyams_file.image

class pyams_file.image.ImageBannerThumbnailer(context)[source]

Bases: pyams_file.image.ImageRatioThumbnailer

Image banner thumbnail adapter

label = 'Banner thumbnail'
ratio = (5, 1)
weight = 8
class pyams_file.image.ImagePanoThumbnailer(context)[source]

Bases: pyams_file.image.ImageRatioThumbnailer

Image panoramic thumbnail adapter

get_thumb_size(width, height, geometry)[source]
label = 'Panoramic thumbnail'
ratio = (16, 9)
weight = 7
class pyams_file.image.ImagePortraitThumbnailer(context)[source]

Bases: pyams_file.image.ImageRatioThumbnailer

Image portrait thumbnail adapter

label = 'Portrait thumbnail'
ratio = (3, 4)
weight = 5
class pyams_file.image.ImageRatioThumbnailer(context)[source]

Bases: pyams_file.image.ImageSelectionThumbnailer

Image thumbnailer with specific ratio

get_default_geometry(options=None)[source]

Default thumbnail geometry

ratio = (None, None)
class pyams_file.image.ImageSelectionThumbnailer(context)[source]

Bases: pyams_file.image.ImageThumbnailer

Image thumbnailer based on user selection

create_thumbnail(target, format=None)[source]
get_thumb_size(width, height, geometry)[source]
section = 'Custom selections'
class pyams_file.image.ImageSquareThumbnailer(context)[source]

Bases: pyams_file.image.ImageRatioThumbnailer

Image square thumbnail adapter

label = 'Square thumbnail'
ratio = (1, 1)
weight = 6
class pyams_file.image.ImageThumbnailer(context)[source]

Bases: pyams_utils.adapter.ContextAdapter

Image thumbnailer adapter

create_thumbnail(target, format=None)[source]
get_default_geometry(options=None)[source]

Default thumbnail geometry

label = 'Default thumbnail'
section = 'Default thumbnail'
weight = 1
class pyams_file.image.LgImageThumbnailer(context)[source]

Bases: pyams_file.image.ResponsiveImageThumbnailer

LarGe responsive image thumbnailer

label = 'Large screen thumbnail'
weight = 13
class pyams_file.image.MdImageThumbnailer(context)[source]

Bases: pyams_file.image.ResponsiveImageThumbnailer

MeDium responsive image thumbnailer

label = 'Medium screen thumbnail'
weight = 12
class pyams_file.image.ResponsiveImageThumbnailer(context)[source]

Bases: pyams_file.image.ImageSelectionThumbnailer

Responsive image thumbnailer

section = 'Responsive selections'
class pyams_file.image.SmImageThumbnailer(context)[source]

Bases: pyams_file.image.ResponsiveImageThumbnailer

SMall responsive image thumbnailer

label = 'Tablet thumbnail'
weight = 11
class pyams_file.image.ThumbnailGeometry[source]

Bases: object

Image thumbnail geometry

is_empty()[source]
x1

Thumbnail position X1

x2

Thumbnail position X2

y1

Thumbnail position Y1

y2

Thumbnail position Y2

class pyams_file.image.XsImageThumbnailer(context)[source]

Bases: pyams_file.image.ResponsiveImageThumbnailer

eXtra-Small responsive image thumbnailer

label = 'Smartphone thumbnail'
weight = 10

pyams_file.include

pyams_file.include.include_package(config)[source]

Pyramid include

pyams_file.property

class pyams_file.property.FileProperty(field, name=None, klass=None, **args)[source]

Bases: object

Property class used to handle files

pyams_file.schema

class pyams_file.schema.AudioField(min_length=0, max_length=None, **kw)[source]

Bases: pyams_file.schema.MediaField

Custom field used to store audio file

schema = <InterfaceClass pyams_file.interfaces.IAudio>
class pyams_file.schema.FileField(min_length=0, max_length=None, **kw)[source]

Bases: zope.schema._field.Bytes

Custom field used to handle file-like properties

schema = <InterfaceClass pyams_file.interfaces.IFile>
class pyams_file.schema.ImageField(min_length=0, max_length=None, **kw)[source]

Bases: pyams_file.schema.MediaField

Custom field used to handle image properties

schema = <InterfaceClass pyams_file.interfaces.IBaseImage>
class pyams_file.schema.MediaField(min_length=0, max_length=None, **kw)[source]

Bases: pyams_file.schema.FileField

Custom field used to store media-like properties

schema = <InterfaceClass pyams_file.interfaces.IMediaFile>
class pyams_file.schema.ThumbnailImageField(min_length=0, max_length=None, **kw)[source]

Bases: pyams_file.schema.ImageField

Custom field used to handle images properties with square selection

class pyams_file.schema.ThumbnailMediaField(min_length=0, max_length=None, **kw)[source]

Bases: pyams_file.schema.MediaField

Custom field used to store media properties with thumbnail selection

class pyams_file.schema.ThumbnailVideoField(min_length=0, max_length=None, **kw)[source]

Bases: pyams_file.schema.VideoField

Custom field used to store video properties with thumbnail selection

class pyams_file.schema.VideoField(min_length=0, max_length=None, **kw)[source]

Bases: pyams_file.schema.MediaField

Custom field used to store video file

schema = <InterfaceClass pyams_file.interfaces.IVideo>

pyams_file.thumbnail

pyams_file.watermark

class pyams_file.watermark.ImageWatermarker[source]

Bases: object

Image watermarker utility

add_watermark(image, watermark, position='scale', opacity=1, format=None)[source]

Adds a watermark to an image and return a new image