Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fetch event recordings from youtube #94

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

david-wolgemuth
Copy link
Contributor

  • add model EventRecording
  • fetches Matt's youtube playlists and relates them to groups

misc

todos / followups

  • build a frontend for viewing these

  • relate recordings to events ; for now only relates to groups. will probably need to manually relate to events?

    • (could probably use AI to quick do this ; but don't want to muddy up this pr)
    • only 5 events match the recording titles as is:
>>> rs = EventRecording.objects.all()
>>> for r in rs:
...     if Event.objects.filter(name=r.title).exists():
...         print(r.title)
...
Boosting AI with Python: Using Click, Jinja2, and GPT Libraries
NATS: Connecting Apps Over a Network Easily
An Opinionated Introduction to CI/CD
NATS: Connecting Apps Over a Network Easily
No Frills, Just Go: Standard Library Only Web Apps

Visualization

Screenshot 2024-10-31 at 09 45 15 Screenshot 2024-10-31 at 09 46 18

Copy link
Member

@mblayman mblayman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks cool.

What would be the plan for fetching these and knowing how/when to link them? I'm not eager to sign up for manual work.

techcity/events/models.py Show resolved Hide resolved
snippet = youtube_video_data["snippet"]
content_details = youtube_video_data["contentDetails"]

# TODO - could extract Speaker ? Should probably be from the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't reliably set the speaker in a consistent way, so I agree that we should probably get speaker data from a different source.

@david-wolgemuth
Copy link
Contributor Author

What would be the plan for fetching these and knowing how/when to link them? I'm not eager to sign up for manual work.

Yeah, I wasn't sure if you had thoughts on that

A couple ideas I had:

  • when you upload recording, include the related meetup URL in the description
  • AI script - I just pushed up an example of what that might look like (i can flush it out / clean it up if you like that idea)



class Command(BaseCommand):
help = "Attempt to resolve the names of event recordings"
Copy link
Contributor Author

@david-wolgemuth david-wolgemuth Nov 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

example run of this script,

$ uv run manage.py resolve_event_recording_names

Recording: recording.title='PDF Text Extraction With Python' recording.published_at=datetime.datetime(2024, 8, 15, 3, 53, 12, tzinfo=datetime.timezone.utc)
Event: event.name='PDF Text Extraction (2nd Wed Talk)' event.start_at=datetime.datetime(2024, 8, 14, 23, 0, tzinfo=datetime.timezone.utc)

(i'd clean this up / complete it if you like the idea)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems cool. I guess we'd only need to run this when there is a recording that doesn't have an event attached, so the actual API calls would be super low. Also, if we are pulling from the known playlists where I'd be adding recordings, there could be a pretty high degree of confidence in the matching.

You've probably done more OpenAI stuff than I have. How deterministic do you think this is likely to be?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants