Moved bucket to settings
This commit is contained in:
parent
6ed5b793e8
commit
43700aa66b
17
interface/migrations/0012_remove_ensemble_bucket.py
Normal file
17
interface/migrations/0012_remove_ensemble_bucket.py
Normal file
@ -0,0 +1,17 @@
|
||||
# Generated by Django 3.1.1 on 2020-09-07 04:53
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('interface', '0011_auto_20200907_0234'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='ensemble',
|
||||
name='bucket',
|
||||
),
|
||||
]
|
||||
18
interface/migrations/0013_auto_20200907_1455.py
Normal file
18
interface/migrations/0013_auto_20200907_1455.py
Normal file
@ -0,0 +1,18 @@
|
||||
# Generated by Django 3.1.1 on 2020-09-07 04:55
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('interface', '0012_remove_ensemble_bucket'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name='resource',
|
||||
old_name='uri',
|
||||
new_name='key',
|
||||
),
|
||||
]
|
||||
@ -1,6 +1,7 @@
|
||||
from django.db import models
|
||||
from django.utils.text import slugify
|
||||
from django.utils import timezone
|
||||
from django.conf import settings
|
||||
|
||||
import random
|
||||
|
||||
@ -12,6 +13,9 @@ import os.path
|
||||
|
||||
s3client = boto3.client('s3')
|
||||
|
||||
BUCKET = settings.AWS_BUCKET
|
||||
|
||||
|
||||
def generate_code(length=9):
|
||||
return "".join([ random.choice('0123456789') for _ in range(length) ])
|
||||
|
||||
@ -19,7 +23,6 @@ class Ensemble(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
code = models.CharField(max_length=9, default=generate_code)
|
||||
passphrase = models.CharField(max_length=100)
|
||||
bucket = models.CharField(max_length=255)
|
||||
|
||||
def active_projects(self):
|
||||
return self.projects.filter(active=True)
|
||||
@ -42,7 +45,7 @@ class Project(models.Model):
|
||||
|
||||
def presigned_post(self, object_name, fields=None, conditions=None, expires=3600):
|
||||
key = os.path.join(slugify(self.name), object_name)
|
||||
return s3client.generate_presigned_post(self.ensemble.bucket, key, Fields=fields or {}, Conditions=conditions or [], ExpiresIn=expires)
|
||||
return s3client.generate_presigned_post(BUCKET, key, Fields=fields or {}, Conditions=conditions or [], ExpiresIn=expires)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
@ -50,7 +53,11 @@ class Project(models.Model):
|
||||
class Resource(models.Model):
|
||||
project = models.ForeignKey(Project, related_name='resources', on_delete=models.CASCADE)
|
||||
name = models.CharField(max_length=100)
|
||||
uri = models.CharField(max_length=255)
|
||||
key = models.CharField(max_length=255)
|
||||
|
||||
def presigned_url(self):
|
||||
params = {'Bucket': BUCKET, 'Key': self.key}
|
||||
return s3client.generate_presigned_url('get_object', Params=params, ExpiresIn=3600)
|
||||
|
||||
class WikiPage(models.Model):
|
||||
project = models.ForeignKey(Project, related_name='wiki_pages', on_delete=models.CASCADE)
|
||||
@ -70,7 +77,7 @@ class Submission(models.Model):
|
||||
key = models.CharField(max_length=512, blank=True)
|
||||
|
||||
def presigned_url(self):
|
||||
params = {'Bucket': self.project.ensemble.bucket, 'Key': self.key}
|
||||
params = {'Bucket': BUCKET, 'Key': self.key}
|
||||
return s3client.generate_presigned_url('get_object', Params=params, ExpiresIn=3600)
|
||||
|
||||
def key_template(self):
|
||||
|
||||
@ -28,7 +28,8 @@
|
||||
{% endblock %}
|
||||
<div class="project-links">
|
||||
<div class="pills" role="tablist">
|
||||
<a role=tab" href="{% url 'project' project_id=project.id %}">Project info</a>
|
||||
<a role="tab" href="{% url 'project' project_id=project.id %}">Project info</a>
|
||||
<a role="tab" href="{% url 'resources' project_id=project.pk %}">Resources</a>
|
||||
{% for page in project.wiki_pages.all %}
|
||||
<a class="nav-link {% if page.id == wiki_id %}active{% endif %}"
|
||||
href="{% url 'wiki' project_id=project.id wiki_id=page.id %}">{{ page.title }}</a>
|
||||
|
||||
@ -119,3 +119,5 @@ USE_TZ = True
|
||||
# https://docs.djangoproject.com/en/3.1/howto/static-files/
|
||||
|
||||
STATIC_URL = '/static/'
|
||||
|
||||
AWS_BUCKET = 'virtual-orchestra'
|
||||
Loading…
x
Reference in New Issue
Block a user