lists: introduce obfuscated formats

This commit is contained in:
Iain Learmonth 2022-05-16 17:09:33 +01:00
parent b1f7426beb
commit 6fe633bf0a
9 changed files with 64 additions and 24 deletions

View file

@ -29,6 +29,11 @@ def list_format_name(s: str) -> str:
return MirrorList.formats_supported.get(s, "Unknown")
@bp.app_template_filter("list_encoding_name")
def list_encoding_name(s: str) -> str:
return MirrorList.encodings_supported.get(s, "Unknown")
@bp.route('/list')
def list_list() -> ResponseReturnValue:
lists = MirrorList.query.filter(MirrorList.destroyed.is_(None)).all()
@ -82,6 +87,7 @@ def list_new(group_id: Optional[int] = None) -> ResponseReturnValue:
form = NewMirrorListForm()
form.provider.choices = [(k, v) for k, v in MirrorList.providers_supported] # type: ignore
form.format.choices = [(k, v) for k, v in MirrorList.formats_supported] # type: ignore
form.encoding.choices = [(k, v) for k, v in MirrorList.encodings_supported] # type: ignore
if form.validate_on_submit():
list_ = MirrorList()
list_.provider = form.provider.data
@ -110,6 +116,7 @@ def list_new(group_id: Optional[int] = None) -> ResponseReturnValue:
class NewMirrorListForm(FlaskForm): # type: ignore
provider = SelectField('Provider', validators=[DataRequired()])
format = SelectField('Distribution Method', validators=[DataRequired()])
encoding = SelectField('Encoding', validators=[DataRequired()])
description = StringField('Description', validators=[DataRequired()])
container = StringField('Container', validators=[DataRequired()],
description="GitHub Project, GitLab Project or AWS S3 bucket name.")

View file

@ -506,6 +506,7 @@
<tr>
<th scope="col">Provider</th>
<th scope="col">Format</th>
<th scope="col">Encoding</th>
<th scope="col">URI</th>
<th scope="col">Description</th>
<th scope="col">Actions</th>
@ -517,6 +518,7 @@
<tr class="align-middle">
<td>{{ list.provider | provider_name }}</td>
<td>{{ list.format | format_name }}</td>
<td>{{ list.encoding | list_encoding_name }}</td>
<td><a href="{{ list.url() }}">{{ list.url() }}</a></td>
<td>{{ list.description }}</td>
<td>