Compare commits
3 Commits
efa84c6bae
...
068937803e
Author | SHA1 | Date | |
---|---|---|---|
068937803e | |||
2b77c1360a | |||
9b8f179a91 |
@ -19,7 +19,7 @@
|
||||
from collections import OrderedDict
|
||||
|
||||
|
||||
def setup_profile(name, backend, tags, banned_tags, message, message_nsfw, force_nsfw=None):
|
||||
def setup_profile(name, backend, banned_tags, tags, message, message_nsfw, force_nsfw=None):
|
||||
post_setting = {
|
||||
"name": name,
|
||||
"backend": backend,
|
||||
@ -93,6 +93,6 @@ banned_tags = (
|
||||
|
||||
# Apply post settings
|
||||
settings_post = (
|
||||
setup_profile("danbooru.random", "danbooru_backend", ("random",), banned_tags, "#random", "#random #lewd #nsfw", None),
|
||||
setup_profile("danbooru.yandere", "danbooru_backend", ("yandere",), banned_tags, "#yandere", "#yandere #lewd #nsfw", None),
|
||||
setup_profile("danbooru.random", "danbooru_backend", banned_tags, ("random",), "#random", "#random #nsfw #lewd"),
|
||||
setup_profile("danbooru.yandere", "danbooru_backend", banned_tags, ("yandere",), "#yandere", "#yandere #nsfw #lewd"),
|
||||
)
|
||||
|
@ -2,9 +2,7 @@
|
||||
|
||||
# TODO:
|
||||
# Update to enable multiple file downloads
|
||||
# Update to include safe/nsfw filter
|
||||
|
||||
import magic
|
||||
import requests
|
||||
import os
|
||||
|
||||
@ -52,7 +50,8 @@ class downloader:
|
||||
username = None
|
||||
password = None
|
||||
tmp = None
|
||||
limit=50
|
||||
# Limit for posts.json is 200
|
||||
limit=100
|
||||
|
||||
def __init__(self, username=None, password=None, tmp="/tmp"):
|
||||
self.username = username
|
||||
@ -113,13 +112,7 @@ class downloader:
|
||||
|
||||
r = {
|
||||
# Add profile to dictioanry
|
||||
"name": profile["name"],
|
||||
"backend": profile["backend"],
|
||||
"tags": profile["tags"],
|
||||
"message": profile["message"],
|
||||
"message_nsfw": profile["message_nsfw"],
|
||||
"force_nsfw": profile["force_nsfw"],
|
||||
"banned_tags": profile["banned_tags"],
|
||||
"profile": profile,
|
||||
|
||||
# Query results
|
||||
"search_url": search_url,
|
||||
|
@ -19,7 +19,6 @@
|
||||
import os
|
||||
import datetime
|
||||
import contextlib
|
||||
import fnmatch
|
||||
import math
|
||||
import shutil
|
||||
import importlib
|
||||
@ -122,14 +121,14 @@ class YandereBot:
|
||||
|
||||
# Maybe I should remove this from the backend?
|
||||
def print_header_stats(self, picked, date_selection, date_next_selection):
|
||||
picked_name = picked["name"] if picked else None
|
||||
picked_name = picked["profile"]["name"] if picked else None
|
||||
picked_url = picked["file_url"] if picked else None
|
||||
picked_path = picked["full_path"] if picked else None
|
||||
picked_nsfw = picked["nsfw"] if picked else None
|
||||
picked_index = (self.currentIndexCount % len(self.settings_post)) - 1
|
||||
next_selection_seconds = max(0, int(time_diff_seconds(date_next_selection, date_selection)))
|
||||
|
||||
print("[Profile]", picked_name)
|
||||
print(picked_path)
|
||||
print("[Profile]", picked_name, "[Index]", picked_index)
|
||||
print(picked_url)
|
||||
print("Explicit:", picked_nsfw)
|
||||
print("Selection time: {}".format(
|
||||
@ -142,23 +141,23 @@ class YandereBot:
|
||||
|
||||
|
||||
# Returns a list of media paths (without the hashes)
|
||||
def download_media(self, picked):
|
||||
def download_media(self, picked_profile):
|
||||
try:
|
||||
backend_s = picked["backend"]
|
||||
backend_s = picked_profile["backend"]
|
||||
backend = importlib.import_module(backend_s)
|
||||
username = self.settings_credentials[backend_s]["username"]
|
||||
password = self.settings_credentials[backend_s]["password"]
|
||||
img = None
|
||||
downloader = backend.downloader(username, password, tmp=self.settings_behavior["tmp_dir"])
|
||||
|
||||
img = downloader.fetch_post(picked)
|
||||
img = downloader.fetch_post(picked_profile)
|
||||
|
||||
if img is None:
|
||||
raise InvalidPost("Img could not be downloaded")
|
||||
|
||||
return downloader.download_post(img)
|
||||
except ImportError:
|
||||
print("Invalid Backend:", picked["backend"])
|
||||
print("Invalid Backend:", picked_profile["backend"])
|
||||
return None
|
||||
|
||||
# Returns a list of tuples that contain the media list path and media mastodon dictionary
|
||||
@ -172,7 +171,7 @@ class YandereBot:
|
||||
content_type = self.settings_behavior["content_type"]
|
||||
content_newline = self.settings_behavior["content_newline"]
|
||||
nsfw = picked["nsfw"]
|
||||
message = picked["message_nsfw"] if nsfw else picked["message"]
|
||||
message = picked["profile"]["message_nsfw"] if nsfw else picked["profile"]["message"]
|
||||
static_message = content_newline.join(message)
|
||||
string_post = ""
|
||||
string_imglinks = []
|
||||
|
Reference in New Issue
Block a user