コード例 #1
0
    def handle(self, *args, **options):
        generators = generator_registry.get_ids()

        generator_ids = [
            __val.strip()
            for __val
            in str(options['generator_ids']).split(',')
            if __val
        ]

        # Sanity checks
        diff = list(set(generator_ids) - set(list(generators)))
        if diff:
            raise CommandError(
                "The following generator ids are not registered {}".format(
                    ', '.join(diff)
                )
            )
        for generator_id in generators:
            self.stdout.write('Validating generator: %s\n' % generator_id)
            for image_file in cachefile_registry.get(generator_id):
                if image_file.name:
                    self.stdout.write('  %s\n' % image_file.name)
                    try:
                        image_file.generate()
                    except MissingSource as err:
                        self.stdout.write('\t No source associated with\n')
                    except Exception as err:
                        self.stdout.write('\tFailed %s\n' % (err))
コード例 #2
0
 def test_registered_specs(self):
     self.assertEqual(list(generator_registry.get_ids()), [
         "imagekit:thumbnail", "pinax_images:image:thumbnail",
         "pinax_images:image:list_thumbnail",
         "pinax_images:image:small_thumbnail",
         "pinax_images:image:medium_thumbnail"
     ])
コード例 #3
0
ファイル: validate_thumbs.py プロジェクト: CV-IP/opensurfaces
    def handle(self, *args, **options):
        generators = generator_registry.get_ids()

        if args:
            patterns = self.compile_patterns(args)
            generators = (id for id in generators if any(p.match(id) for p in patterns))

        for generator_id in generators:
            self.stdout.write('Validating generator: %s\n' % generator_id)
            generate_thumbs_by_id_task.delay(generator_id)
コード例 #4
0
    def handle(self, *args, **options):
        generators = generator_registry.get_ids()

        if args:
            patterns = self.compile_patterns(args)
            generators = (id for id in generators if any(
                p.match(id) for p in patterns))

        for generator_id in generators:
            self.stdout.write('Validating generator: %s\n' % generator_id)
            generate_thumbs_by_id_task.delay(generator_id)
コード例 #5
0
    def handle(self, *args, **options):
        generators = generator_registry.get_ids()

        if args:
            patterns = self.compile_patterns(args)
            generators = (id for id in generators if any(
                p.match(id) for p in patterns))

        for generator_id in generators:
            self.stdout.write('Validating generator: %s\n' % generator_id)

            try:
                for image_file in cachefile_registry.get(generator_id):
                    if image_file.name:
                        self.stdout.write('  %s\n' % image_file.name)
                        try:
                            image_file.generate()
                        except Exception as err:
                            self.stdout.write('\tFailed %s\n' % (err))
            except:
                items = cachefile_registry._cachefiles.items()

                for k, v in items:

                    if generator_id in v:
                        #k is SourceGroupFilesGenerator

                        model_class = k.source_group.model_class
                        image_field = k.source_group.image_field
                        all_objects = model_class.objects.all()
                        item_count = len(all_objects)
                        count = 0

                        for instance in all_objects:
                            count += 1

                            print
                            try:
                                source = getattr(instance, image_field)
                                specs = spec_data_field_hash[generator_id]

                                spec = generator_registry.get(generator_id,
                                                              source=source,
                                                              specs=specs)

                                file = ImageCacheFile(spec)
                                self.stdout.write('  [%s of %s] - %s\n' %
                                                  (count, item_count, file))
                                call_strategy_method(file, 'on_source_saved')

                            except Exception:

                                self.stdout.write('ERROR: %s\n' %
                                                  (traceback.format_exc()))
コード例 #6
0
    def handle(self, *args, **options):
        generators = generator_registry.get_ids()

        if args:
            patterns = self.compile_patterns(args)
            generators = (id for id in generators if any(p.match(id) for p in patterns))

        for generator_id in generators:
            self.stdout.write('Validating generator: %s\n' % generator_id)


            try:
                for image_file in cachefile_registry.get(generator_id):
                    if image_file.name:
                        self.stdout.write('  %s\n' % image_file.name)
                        try:
                            image_file.generate()
                        except Exception as err:
                            self.stdout.write('\tFailed %s\n' % (err))
            except:
                items = cachefile_registry._cachefiles.items()
                
                for k, v in items:

                    
                    if generator_id in v:
                        #k is SourceGroupFilesGenerator
                       

                        model_class = k.source_group.model_class
                        image_field = k.source_group.image_field
                        all_objects = model_class.objects.all()
                        item_count = len(all_objects)
                        count = 0

                        for instance in all_objects:
                            count += 1

                            print 
                            try:
                                source = getattr(instance, image_field)
                                specs = spec_data_field_hash[generator_id]

                                spec = generator_registry.get(generator_id, source=source, specs=specs)

                                file = ImageCacheFile(spec)
                                self.stdout.write('  [%s of %s] - %s\n' % (count, item_count, file))
                                call_strategy_method(file, 'on_source_saved')                         

                            except Exception, err:

                                self.stdout.write('ERROR: %s\n' % (traceback.format_exc()))
コード例 #7
0
ファイル: tasks.py プロジェクト: CV-IP/opensurfaces
def ensure_thumbs_exist_task(ct_id, pk):
    ct = ContentType.objects.get_for_id(ct_id)
    obj = ct.model_class().objects.get(pk=pk)
    visited = set()
    for gen_id in generator_registry.get_ids():
        split = gen_id.split(':')
        if len(split) == 3:
            f = split[2]
            if f not in visited:
                visited.add(f)
                if hasattr(obj, f):
                    file = getattr(obj, f)
                    try:
                        file.generate(force=False)
                        #logger.info('%s: %s' % (f, file.url))
                    except Exception as exc:
                        logger.info("Error generating thumb: %s" % exc)
コード例 #8
0
def ensure_thumbs_exist_task(ct_id, pk):
    ct = ContentType.objects.get_for_id(ct_id)
    obj = ct.model_class().objects.get(pk=pk)
    visited = set()
    for gen_id in generator_registry.get_ids():
        split = gen_id.split(':')
        if len(split) == 3:
            f = split[2]
            if f not in visited:
                visited.add(f)
                if hasattr(obj, f):
                    file = getattr(obj, f)
                    try:
                        file.generate(force=False)
                        #logger.info('%s: %s' % (f, file.url))
                    except Exception as exc:
                        logger.info("Error generating thumb: %s" % exc)