Пример #1
0
def media_post_save(sender, **kwargs):

    obj = kwargs['instance']

    # ingest fingerprint
    if (AUTOCREATE_FPRINT and obj.master) and not obj.fprint_ingested:
        ingest_fprint_for_media.apply_async((obj.pk,))


    if not obj.folder:

        log.debug('no directory for media %s - create it.' % obj.pk)
        directory = get_dir_for_object(obj)
        abs_directory = os.path.join(settings.MEDIA_ROOT, directory)

        try:
            if not os.path.exists(abs_directory):
                os.makedirs(abs_directory, 0755)

            obj.folder = directory
            log.debug('creating directory: %s' % abs_directory)

        except Exception as e:
            log.warning('unable to create directory: %s - %s' % (abs_directory, e))
            obj.folder = None
            obj.status = 99

    # invalidate cache
    invalidate_obj(obj)
Пример #2
0
def media_post_save(sender, **kwargs):

    obj = kwargs['instance']

    # ingest fingerprint
    if (AUTOCREATE_FPRINT and obj.master) and not obj.fprint_ingested:
        ingest_fprint_for_media.apply_async((obj, ))

    if not obj.folder:

        log.debug('no directory for media %s - create it.' % obj.pk)
        directory = get_dir_for_object(obj)
        abs_directory = os.path.join(settings.MEDIA_ROOT, directory)

        try:
            if not os.path.exists(abs_directory):
                os.makedirs(abs_directory, 0755)

            obj.folder = directory
            log.debug('creating directory: %s' % abs_directory)

        except Exception as e:
            log.warning('unable to create directory: %s - %s' %
                        (abs_directory, e))
            obj.folder = None
            obj.status = 99

    # invalidate cache
    invalidate_obj(obj)
Пример #3
0
    def download_and_save_image(self, image_url):
        """
        we cannot `use obj.image.save()` here - because this update the db timestamps
        and also trigger the `post_save` signal.
        so adding the file to the instance has to be done 'manually'
        """

        # 1. define files / directories
        _filename = 'logo.jpg'
        _dir = get_dir_for_object(self.obj)
        _path = os.path.join(_dir, _filename)

        _dir_abs = os.path.join(MEDIA_ROOT, _dir)
        _path_abs = os.path.join(MEDIA_ROOT, _path)

        # 2. create directory if absent
        if not os.path.isdir(_dir_abs):
            log.debug('create directory: {}'.format(_dir_abs))
            os.makedirs(_dir_abs)

        # 3. download image
        log.debug('save {} to {}'.format(image_url, _path_abs))
        _f = urllib.URLopener()
        _f.retrieve(image_url, _path_abs)
        _f.close()

        # 4. update item
        if os.path.isfile(_path_abs):
            type(self.obj).objects.filter(pk=self.obj.pk).update(
                main_image=_path)

        # 5. return reloaded object
        return type(self.obj).objects.get(pk=self.obj.pk)
Пример #4
0
    def download_and_save_image(self, image_url):
        """
        we cannot `use obj.image.save()` here - because this update the db timestamps
        and also trigger the `post_save` signal.
        so adding the file to the instance has to be done 'manually'
        """

        # 1. define files / directories
        _filename = 'logo.jpg'
        _dir = get_dir_for_object(self.obj)
        _path = os.path.join(_dir, _filename)

        _dir_abs = os.path.join(MEDIA_ROOT, _dir)
        _path_abs = os.path.join(MEDIA_ROOT, _path)


        # 2. create directory if absent
        if not os.path.isdir(_dir_abs):
            log.debug('create directory: {}'.format(_dir_abs))
            os.makedirs(_dir_abs)


        # 3. download image
        log.debug('save {} to {}'.format(image_url, _path_abs))
        _f = urllib.URLopener()
        _f.retrieve(image_url, _path_abs)
        _f.close()



        # 4. update item
        if os.path.isfile(_path_abs):
            type(self.obj).objects.filter(pk=self.obj.pk).update(
                main_image=_path
            )

        # 5. return reloaded object
        return type(self.obj).objects.get(pk=self.obj.pk)
Пример #5
0
def upload_image_to(instance, filename):
    filename, extension = os.path.splitext(filename)
    return os.path.join(get_dir_for_object(instance), 'logo%s' % extension.lower())
Пример #6
0
def upload_image_to(instance, filename):
    filename, extension = os.path.splitext(filename)
    return os.path.join(get_dir_for_object(instance), 'logo%s' % extension.lower())
Пример #7
0
def upload_mixdown_to(instance, filename):
    filename, extension = os.path.splitext(filename)
    return os.path.join(get_dir_for_object(instance), 'mixdown{}'.format(extension.lower()))
Пример #8
0
def upload_image_to(instance, filename):
    filename, extension = os.path.splitext(filename)
    return os.path.join(get_dir_for_object(instance), 'playlists{}'.format(extension.lower()))
Пример #9
0
def upload_mixdown_to(instance, filename):
    filename, extension = os.path.splitext(filename)
    return os.path.join(get_dir_for_object(instance),
                        'mixdown{}'.format(extension.lower()))
Пример #10
0
def upload_image_to(instance, filename):
    filename, extension = os.path.splitext(filename)
    return os.path.join(get_dir_for_object(instance),
                        'playlists{}'.format(extension.lower()))