feat(marpdownloader.py): implement function to download Marp CLI tool from GitHub repository based on specified username, repository, and file extension
feat(readme.md): add task for choosing/making AI choose background image for marp slides
feat(readme.md): add task for ability to change speaker file or set it to no speaker file per channel option
feat(readme.md): add support for transitions between photos
feat(readme.md): add support for generating a video from a given text
feat(readme.md): add support for adding a watermark to the video
feat(readme.md): add support for choosing or letting AI choose the background image for marp slides
fix(main.py): remove unused import statements and update function name to check_license_agreement
fix(main.py): remove unnecessary comments and sleep statements
feat(main.py): add check_license_agreement function to prompt user to accept license agreement
fix(requirements.txt): add 'watchdog' package to the list of requirements
feat(utils/settings.py): create Settings class to handle loading and updating settings from settings.yaml file
chore(readme.md): add tasks for changing background music and making prompts channel specific
feat(readme.md): add task for adding global settings dictionary and listener for settings changes
feat(readme.md): add a way to change settings without restarting the script
feat(readme.md): add a more detailed tutorial on how to use the script & readme
feat(readme.md): add a generator for more beautiful thumbnails
feat(readme.md): add a way to change the background music / add a way to add more background music / add a way to have channel specific background music
feat(readme.md): make the script prompts optionally channel specific for marp heading and oîdeas prompts
fix(video.py): assign url and id properties after uploading video
fix(montage.py): fix unsplash_url to use source.unsplash.com instead of api.unsplash.com
fix(montage.py): fix image download logic in prepare function
fix(marp.md): add missing newline at end of file
fix(wiki_downloader.py): fix image download logic in download_image function
feat(audio_prompts): add en_narrator_deep audio prompt for narrator
feat(audio_prompts): add en_narrator_light_bg audio prompt for narrator
fix(video.py): fix indentation and add prompt for generating thumbnail
fix(montage.py): fix indentation and add prompt for generating thumbnail
fix(montage.py): fix image download for wikimage slides
fix(speak.py): remove unused import statement
fix(speak.py): remove unused variable 'fakenames'
feat(speak.py): add function 'remove_blank_moments' to remove silent parts from audio file
feat(speak.py): add function 'optimize_string_groups' to optimize string groups for audio generation
fix(speak.py): fix comment indentation in 'generate_voice' function
fix(speak.py): remove unused imports in 'generate_voice' function
fix(speak.py): remove unused variable 'reduced_noise' in 'generate_voice' function
fix(speak.py): remove unused import statements in 'generate_voice' function
fix(speak.py): remove unused import statement for 'logging' module
fix(speak.py): remove unused print statements in 'main' function
fix(speak.py): remove unused import statement for 'logging' module
fix(speak.py): remove unused print statements in 'main' function
fix(speak.py):
fix(wiki_downloader.py): fix Google search URL to include correct query parameter
fix(wiki_downloader.py): reduce sleep time after page load to 1 second
fix(wiki_downloader.py): increase sleep time after image click to 5 seconds
This commit adds a new script called `wiki_downloader.py` which allows downloading images from Wikipedia. The script uses Selenium and undetected_chromedriver to automate the process of searching for an image on Google and downloading it.
The `download_image` function takes two parameters: `query` and `download_path`. It opens a headless Chrome browser using undetected_chromedriver and navigates to the Google Images search page with the specified query. After a short delay, it clicks on the "tout refuser" button to accept the cookies prompt. Then, it finds the first image in the search results and extracts its source URL. The image is then downloaded either by decoding a base64-encoded image or by making a request to the image URL. The downloaded image is saved in the specified `download_path`.
The script also includes a test case that demonstrates how to use the `download_image
feat(video.py): use wav format instead of mp3 for generated audio files
feat(montage.py): use Bark TTS instead of 🐸TTS
feat(speak.py): add support for Bark TTS
fix(speak.py): remove unused 🐸TTS import and variable
fix(main.py): fix asyncio.run() call placement
docs: update requirements.txt with new dependencies
fix(script.py): add prompt parameter to generate_script function
feat(main.py): add loop to run main function indefinitely and add option to quit with ctrl+c
fix(main.py): print video object instead of video url
feat(uploader.py): add retry mechanism to handle token expiration and refresh token if necessary. Also, pass youtube object to upload_thumbnail function.
refactor(montage.py): use os.path.join instead of string concatenation
refactor(thumbnail.py): use os.path.join instead of string concatenation
refactor(uploader.py): use os.path.join instead of string concatenation
refactor(uploader.py): add support for client_secret.json file with different names in credentials folder
docs(readme.md): update instructions for openai and unsplash keys
docs(readme.md): update instructions for google oauth client id json files
docs(readme.md): add information about channel.yaml file in each channel's folder
feat(generators/montage.py): add check to skip slide if it already exists
feat(generators/montage.py): add support for DEEPL_ACCESS_KEY and UNSPLASH_ACCESS_KEY environment variables
feat(generators/speak.py): add support for Johanne voice
feat(generators/speak.py): add emotion parameter to generate_voice function
feat(generators/uploader.py): add success message and authorization prompt message to run_local_server method
fix(main.py): check if credits is None before writing to meta.txt file
feat(prompts/marp.md): change theme to gaia and add lead and invert classes
refactor(montage.py): remove unused srt_fr variable
refactor(montage.py): remove saving of french subtitle file
refactor(main.py): remove unused translate import and function call