Mercurial > codedump
annotate kmbscreens/kmbscreens.py @ 133:0d8eabdd12ab default tip
create: write H:MM:SS timestamps, add option to fill with gaussian-blur instead of black
many albums are longer than one hour so writing H:MM:SS is a
necessity. if anything there will just be verbose info that
isn't important for my use-case.
however the gaussian-blur is simply broken. It works, and it plays
locally just fine, but YouTube in particular elongates the video
to fit the full width. I'm not entirely sure why it does this, but
it makes it useless and ugly.
| author | Paper <paper@tflc.us> |
|---|---|
| date | Sat, 03 Jan 2026 20:25:38 -0500 |
| parents | a0f8c92d46db |
| children |
| rev | line source |
|---|---|
|
116
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
1 import os |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
2 import tweepy |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
3 import json |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
4 import glob |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
5 import subprocess |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
6 import random |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
7 API_KEY = "API_KEY" |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
8 API_KEY_SECRET = "API_KEY_SECRET" |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
9 access_tokens = [] |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
10 if os.path.exists("./credentials.json"): |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
11 with open("credentials.json", "r") as f: |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
12 access_tokens = json.load(f) |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
13 |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
14 oauth1_user_handler = None |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
15 try: |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
16 oauth1_user_handler = tweepy.OAuth1UserHandler( |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
17 API_KEY, API_KEY_SECRET, |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
18 access_tokens[0], access_tokens[1], |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
19 callback="oob" |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
20 ) |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
21 except IndexError: |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
22 oauth1_user_handler = tweepy.OAuth1UserHandler( |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
23 API_KEY, API_KEY_SECRET, |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
24 callback="oob" |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
25 ) |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
26 |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
27 if not access_tokens: |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
28 print(oauth1_user_handler.get_authorization_url()) |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
29 pin = input("Input PIN: ") |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
30 access_tokens.extend(oauth1_user_handler.get_access_token(pin)) |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
31 with open("credentials.json", "w") as f: |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
32 json.dump(access_tokens, f) |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
33 |
|
122
a0f8c92d46db
Update kmbscreens.py for LINUCKS
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
116
diff
changeset
|
34 episode = random.choice(list(glob.glob("/mnt/2TBMEDIA/Movies/Anime/Kill Me Baby/*.mkv"))) |
|
a0f8c92d46db
Update kmbscreens.py for LINUCKS
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
116
diff
changeset
|
35 result = subprocess.run(["ffprobe", "-v", "quiet", "-of", "csv=p=0", |
|
116
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
36 "-show_entries", "format=duration", episode], |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
37 capture_output=True, text=True) |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
38 test = random.randint(0, round(float(result.stdout.strip()))) |
|
122
a0f8c92d46db
Update kmbscreens.py for LINUCKS
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
116
diff
changeset
|
39 result = subprocess.run(["ffmpeg", "-hide_banner", "-loglevel", |
|
116
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
40 "warning", "-i", episode, "-y", "-frames:v", "1", |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
41 "-ss", str(test), "screencap.jpg"]) |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
42 |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
43 api = tweepy.API(oauth1_user_handler) |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
44 with open("screencap.jpg", "rb") as f: |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
45 media = api.media_upload(None, file=f) |
|
205fc01d5eb4
kmbscreens: replace bat+c with py
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
46 api.update_status("", media_ids=[media.media_id_string]) |
