No project description provided
Project description
Wagtail Transcription
wagtail-transcription is app for Wagtail that allows to create transcriptions for YouTube videos automatically with just few clicks! To create transcription it use AssemblyAi API.
pip install wagtail-transcription
Then add wagtail_transcription
and notifications
to your installed apps:
Note: Make sure that 'wagtail_transcription' is added before 'wagtail.admin'. Otherwise, administration page will not work properly
INSTALLED_APPS = [
...
'wagtail_transcription',
'notifications',
...
]
SetUp
1. Run migrations
After installing wagtail-transcription and adding it to installed apps run migrations:
python manage.py migrate
2. Add wagtail-transcription urls
Add following to your project urls.py
from wagtail_transcription import urls as wagtail_transcription_url
import notifications.urls
urlpatterns = [
...
path("wagtail_transcription/", include(wagtail_transcription_url)),
re_path(r'^inbox/notifications/', include(notifications.urls, namespace='notifications')),
...
]
3. Add ASSEMBLY_API_TOKEN
In your settigns file add 'ASSEMBLY_API_TOKEN' (to get it create Assembly Ai account)
ASSEMBLY_API_TOKEN = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
4. Forward your localhost (developement)
IMPORTANT After transcription process ends AssemblyAi will send request to one of wagtail-transcription views. To receive it on local server you have to forward your localhost. Best and easiest option is use tunelling service like localltunnel.
5. Add BASE_URL
In your settings file add 'BASE_URL = "base_url"' this is used when sending webhook_url for AssemblyAi. In developement you should set it to forward url. If you use localltunnel it will be something like this 'https://your_subdomain.loca.lt'
BASE_URL = "base_url"
6. Add DOCUMENTS_GROUP (Optional)
In your settings file add 'DOCUMENTS_GROUP = True' to create menu group from wagtail documents and transcription
DOCUMENTS_GROUP = True
Usage
In model that you want to add dynamically generated transcryption
from wagtail_transcription.edit_handlers import VideoTranscriptionPanel
from wagtail_transcription.models import Transcription
class YourModel(Orderable, models.Model):
video_id = video_id = models.CharField(max_length=255, blank=True)
transcription = models.ForeignKey(
Transcription,
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name='+'
)
panels = [
MultiFieldPanel([
VideoTranscriptionPanel('video_id', transcription_field='transcription'),
FieldPanel('transcription'),
], heading="Video and Transcription"),
]
video_id field accept only youtube video id (not urls).
VideoTranscriptionPanel takes two arguments:
- field_name - name of field for video_id
- transcription_field - name of transcription field
IMPORTANT You can only generate a transcript on an existing object, if you try to do this in page creation view you will get an error.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for wagtail-transcription-0.0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 417affb779c526b353d810f5aebcf727714836216b8fa883c3ed113f73678c9d |
|
MD5 | 607e124ae225b4c48be832344ec6b742 |
|
BLAKE2b-256 | 26c6b446faed83b4bdff91370e8dd696e3e10d01e502498baf5594113eb3581c |
Hashes for wagtail_transcription-0.0.2-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2f830a92bfc4cc11e2b1808ab6239735bc4ccd6edade96ac10115afabe48da8 |
|
MD5 | e37f8c3a52bc404ce13083d7dcd93934 |
|
BLAKE2b-256 | 45a9618305a2934941d29d749d4a179ba79b5b03b8a67337e2d7c37ae4cdd15a |