Skip to content

FawkesOficial/python-freetubedb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

freetubedb

PyPI - Version PyPI - Python Version

Python library for interacting with FreeTube's playlists.db file


Table of Contents

Installation

pip install freetubedb

Usage

FreetubePlaylist

@dataclass(frozen=True)
class FreetubePlaylist:
    """
    FreetubePlaylist class. Contains all the information stored about a playlist.
    """

    id: str
    name: str
    description: str
    protected: bool
    videos: list[FreetubeVideo] = field(default_factory=list[FreetubeVideo])

FreetubeVideo

@dataclass(frozen=True)
class FreetubeVideo:
    """
    FreetubeVideo class. Contains all the information stored about a video in a FreetubePlaylist.
    """

    id: str
    title: str

    author_id: str
    author_name: str

    length: int  # seconds
    date_published: int  # unix timestamp
    date_added: int  # unix timestamp

    playlist_item_id: str

Example

from pathlib import Path
from freetubedb import parse_playlists_file, FreetubePlaylist

# uses default FreeTube path based on operating system
playlists: list[FreetubePlaylist] = parse_playlists_file()

# alternatively, you can supply your own custom path:
# playlists: list[FreetubePlaylist] = parse_playlists_file(Path("./playlists.db"))


for playlist in playlists:
    print(f"Playlist: {playlist.name} (ID: {playlist.id})")
    print(f"Description: {playlist.description}")
    print(f"Number of videos: {len(playlist.videos)}")

    for video in playlist.videos:
        print(f"  - {video.title} by {video.author_name}")
        print(f"    Video ID: {video.id}")
        print(f"    Length: {video.length} seconds")
        print(f"    Published: {video.date_published} (unix timestamp)")
        print(f"    Added to playlist: {video.date_added} (unix timestamp)")

License

freetubedb is distributed under the terms of the GPL-3.0 license.

About

Python library for interacting with FreeTube's playlists.db file

Topics

Resources

License

Stars

Watchers

Forks

Languages