Skip to content

Instantly share code, notes, and snippets.

@blacklight
Created September 20, 2022 08:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save blacklight/37b877101103dced9a661dc33a2809bf to your computer and use it in GitHub Desktop.
Save blacklight/37b877101103dced9a661dc33a2809bf to your computer and use it in GitHub Desktop.
# ~/.config/platypush/scripts/music/db.py
from sqlalchemy import create_engine
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import sessionmaker, scoped_session
music_db_engine = 'postgresql+pg8000://dbuser:dbpass@dbhost/dbname'
engine = create_engine(music_db_engine)
Base = automap_base()
Base.prepare(engine, reflect=True)
Track = Base.classes.music_track
TrackActivity = Base.classes.music_activity
TrackSimilar = Base.classes.music_similar
DiscoveryPlaylist = Base.classes.music_discovery_playlist
DiscoveryPlaylistTrack = Base.classes.music_discovery_playlist_track
NewRelease = Base.classes.new_release
def get_db_session():
session = scoped_session(sessionmaker(expire_on_commit=False))
session.configure(bind=engine)
return session()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment