undefinierte Fotos nachträglich verarbeiten
This commit is contained in:
@@ -0,0 +1,5 @@
|
|||||||
|
/Befehl - Beschreibung
|
||||||
|
undefinierte_Fotos_bearbeiten - Startet die Verarbeitung von noch nicht gespeicherten Fotos, aufgrund von fehlender Verzeichnisangabe
|
||||||
|
|
||||||
|
Bugfehler und Verbesserungsvorschläge bitte hier posten:
|
||||||
|
https://github.com/Hofei90/foto_ablage_telegrambot
|
||||||
+7
-1
@@ -23,8 +23,14 @@ class Foto(BaseModel):
|
|||||||
notiz = peewee.CharField(null=True) # 255?
|
notiz = peewee.CharField(null=True) # 255?
|
||||||
|
|
||||||
|
|
||||||
|
class FotoUndefiniert(BaseModel):
|
||||||
|
message_id = peewee.IntegerField(primary_key=True)
|
||||||
|
chat_id = peewee.IntegerField()
|
||||||
|
file_id = peewee.TextField()
|
||||||
|
|
||||||
|
|
||||||
def db_create_table():
|
def db_create_table():
|
||||||
DB_PROXY.create_tables([Ordner, Foto])
|
DB_PROXY.create_tables([Ordner, Foto, FotoUndefiniert])
|
||||||
|
|
||||||
|
|
||||||
def update_root_verzeichnis(root_verzeichnis):
|
def update_root_verzeichnis(root_verzeichnis):
|
||||||
|
|||||||
+47
-7
@@ -30,8 +30,11 @@ class FotoBot(api.Bot):
|
|||||||
self.menue = None
|
self.menue = None
|
||||||
self.umenue = None
|
self.umenue = None
|
||||||
|
|
||||||
self.bot_kommando = {
|
self.undefinierte_file_id = None
|
||||||
|
self.undefinierte_message_id = None
|
||||||
|
|
||||||
|
self.bot_kommando = {
|
||||||
|
"undefiniertefotos": self.undefinierte_fotos_verarbeiten
|
||||||
}
|
}
|
||||||
|
|
||||||
def message_handler(self, message):
|
def message_handler(self, message):
|
||||||
@@ -39,11 +42,45 @@ class FotoBot(api.Bot):
|
|||||||
self.menue(message)
|
self.menue(message)
|
||||||
return
|
return
|
||||||
|
|
||||||
def bot_kommando_exec(self, kommando):
|
def bot_kommando_exec(self, kommando, message):
|
||||||
self.menue = self.bot_kommando.get(kommando, self.kommando_unbekannt)
|
self.menue = self.bot_kommando.get(kommando, self.kommando_unbekannt)
|
||||||
self.menue()
|
self.menue(message)
|
||||||
|
|
||||||
def kommando_unbekannt(self, message):
|
def undefinierte_fotos_verarbeiten(self, message):
|
||||||
|
"""
|
||||||
|
Ist self.umenue auf None, so wird der parameter zu undefiniertes_foto
|
||||||
|
Ist self.umenue auf 1, so wird parameter zur message
|
||||||
|
"""
|
||||||
|
self.menue = self.undefinierte_fotos_verarbeiten
|
||||||
|
if self.umenue is None:
|
||||||
|
for undefiniertes_foto in db.FotoUndefiniert.select():
|
||||||
|
self.send_message(chat_id=undefiniertes_foto.chat_id,
|
||||||
|
text="Ordner und Notiz angeben",
|
||||||
|
reply_to_message_id=undefiniertes_foto.message_id)
|
||||||
|
self.undefinierte_file_id = undefiniertes_foto.file_id
|
||||||
|
self.undefinierte_message_id = undefiniertes_foto.message_id
|
||||||
|
self.umenue = 1
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
self.menue = None
|
||||||
|
self.umenue = None
|
||||||
|
elif self.umenue == 1:
|
||||||
|
ordner, notiz = caption_analysieren(message["message"]["text"])
|
||||||
|
ordner_db_id = db.ordner_struktur_erstellen(ordner)
|
||||||
|
verzeichnis = verzeichnis_erstellen(ordner)
|
||||||
|
|
||||||
|
file_id = db.FotoUndefiniert.select(db.FotoUndefiniert.file_id).where(
|
||||||
|
db.FotoUndefiniert.message_id == self.undefinierte_message_id).scalar()
|
||||||
|
file, file_path = self.get_file(file_id)
|
||||||
|
dateiendung = get_dateiendung(file_path)
|
||||||
|
file_name = db.file_speichern(ordner_db_id, notiz, dateiendung)
|
||||||
|
datei_speichern(verzeichnis, file_name, file)
|
||||||
|
db.FotoUndefiniert.delete().where(db.FotoUndefiniert.message_id == self.undefinierte_message_id).execute()
|
||||||
|
self.umenue = None
|
||||||
|
self.menue = None
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def kommando_unbekannt(_):
|
||||||
print("Unbekannt")
|
print("Unbekannt")
|
||||||
|
|
||||||
|
|
||||||
@@ -95,15 +132,15 @@ def nachricht_auswerten(bot, message):
|
|||||||
if "bot_command" in message["message"]["entities"][0]["type"]:
|
if "bot_command" in message["message"]["entities"][0]["type"]:
|
||||||
text = message["message"]["text"]
|
text = message["message"]["text"]
|
||||||
kommando = text.replace("/", "")
|
kommando = text.replace("/", "")
|
||||||
bot.bot_kommando_exec(kommando)
|
bot.bot_kommando_exec(kommando, message)
|
||||||
|
|
||||||
if "photo" in message["message"]:
|
if "photo" in message["message"]:
|
||||||
|
max_index = get_biggest_size(message["message"]["photo"])
|
||||||
if "caption" in message["message"]:
|
if "caption" in message["message"]:
|
||||||
ordner, notiz = caption_analysieren(message["message"]["caption"])
|
ordner, notiz = caption_analysieren(message["message"]["caption"])
|
||||||
ordner_db_id = db.ordner_struktur_erstellen(ordner)
|
ordner_db_id = db.ordner_struktur_erstellen(ordner)
|
||||||
verzeichnis = verzeichnis_erstellen(ordner)
|
verzeichnis = verzeichnis_erstellen(ordner)
|
||||||
|
|
||||||
max_index = get_biggest_size(message["message"]["photo"])
|
|
||||||
file, file_path = bot.get_file(message["message"]["photo"][max_index]["file_id"])
|
file, file_path = bot.get_file(message["message"]["photo"][max_index]["file_id"])
|
||||||
dateiendung = get_dateiendung(file_path)
|
dateiendung = get_dateiendung(file_path)
|
||||||
file_name = db.file_speichern(ordner_db_id, notiz, dateiendung)
|
file_name = db.file_speichern(ordner_db_id, notiz, dateiendung)
|
||||||
@@ -113,9 +150,12 @@ def nachricht_auswerten(bot, message):
|
|||||||
bot.send_message(chat_id=absender,
|
bot.send_message(chat_id=absender,
|
||||||
text="Bild kann nicht verabeitet werden, Ordner wurde nicht angegeben",
|
text="Bild kann nicht verabeitet werden, Ordner wurde nicht angegeben",
|
||||||
reply_to_message_id=message["message"]["message_id"])
|
reply_to_message_id=message["message"]["message_id"])
|
||||||
|
db.FotoUndefiniert.create(message_id=message["message"]["message_id"],
|
||||||
|
chat_id=absender,
|
||||||
|
file_id=message["message"]["photo"][max_index]["file_id"])
|
||||||
|
|
||||||
else:
|
else:
|
||||||
bot.menue()
|
bot.menue(message)
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|||||||
Reference in New Issue
Block a user