Exemplo n.º 1
0
    def _save_package(packed, name, harness_options, package_type, author):
        " create Package or add PackageRevision "
        manifest = harness_options['metadata'][name]
        if 'version' not in manifest:
            manifest['version'] = 'uploaded'
        if package_type == 'a':
            manifest['main'] = harness_options['main']
        if 'contributors' in manifest:
            manifest['contributors'] = ','.join(manifest['contributors'])
        if 'license' not in manifest:
            manifest['license'] = ''
        # validation
        if 'name' not in manifest:
            raise ManifestNotValid("Manifest is not valid.\n"
                                   "name is obsolete")

        if 'fullName' not in manifest:
            manifest['fullName'] = manifest['name']

        # * optional - check for jid - might be a problem with private key
        # create Package
        try:
            obj = Package.objects.get(author=author,
                                      name=name,
                                      type=package_type)
            new_revision = True
        except:
            obj = Package(
                author=author,
                full_name=manifest['fullName'],
                name=manifest['name'],
                type=package_type,
                license=manifest['license'],
                description=manifest['description'] \
                        if 'description' in manifest else ''
            )
            obj.save()
            obj.latest.set_version('empty.uploaded')
            new_revision = False

        obj.create_revision_from_xpi(packed,
                                     manifest,
                                     author,
                                     harness_options['jetpackID'],
                                     new_revision=new_revision)

        return obj
Exemplo n.º 2
0
    def _save_package(packed, name, harness_options, package_type, author):
        " create Package or add PackageRevision "
        manifest = harness_options['metadata'][name]
        if 'version' not in manifest:
            manifest['version'] = 'uploaded'
        if package_type == 'a':
            manifest['main'] = harness_options['main']
        if 'contributors' in manifest:
            manifest['contributors'] = ','.join(manifest['contributors'])
        if  'license' not in manifest:
            manifest['license'] = ''
        # validation
        if 'name' not in manifest:
            raise ManifestNotValid("Manifest is not valid.\n"
                    "name is obsolete")

        if 'fullName' not in manifest:
            manifest['fullName'] = manifest['name']

        # * optional - check for jid - might be a problem with private key
        # create Package
        try:
            obj = Package.objects.get(author=author, name=name,
                    type=package_type)
            new_revision = True
        except:
            obj = Package(
                author=author,
                full_name=manifest['fullName'],
                name=manifest['name'],
                type=package_type,
                license=manifest['license'],
                description=manifest['description'] \
                        if 'description' in manifest else ''
            )
            obj.save()
            obj.latest.set_version('empty.uploaded')
            new_revision = False

        obj.create_revision_from_xpi(packed, manifest, author,
            harness_options['jetpackID'], new_revision=new_revision)

        return obj
Exemplo n.º 3
0
    def _save_package(packed, name, harness_options, package_type, author):
        " create Package or add PackageRevision "
        manifest = harness_options["metadata"][name]
        if "version" not in manifest:
            manifest["version"] = "uploaded"
        if package_type == "a":
            manifest["main"] = harness_options["main"]
        if "contributors" in manifest:
            manifest["contributors"] = ",".join(manifest["contributors"])
        if "license" not in manifest:
            manifest["license"] = ""
        # validation
        if "name" not in manifest:
            raise ManifestNotValid("Manifest is not valid.\n" "name is obsolete")

        if "fullName" not in manifest:
            manifest["fullName"] = manifest["name"]

        # * optional - check for jid - might be a problem with private key
        # create Package
        try:
            obj = Package.objects.get(author=author, name=name, type=package_type)
            new_revision = True
        except:
            obj = Package(
                author=author,
                full_name=manifest["fullName"],
                name=manifest["name"],
                type=package_type,
                license=manifest["license"],
                description=manifest["description"] if "description" in manifest else "",
            )
            obj.save()
            obj.latest.set_version("empty.uploaded")
            new_revision = False

        obj.create_revision_from_xpi(packed, manifest, author, harness_options["jetpackID"], new_revision=new_revision)

        return obj