Skip to content

Commit 77d26b6

Browse files
committed
All the other entities.
1 parent d84c1af commit 77d26b6

File tree

6 files changed

+123
-0
lines changed

6 files changed

+123
-0
lines changed

app/ch16_mongodb/final/pypi_org/app.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import flask
55

66
from pypi_org.nosql import mongo_setup
7+
from pypi_org.nosql.users import User
78

89
folder = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
910
sys.path.insert(0, folder)
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import datetime
2+
import mongoengine
3+
4+
5+
class Download(mongoengine.Document):
6+
created_date = mongoengine.DateTimeField(default=datetime.datetime.now)
7+
8+
package_id = mongoengine.StringField()
9+
release_id = mongoengine.IntField()
10+
11+
ip_address = mongoengine.StringField()
12+
user_agent = mongoengine.StringField()
13+
14+
meta = {
15+
'db_alias': 'core',
16+
'collection': 'documents',
17+
'indexes': [
18+
'created_date',
19+
'package_id',
20+
'release_id',
21+
]
22+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import datetime
2+
import mongoengine
3+
4+
5+
class ProgrammingLanguage(mongoengine.Document):
6+
7+
id = mongoengine.StringField(primary_key=True)
8+
created_date = mongoengine.DateTimeField(default=datetime.datetime.now)
9+
description = mongoengine.StringField()
10+
11+
meta = {
12+
'db_alias': 'core',
13+
'collection': 'languages',
14+
'indexes': [
15+
'created_date',
16+
]
17+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import datetime
2+
import mongoengine
3+
4+
5+
class License(mongoengine.Document):
6+
id = mongoengine.StringField(primary_key=True)
7+
created_date = mongoengine.DateTimeField(default=datetime.datetime.now)
8+
description = mongoengine.StringField()
9+
10+
meta = {
11+
'db_alias': 'core',
12+
'collection': 'licenses',
13+
'indexes': [
14+
'created_date',
15+
]
16+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import datetime
2+
3+
import mongoengine
4+
5+
6+
class Package(mongoengine.Document):
7+
id = mongoengine.StringField(primary_key=True)
8+
created_date = mongoengine.DateTimeField(default=datetime.datetime.now)
9+
summary = mongoengine.StringField()
10+
description = mongoengine.StringField()
11+
12+
home_page = mongoengine.StringField()
13+
docs_url = mongoengine.StringField()
14+
package_url = mongoengine.StringField()
15+
16+
author = mongoengine.StringField()
17+
author_email = mongoengine.StringField()
18+
license = mongoengine.StringField()
19+
20+
maintainers = mongoengine.ListField(mongoengine.ObjectIdField())
21+
22+
meta = {
23+
'db_alias': 'core',
24+
'collection': 'packages',
25+
'indexes': [
26+
'created_date',
27+
'author_email',
28+
'license',
29+
]
30+
}
31+
32+
def __repr__(self):
33+
return '<Package {}>'.format(self.id)
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import datetime
2+
3+
import mongoengine
4+
5+
6+
class Release(mongoengine.Document):
7+
package_id = mongoengine.StringField()
8+
9+
major_ver = mongoengine.IntField()
10+
minor_ver = mongoengine.IntField()
11+
build_ver = mongoengine.IntField()
12+
13+
created_date = mongoengine.DateTimeField(default=datetime.datetime.now)
14+
comment = mongoengine.StringField()
15+
url = mongoengine.StringField()
16+
size = mongoengine.IntField()
17+
18+
meta = {
19+
'db_alias': 'core',
20+
'collection': 'releases',
21+
'indexes': [
22+
'created_date',
23+
'package_id',
24+
'major_ver',
25+
'minor_ver',
26+
'build_ver',
27+
{'fields': ['major_ver', 'minor_ver', 'build_ver']},
28+
{'fields': ['-major_ver', '-minor_ver', '-build_ver']},
29+
]
30+
}
31+
32+
@property
33+
def version_text(self):
34+
return '{}.{}.{}'.format(self.major_ver, self.minor_ver, self.build_ver)

0 commit comments

Comments
 (0)