예제 #1
0
파일: events.py 프로젝트: mgimle/onlineweb4
    def dehydrate(self, bundle):

        # Setting slug-field
        bundle.data['slug'] = slugify(unidecode(bundle.data['title']))

        # If image is set
        if bundle.data['image']:
            # Parse to FileObject used by Filebrowser
            temp_image = FileObject(bundle.data['image'])

            # Itterate the different versions (by key)
            for ver in VERSIONS.keys():
                # Check if the key start with article_ (if it does, we want to crop to that size)
                if ver.startswith('events_'):
                    # Adding the new image to the object
                    bundle.data['image_' +
                                ver] = temp_image.version_generate(ver).url

            # Unset the image-field
            del (bundle.data['image'])

        # Do the same thing for the company image
        if 'image' in bundle.data and bundle.data['image']:
            for company in bundle.data['company_event']:
                temp_image = FileObject(
                    company.data['companies'].data['old_image'])
                for ver in VERSIONS.keys():
                    if ver.startswith('companies_thumb'):
                        company.data['companies'].data[
                            'old_image_' +
                            ver] = temp_image.version_generate(ver).url
                del (company.data['companies'].data['old_image'])

        # Returning washed object
        return bundle
    def __init__(self, value, version_suffix=ADMIN_THUMBNAIL):
        """
        Initialize Media for filebrowser.
        :param value: string with format 'app_label.model_name:pk'
        :param version_suffix: string with information about version to display

        """

        assert isinstance(value, str)
        assert version_suffix in VERSIONS.keys()

        self.value = value

        try:
            model_representation, self.object_id = value.split(':')
        except ValueError:
            raise FBExtensionObjectException(CORECT_FORMAT_EXCEPTION)

        if not all((model_representation, self.object_id)):
            raise FBExtensionObjectException(CORECT_FORMAT_EXCEPTION)

        try:
            self.app_label, self.model_name = model_representation.split('.')
        except ValueError:
            raise FBExtensionObjectException(CORECT_FORMAT_EXCEPTION)
        self.version_suffix = version_suffix
예제 #3
0
 def version(self):
     "Returns version name"
     ext = (r'_(%s)$') % ('|'.join(VERSIONS.keys()))
     match = re.search(ext, self.filename_root, re.IGNORECASE)
     if match:
         return match.groups()[0]
     return None
예제 #4
0
def find_image_versions(image):
    img = image
    img_strings = []

    for ver in VERSIONS.keys():
        if ver.startswith('events_'):
            img_strings.append(img.version_generate(ver).url)

    return img_strings
예제 #5
0
파일: utils.py 프로젝트: mgimle/onlineweb4
def find_image_versions(company):
    img = company.old_image
    img_strings = []

    for ver in VERSIONS.keys():
        if ver.startswith('companies_'):
            img_strings.append(img.version_generate(ver).url)

    return img_strings
예제 #6
0
파일: utils.py 프로젝트: tokongs/onlineweb4
def find_image_versions(article):
    img = article.image
    img_strings = []

    for ver in VERSIONS.keys():
        if ver.startswith("article_"):
            img_strings.append(img.version_generate(ver).url)

    return img_strings
예제 #7
0
    def test_should_return_correct_original_name_using_predefined_versions(self):
        expected = 'testimage.jpg'
        for version_suffix in VERSIONS.keys():
            file_object = self.F_IMAGE.version_generate(version_suffix)
            namer = self._get_namer(version_suffix, file_object)
            self.assertNotEqual(file_object.filename, expected)

            self.assertEqual(namer.get_original_name(), expected)
            self.assertEqual(file_object.original_filename, expected)
예제 #8
0
    def test_version_attributes_3(self):
        """
        FileObject version attributes/methods
        with alternative versions_basedir

        # is_version
        # original
        # original_filename
        # versions_basedir
        # versions
        # admin_versions
        # version_name(suffix)
        # version_generate(suffix)
        """

        # new settings
        version_list = sorted([
            '_test/_versions/folder/testimage_{}.jpg'.format(name)
            for name in VERSIONS.keys()
        ])
        admin_version_list = ['_test/_versions/folder/testimage_large.jpg']

        self.assertEqual(self.F_IMAGE.is_version, False)
        self.assertEqual(self.F_IMAGE.original.path, self.F_IMAGE.path)
        self.assertEqual(self.F_IMAGE.versions_basedir, "_test/_versions/")
        self.assertEqual(self.F_IMAGE.versions(), version_list)
        self.assertEqual(self.F_IMAGE.admin_versions(), admin_version_list)
        self.assertEqual(self.F_IMAGE.version_name("large"),
                         "testimage_large.jpg")
        self.assertEqual(self.F_IMAGE.version_path("large"),
                         "_test/_versions/folder/testimage_large.jpg")

        # version does not exist yet
        f_version = FileObject(os.path.join(site.directory, 'folder',
                                            "testimage_large.jpg"),
                               site=site)
        self.assertEqual(f_version.exists, False)
        # generate version
        f_version = self.F_IMAGE.version_generate("large")
        self.assertEqual(f_version.path,
                         "_test/_versions/folder/testimage_large.jpg")
        self.assertEqual(f_version.exists, True)
        self.assertEqual(f_version.is_version, True)
        self.assertEqual(f_version.original_filename, "testimage.jpg")
        self.assertEqual(f_version.original.path, self.F_IMAGE.path)
        self.assertEqual(f_version.versions(), [])
        self.assertEqual(f_version.admin_versions(), [])
예제 #9
0
    def test_version_attributes_3(self):
        """
        FileObject version attributes/methods
        with alternative versions_basedir

        # is_version
        # original
        # original_filename
        # versions_basedir
        # versions
        # admin_versions
        # version_name(suffix)
        # version_generate(suffix)
        """

        # new settings
        version_list = sorted(['_test/_versions/folder/testimage_{}.jpg'.format(name) for name in VERSIONS.keys()])
        admin_version_list = ['_test/_versions/folder/testimage_large.jpg']

        self.assertEqual(self.F_IMAGE.is_version, False)
        self.assertEqual(self.F_IMAGE.original.path, self.F_IMAGE.path)
        self.assertEqual(self.F_IMAGE.versions_basedir, "_test/_versions/")
        self.assertEqual(self.F_IMAGE.versions(), version_list)
        self.assertEqual(self.F_IMAGE.admin_versions(), admin_version_list)
        self.assertEqual(self.F_IMAGE.version_name("large"), "testimage_large.jpg")
        self.assertEqual(self.F_IMAGE.version_path("large"), "_test/_versions/folder/testimage_large.jpg")

        # version does not exist yet
        f_version = FileObject(os.path.join(site.directory, 'folder', "testimage_large.jpg"), site=site)
        self.assertEqual(f_version.exists, False)
        # generate version
        f_version = self.F_IMAGE.version_generate("large")
        self.assertEqual(f_version.path, "_test/_versions/folder/testimage_large.jpg")
        self.assertEqual(f_version.exists, True)
        self.assertEqual(f_version.is_version, True)
        self.assertEqual(f_version.original_filename, "testimage.jpg")
        self.assertEqual(f_version.original.path, self.F_IMAGE.path)
        self.assertEqual(f_version.versions(), [])
        self.assertEqual(f_version.admin_versions(), [])