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
Update samba Modul #1187
Update samba Modul #1187
Conversation
Modul arbeitet nun mit folgendem Pfadaufbau: IP oder Hostname/Share/Folder
Die notwendigen Änderungen an der GUI habe ich auch als PR in openWB/openwb-ui-settings#367 angemeldet. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Danke für den Bugfix und Korrektur. Bitte noch die inline Kommentare beachten.
Noch eine Ergänzung zu den erlaubten Zeichen (https://learn.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-shares--directories--files--and-metadata):
Demnach sollte nicht nur |
ich hab' auch eine Prüfung im OneDrive Modul, diese ist vermutlich auch unvollständig - wenngleich ich ja nur den Namen der Backupdatei überprüfen muss. Macht es ggf. Sinn in einem zentralen Modul eine Funktion zur Bereinigung von Dateinamen bereizustellen? soetwas wie sanitize_filenames_for_windows. |
Co-authored-by: benderl <benderl@users.noreply.github.com>
Der Pfad könnte ja auch abseits von der GUI per MQTT gesetzt worden sein und ungültige Zeichen enthalten. Daher muss im Backend immer eine vollständige Prüfung erfolgen. |
Wenn es da Parallelen gibt, wäre das durchaus sinnvoll. Ich denke aber, dass OneDrive da nicht so restriktiv ist wie das "gute alte" SMB. |
naja am Ende vermutlich schon, die Dateien werden i.d.R. ja auf Windows-Systemen geöffnet. Hier werden sind diese Zeichen im Dateinamen nicht erlaubt, ist auch in dem Microsoft learn Artikel oben zu finden. |
Co-authored-by: benderl <benderl@users.noreply.github.com>
conn = SMBConnection(config.smb_user, config.smb_password, os.uname()[1], config.smb_server, use_ntlm_v2=True) | ||
log.info("SMB Verbindungsaufbau") | ||
if conn.connect(config.smb_server,139) == True: | ||
log.warn("SMB Verbindungsaufbau erfolgreich") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
log.warn
sollte auch nur für Warnungen genutzt werden. Analog zu der Zeile 16 hier auch log.info
verwenden.
log.warn("SMB Verbindungsaufbau erfolgreich") | |
log.info("SMB Verbindungsaufbau erfolgreich") |
Ok, guter Punkt. Ich passe das Wenn dieser PR durch ist, können wir über die angesprochene zentrale Prüfmethode reden. |
Co-authored-by: benderl <benderl@users.noreply.github.com>
Ok, soll ich dann das Replace raus nehmen? |
War so frei die Backup.sh in dem PR auch anzupassen. Verarbeitung der : ist damit auch raus. |
Das überschneidet sich leider mit #1175, den ich bereits erweitert hatte. |
Konflikt beseitigt. Habe die Prüfung in der GUI als pattern hinterlegt. openWB/openwb-ui-settings#367 Sollte doch reichen, oder? |
@benderl da kein Feedback gekommen ist, hab ich die Prüfung jetzt noch ins Backend eingebaut. Passt das jetzt? |
Wenn ich den Pfad per MQTT im Topic openWB/system/backup_cloud/config als Teil der JSON neu publishe, ist dem Modul das egal. Wenn ich ein Backup ausführe nutzt er den per GUI gesetzten Pfad. Hier werden also die Informationen vom MQTT Broker nicht an die Anwendung übergeben. Habe ich ein spezielles set Topic übersehen? |
erledigt! |
Co-authored-by: benderl <benderl@users.noreply.github.com>
Co-authored-by: benderl <benderl@users.noreply.github.com>
Modul arbeitet nun mit folgendem Pfadaufbau:
IP oder Hostname/Share/Folder