Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(456)

Unified Diff: app/models/package_version.py

Issue 816693002: Add string versions of User/Pickled objects to datastore models (Closed) Base URL: https://github.com/dart-lang/pub-dartlang.git@master
Patch Set: Use db.Text(encoding="utf-8") Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « app/models/package.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: app/models/package_version.py
diff --git a/app/models/package_version.py b/app/models/package_version.py
index a7bab76de04a001953f9e66279054a38aaac255a..864097da1c1c469a9d36bcc5e3a1f63c4fc20cd5 100644
--- a/app/models/package_version.py
+++ b/app/models/package_version.py
@@ -34,9 +34,21 @@ class PackageVersion(db.Model):
readme = ReadmeProperty()
"""The README file."""
+ readmeFilename = db.StringProperty(indexed=False)
+ """The README filename."""
+
+ readmeContent = db.TextProperty()
+ """The README file as a string."""
+
changelog = ReadmeProperty()
"""The CHANGELOG file."""
+ changelogFilename = db.StringProperty(indexed=False)
+ """The CHANGELOG filename."""
+
+ changelogContent = db.TextProperty()
+ """The CHANGELOG file as a string."""
+
libraries = db.ListProperty(str)
"""All libraries that can be imported from this package version."""
@@ -63,6 +75,27 @@ class PackageVersion(db.Model):
uploader = db.UserProperty(required=True)
"""The user who uploaded this package version."""
+ uploaderEmail = db.StringProperty()
+ """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, encoding="utf-8")
+
+ if self.changelog:
+ self.changelogFilename = self.changelog.filename
+ self.changelogContent = db.Text(self.changelog.text, encoding="utf-8")
+
@classmethod
def new(cls, **kwargs):
"""Construct a new package version.
@@ -91,6 +124,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):
"""Load a package version from a .tar.gz archive.
@@ -254,6 +289,8 @@ 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.
« no previous file with comments | « app/models/package.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698