resource pool system
This commit is contained in:
parent
dc989dd7cb
commit
16f7e2199d
19 changed files with 382 additions and 105 deletions
|
@ -1,6 +1,6 @@
|
|||
import json
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
from typing import Optional, Any
|
||||
|
||||
from flask import render_template, url_for, flash, redirect, Blueprint, Response
|
||||
from flask.typing import ResponseReturnValue
|
||||
|
@ -13,7 +13,7 @@ from app.extensions import db
|
|||
from app.lists.bc2 import mirror_sites
|
||||
from app.lists.bridgelines import bridgelines
|
||||
from app.lists.mirror_mapping import mirror_mapping
|
||||
from app.models.base import MirrorList
|
||||
from app.models.base import MirrorList, Pool
|
||||
from app.portal.util import response_404, view_lifecycle
|
||||
|
||||
bp = Blueprint("list", __name__)
|
||||
|
@ -96,6 +96,7 @@ def list_new(group_id: Optional[int] = None) -> ResponseReturnValue:
|
|||
form.encoding.choices = list(MirrorList.encodings_supported.items())
|
||||
if form.validate_on_submit():
|
||||
list_ = MirrorList()
|
||||
list_.pool_id = form.pool.data
|
||||
list_.provider = form.provider.data
|
||||
list_.format = form.format.data
|
||||
list_.encoding = form.encoding.data
|
||||
|
@ -122,6 +123,7 @@ def list_new(group_id: Optional[int] = None) -> ResponseReturnValue:
|
|||
|
||||
|
||||
class NewMirrorListForm(FlaskForm): # type: ignore
|
||||
pool = SelectField('Resource Pool', validators=[DataRequired()])
|
||||
provider = SelectField('Provider', validators=[DataRequired()])
|
||||
format = SelectField('Distribution Method', validators=[DataRequired()])
|
||||
encoding = SelectField('Encoding', validators=[DataRequired()])
|
||||
|
@ -136,6 +138,12 @@ class NewMirrorListForm(FlaskForm): # type: ignore
|
|||
filename = StringField('Filename', validators=[DataRequired()])
|
||||
submit = SubmitField('Save Changes')
|
||||
|
||||
def __init__(self, *args: Any, **kwargs: Any) -> None:
|
||||
super().__init__(*args, **kwargs)
|
||||
self.pool.choices = [
|
||||
(pool.id, pool.pool_name) for pool in Pool.query.all()
|
||||
]
|
||||
|
||||
|
||||
@bp.route('/edit/<list_id>', methods=['GET', 'POST'])
|
||||
def list_edit(list_id: int) -> ResponseReturnValue:
|
||||
|
@ -160,6 +168,7 @@ def list_edit(list_id: int) -> ResponseReturnValue:
|
|||
form.format.choices = list(MirrorList.formats_supported.items())
|
||||
form.encoding.choices = list(MirrorList.encodings_supported.items())
|
||||
if form.validate_on_submit():
|
||||
list_.pool_id = form.pool.data
|
||||
list_.provider = form.provider.data
|
||||
list_.format = form.format.data
|
||||
list_.encoding = form.encoding.data
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue