Example #1
0
    def process_theme(self, path, fullname):
        name, version, filename = fullname.split('/')
        namever = os.path.splitext(filename)[0]
        try:
            data = THEMES[namever]
        except KeyError:
            self.stderr.write('Unknown theme: {0}'.format(namever))
            self.stderr.write('Definition missing in website:data/themes.py')
            return

        complete_name = os.path.join(path, fullname)

        Theme.objects.get_or_create(
            filename=filename,
            name=name,
            version=version,
            defaults={
                'size': os.path.getsize(complete_name),
                'display_name': data['name'],
                'supported_versions': data['support'],
                'description': data['info'],
                'author': data['author'],
                'sha256': read_sum(
                    '{0}.sha256'.format(complete_name),
                    complete_name
                ),
                'sha1': read_sum(
                    '{0}.sha1'.format(complete_name),
                    complete_name
                ),
                'signed': os.path.exists('{0}.asc'.format(complete_name)),
            }
        )
Example #2
0
    def process_theme(self, path, fullname):
        name, version, filename = fullname.split("/")
        namever = os.path.splitext(filename)[0]
        try:
            data = THEMES[namever]
        except KeyError:
            self.stderr.write("Unknown theme: {0}".format(namever))
            self.stderr.write("Definition missing in website:data/themes.py")
            return

        complete_name = os.path.join(path, fullname)

        Theme.objects.get_or_create(
            filename=filename,
            name=name,
            version=version,
            defaults={
                "size": os.path.getsize(complete_name),
                "display_name": data["name"],
                "supported_versions": data["support"],
                "description": data["info"],
                "author": data["author"],
                "sha1": read_sum("{0}.sha1".format(complete_name), complete_name),
                "md5": read_sum("{0}.md5".format(complete_name), complete_name),
                "signed": os.path.exists("{0}.asc".format(complete_name)),
            },
        )
Example #3
0
 def process_files(self, path, release, prefix='', force=False):
     os.chdir(path)
     for filename in glob_downloads(prefix):
         download, created = Download.objects.get_or_create(
             release=release, filename=filename)
         if not created and not force:
             continue
         download.size = os.path.getsize(filename)
         download.sha1 = read_sum('{0}.sha1'.format(filename))
         download.sha256 = read_sum('{0}.sha256'.format(filename))
         download.signed = os.path.exists('{0}.asc'.format(filename))
         download.save()
Example #4
0
 def process_files(self, path, release):
     os.chdir(path)
     for filename in glob_downloads():
         download, created = Download.objects.get_or_create(
             release=release, filename=filename)
         if not created:
             continue
         download.size = os.path.getsize(filename)
         download.sha1 = read_sum('{0}.sha1'.format(filename))
         download.md5 = read_sum('{0}.md5'.format(filename))
         download.signed = os.path.exists('{0}.asc'.format(filename))
         download.save()
Example #5
0
    def process_theme(self, path, fullname):
        name, version, filename = fullname.split('/')
        namever = os.path.splitext(filename)[0]

        theme = Theme.objects.filter(filename=filename,
                                     name=name,
                                     version=version)
        if theme.exists():
            return

        zipfile = ZipFile(os.path.join(path, fullname), 'r')
        try:
            metadata = zipfile.open(os.path.join(name, 'theme.json'), 'r')
            data = json.load(metadata)
            data['support'] = ','.join(data['supports'])
            data['info'] = data['description']
        except KeyError:
            self.stderr.write('Missing theme.json in {0}'.format(fullname))
            try:
                data = THEMES[namever]
            except KeyError:
                self.stderr.write('Unknown theme: {0}'.format(namever))
                self.stderr.write(
                    'Definition missing in website:data/themes.py')
                return

        complete_name = os.path.join(path, fullname)

        Theme.objects.get_or_create(
            filename=filename,
            name=name,
            version=version,
            defaults={
                'size':
                os.path.getsize(complete_name),
                'display_name':
                data['name'],
                'supported_versions':
                data['support'],
                'description':
                data['info'],
                'url':
                data['url'] if 'url' in data else '',
                'author':
                data['author'],
                'sha256':
                read_sum('{0}.sha256'.format(complete_name), complete_name),
                'sha1':
                read_sum('{0}.sha1'.format(complete_name), complete_name),
                'signed':
                os.path.exists('{0}.asc'.format(complete_name)),
            })
Example #6
0
 def process_files(self, path, release, prefix='', force=False):
     os.chdir(path)
     for filename in glob_downloads(prefix):
         download, created = Download.objects.get_or_create(
             release=release, filename=filename
         )
         if not created and not force:
             continue
         download.size = os.path.getsize(filename)
         download.sha1 = read_sum('{0}.sha1'.format(filename))
         download.sha256 = read_sum('{0}.sha256'.format(filename))
         download.signed = os.path.exists('{0}.asc'.format(filename))
         download.save()
Example #7
0
 def process_files(self, path, release):
     os.chdir(path)
     for filename in glob_downloads():
         download, created = Download.objects.get_or_create(
             release=release, filename=filename
         )
         if not created:
             continue
         download.size = os.path.getsize(filename)
         download.sha1 = read_sum('{0}.sha1'.format(filename))
         download.md5 = read_sum('{0}.md5'.format(filename))
         download.signed = os.path.exists('{0}.asc'.format(filename))
         download.save()
Example #8
0
    def process_theme(self, path, fullname):
        name, version, filename = fullname.split('/')
        namever = os.path.splitext(filename)[0]

        theme = Theme.objects.filter(
            filename=filename,
            name=name,
            version=version
        )
        if theme.exists():
            return

        zipfile = ZipFile(os.path.join(path, fullname), 'r')
        try:
            metadata = zipfile.open(os.path.join(name, 'theme.json'), 'r')
            data = json.load(metadata)
            data['support'] = ','.join(data['supports'])
            data['info' ] = data['description']
        except KeyError:
            self.stderr.write('Missing theme.json in {0}'.format(fullname))
            try:
                data = THEMES[namever]
            except KeyError:
                self.stderr.write('Unknown theme: {0}'.format(namever))
                self.stderr.write('Definition missing in website:data/themes.py')
                return

        complete_name = os.path.join(path, fullname)

        Theme.objects.get_or_create(
            filename=filename,
            name=name,
            version=version,
            defaults={
                'size': os.path.getsize(complete_name),
                'display_name': data['name'],
                'supported_versions': data['support'],
                'description': data['info'],
                'url': data['url'] if 'url' in data else '',
                'author': data['author'],
                'sha256': read_sum(
                    '{0}.sha256'.format(complete_name),
                    complete_name
                ),
                'sha1': read_sum(
                    '{0}.sha1'.format(complete_name),
                    complete_name
                ),
                'signed': os.path.exists('{0}.asc'.format(complete_name)),
            }
        )