| Index: app/models/package_version.py
|
| diff --git a/app/models/package_version.py b/app/models/package_version.py
|
| index 03fb63e0dc2251fa05033866f0ab2557877f34e7..3b639e36e5e0c82c1e9fc302b8015aa17477f3b5 100644
|
| --- a/app/models/package_version.py
|
| +++ b/app/models/package_version.py
|
| @@ -72,30 +72,9 @@ class PackageVersion(db.Model):
|
|
|
| Lower numbers indicate earlier versions."""
|
|
|
| - uploader = db.UserProperty(required=True)
|
| - """The user who uploaded this package version."""
|
| -
|
| - uploaderEmail = db.StringProperty()
|
| + uploaderEmail = db.StringProperty(required=True)
|
| """The user email who uploaded this package version."""
|
|
|
| - def temp_synchronize_uploader_to_uploaderemail_and_pickles(self):
|
| - """ Will synchronize properties.
|
| -
|
| - uploader/readme/changelog -> uploaderEmail/readmeString/changelogString
|
| - """
|
| - if self.uploader is None:
|
| - self.uploaderEmail = None
|
| - else:
|
| - self.uploaderEmail = self.uploader.email()
|
| -
|
| - if self.readme:
|
| - self.readmeFilename = self.readme.filename
|
| - self.readmeContent = db.Text(self.readme.text)
|
| -
|
| - if self.changelog:
|
| - self.changelogFilename = self.changelog.filename
|
| - self.changelogContent = db.Text(self.changelog.text)
|
| -
|
| @property
|
| def readme_obj(self):
|
| if self.readmeFilename:
|
| @@ -105,7 +84,7 @@ class PackageVersion(db.Model):
|
|
|
| @property
|
| def changelog_obj(self):
|
| - if self.readmeFilename:
|
| + if self.changelogFilename:
|
| return Readme(self.changelogContent, self.changelogFilename)
|
| else:
|
| return None
|
| @@ -128,6 +107,16 @@ class PackageVersion(db.Model):
|
| not isinstance(kwargs['version'], SemanticVersion):
|
| kwargs['version'] = SemanticVersion(kwargs['version'])
|
|
|
| + if 'readme' in kwargs and kwargs['readme']:
|
| + kwargs['readmeFilename'] = kwargs['readme'].filename
|
| + kwargs['readmeContent'] = kwargs['readme'].text
|
| + del kwargs['readme']
|
| +
|
| + if 'changelog' in kwargs and kwargs['changelog']:
|
| + kwargs['changelogFilename'] = kwargs['changelog'].filename
|
| + kwargs['changelogContent'] = kwargs['changelog'].text
|
| + del kwargs['changelog']
|
| +
|
| if not 'key_name' in kwargs and not 'key' in kwargs:
|
| kwargs['key_name'] = str(kwargs['version'].canonical)
|
|
|
| @@ -138,10 +127,8 @@ class PackageVersion(db.Model):
|
| version._validate_fields_match_pubspec()
|
| return version
|
|
|
| - # TODO(kustermann): When we have string emails, this needs to be changed
|
| - # to read uploaderEmails instead of uploaders.
|
| @classmethod
|
| - def from_archive(cls, file, uploader):
|
| + def from_archive(cls, file, uploaderEmail):
|
| """Load a package version from a .tar.gz archive.
|
|
|
| If the package specified in the archive already exists, it will be
|
| @@ -150,7 +137,7 @@ class PackageVersion(db.Model):
|
|
|
| Arguments:
|
| file: An open file object containing a .tar.gz archive.
|
| - uploader: The user who uploaded this package archive.
|
| + uploaderEmail: The user email who uploaded this package archive.
|
|
|
| Returns: Both the Package object and the PackageVersion object.
|
| """
|
| @@ -162,8 +149,8 @@ class PackageVersion(db.Model):
|
| name = pubspec.required('name')
|
| package = Package.get_by_key_name(name)
|
| if not package:
|
| - assert uploader is not None
|
| - package = Package.new(name=name, uploaders=[uploader])
|
| + assert uploaderEmail is not None
|
| + package = Package.new(name=name, uploaderEmails=[uploaderEmail])
|
|
|
| libraries = sorted(name[4:] for name in tar.getnames()
|
| if name.startswith('lib/') and
|
| @@ -172,7 +159,8 @@ class PackageVersion(db.Model):
|
|
|
| return PackageVersion.new(
|
| package=package, changelog=changelog, readme=readme,
|
| - pubspec=pubspec, libraries=libraries, uploader=uploader)
|
| + pubspec=pubspec, libraries=libraries,
|
| + uploaderEmail=uploaderEmail)
|
| except (tarfile.TarError, KeyError) as err:
|
| raise db.BadValueError(
|
| "Error parsing package archive: %s" % err)
|
| @@ -303,8 +291,6 @@ class PackageVersion(db.Model):
|
| package_id=self.package.name,
|
| id=str(self.version))
|
|
|
| - # TODO(kustermann): When we have string emails, this needs to be changed
|
| - # to read uploaderEmails instead of uploaders.
|
| def as_dict(self, full=False):
|
| """Returns the dictionary representation of this package version.
|
|
|
|
|