mirror of
https://github.com/fastogt/fastocloud_admin.git
synced 2025-03-09 23:38:52 +00:00
User agent
This commit is contained in:
parent
ca8462b2f1
commit
6203746a70
6 changed files with 33 additions and 13 deletions
|
@ -1,3 +1,8 @@
|
|||
1.2.0 /
|
||||
[Alexandr Topilski]
|
||||
- User agents
|
||||
- Subscribers
|
||||
|
||||
1.1.0 / June 6, 2019
|
||||
[Alexandr Topilski]
|
||||
- User type
|
||||
|
|
|
@ -19,7 +19,7 @@ class Url(EmbeddedDocument):
|
|||
|
||||
|
||||
class InputUrl(Url):
|
||||
pass
|
||||
user_agent = IntField(default=constants.UserAgent.GSTREAMER, required=True)
|
||||
|
||||
|
||||
class OutputUrl(Url):
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from wtforms import Form
|
||||
from flask_babel import lazy_gettext
|
||||
from wtforms.fields import StringField, FieldList, IntegerField, FormField, FloatField
|
||||
from wtforms.fields import StringField, FieldList, IntegerField, FormField, FloatField, SelectField
|
||||
from wtforms.validators import InputRequired, Length, NumberRange
|
||||
|
||||
import app.constants as constants
|
||||
|
@ -16,7 +16,9 @@ class UrlForm(Form):
|
|||
|
||||
|
||||
class InputUrlForm(UrlForm):
|
||||
pass
|
||||
user_agent = SelectField(lazy_gettext(u'User agent:'),
|
||||
validators=[InputRequired()],
|
||||
choices=constants.AVAILABLE_USER_AGENTS, coerce=constants.UserAgent.coerce)
|
||||
|
||||
|
||||
class InputUrlsForm(Form):
|
||||
|
@ -25,7 +27,7 @@ class InputUrlsForm(Form):
|
|||
def get_data(self) -> InputUrls:
|
||||
urls = InputUrls()
|
||||
for url in self.data['urls']:
|
||||
urls.urls.append(InputUrl(url['id'], url['uri']))
|
||||
urls.urls.append(InputUrl(url['id'], url['uri'], url['user_agent']))
|
||||
|
||||
return urls
|
||||
|
||||
|
|
|
@ -3,4 +3,4 @@ PUBLIC_CONFIG = {'site': {'title': 'FastoCloud', 'keywords': 'video,cloud,iptv,s
|
|||
'support': {'contact_email': 'support@fastogt.com',
|
||||
'contact_address': 'Republic of Belarus, Minsk, Stadionnay str. 5',
|
||||
'community_channel': 'https://discord.gg/cnUXsws'},
|
||||
'project': {'version': '1.1.0', 'version_type': 'release'}}
|
||||
'project': {'version': '1.2.0', 'version_type': 'release'}}
|
||||
|
|
|
@ -195,3 +195,22 @@ class Roles(IntEnum):
|
|||
|
||||
def __str__(self):
|
||||
return str(self.value)
|
||||
|
||||
|
||||
class UserAgent(IntEnum):
|
||||
GSTREAMER = 0
|
||||
VLC = 1
|
||||
|
||||
@classmethod
|
||||
def choices(cls):
|
||||
return [(choice, choice.name) for choice in cls]
|
||||
|
||||
@classmethod
|
||||
def coerce(cls, item):
|
||||
return cls(int(item)) if not isinstance(item, cls) else item
|
||||
|
||||
def __str__(self):
|
||||
return str(self.value)
|
||||
|
||||
|
||||
AVAILABLE_USER_AGENTS = [(UserAgent.GSTREAMER, 'GStreamer'), (UserAgent.VLC, 'VLC'), ]
|
||||
|
|
|
@ -588,11 +588,12 @@ Dashboard | {{ config['PUBLIC_CONFIG'].site.title }}
|
|||
}
|
||||
|
||||
function edit_stream_entry(url) {
|
||||
var data_ser = $('#stream_entry_form').serialize();
|
||||
$.ajax({
|
||||
url: url,
|
||||
type: "POST",
|
||||
dataType: 'json',
|
||||
data: $('#stream_entry_form').serialize(),
|
||||
data: data_ser,
|
||||
success: function (response) {
|
||||
console.log(response);
|
||||
$('#stream_dialog').modal('hide');
|
||||
|
@ -808,12 +809,5 @@ Dashboard | {{ config['PUBLIC_CONFIG'].site.title }}
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue