open source Projekte - digitale Unterstützung

Digitale Lösungen mit open source Produkten

erasand - digitale Arbeiten

Aktuelle Projekte


Bildquelle: www.pixabay.com

DATEI-STRUKTUR WERKZEUGE

Python Tools für die Verwaltung komplexer Datei-Strukturen

Ende 2020 bis Anfang 2021 half ich mit bei der Migration der Daten auf den SharePoint der Büro für Bauökonomie AG. Damit ich die grossen Datenmengen besser erfassen konnte, schrieb ich Hilfsprogramme in Python. Ende 2021 beschloss ich, diese Hilfsprogramme weiter zu entwickeln und alles zu dokumentieren.

Es sind folgende Versionen verfügbar

Weiterentwicklung der Datei-Struktur Werkzeuge

Dateien und Verzeichnisse gemeinsam umbenennen

Zu lange Dateipfade lokalisieren

Zweite Version mit Grafischer Benutzeroberfläche

Erste Version mit Python zur Erfassung und zum Vergleich grosser Datei-Strukturen


Bildquelle: www.pixabay.com

PYTHON COACH

Coaching und Nachhilfe beim Programmieren

Seit Ende 2020 gebe ich für Python Nachhilfe. Hier eine Referenz der Nachhilfe-Plattform meet'n'learn:

Andreas hat mir bei einem Projekt in der Informatik geholfen. Andreas könnte mir mit seinem enormen Fachwissen (Programmiersprache Python) jederzeit super weiterhelfen. Er war während des ganzen Prozesses sehr geduldig und unterstützend. Nur dank ihm ist es mir gelungen, das Projekt zu realisieren. Ich bin super dankbar für seine geleistete Arbeit und sein grosses Wissen. Der Nachhilfeunterricht war sehr zufriedenstellend. Besten Dank!


Bildquelle: www.hablamos.education

HABLAMOS

Unterstützung für die Spanisch Schule - Zug

Ich supporte die Webseite von Hablamos, einer Spanisch Schule in Zug. Ich unterstütze Marisol Morocho auch in allen digitalen Belangen für die Administration.


Bildquelle: www.pixabay.com

LINUX

Open-Source zu Hause

2010 lernte ich Linux kennen, und seitdem lässt es mich nicht mehr los. Ich schätze die Verfügbarkeit von professioneller quelloffener Software. Ich nutze die Linux-Mint 64-bit Distribution mit dem Mate Desktop.
Hier ein paar hilfreiche Links für den Einstieg:


Bildquelle: www.pixabay.com

ONLINE TURTLE GRAFIKEN

Python Turtles mit Trinket

Ich habe Trinket im Internet entdeckt und ausprobiert. Damit habe ich folgende Grafiken programmiert:


DOKUMENTATION

Hilfen - Anleitungen - nützliche Seiten

INHALT



Bildquelle: www.pixabay.com

DATEISTRUKTUR

Weiterentwicklung der Datei-Struktur Werkzeuge

Mit den Erfahrungen aus den Python Datei-Struktur Werkzeugen entwickle ich die Anwendung dateiSTRUKTUR, um Datei-Strukturen zu erfassen, zu dokumentieren und zu vergleichen. Gleichzeitig soll es als eine Referenz für die Entwicklung mit Python dienen.

Quellcode - Github: dateiSTRUKTUR


PYOSDOGU

Datei- / und Verzeichnisnamen gemeinsam umbenennen

Bidquelle: erasand.ch

Anwendung

Verzeichnis wählen
Verzeichnis mit den Dateien auswählen

Dropdwon-Auswahl
Modus der Umbenennung wechseln:
Zeichen ersetzen mit suchen
Zeichen ersetzen am Anfang
Zeichen ersetzen am Ende
Zeichen einfügen am Anfang
Zeichen einfügen am Ende
Anzahl Zeichen löschen vom Anfang
Anzahl Zeichen löschen vom Ende

Eingabefelder
Die Eingabefelder verändern sich je nach Modus:
Zeichen ersetzen: Suchtext und neuer Text
Zeichen einfügen: Position und Text
Zeichen löschen: Position und Anzahl Zeichen

Umbenennen
Auswahl umbenennen: Ausgewähltes Element umbenennen
Doppelklick auf ein Element: Wie Auswahl umbenennen
Alle umbenennen: Alle Elemente umbenennen

Beenden
Anwendung schliessen

Bidquelle: erasand.ch

Installation

Voraussetzungen
Python 3: Python.org
Tkinter: Muss als Python Modul verfügbar sein - Bei der Windows Installation enthalten, bei Linux per Paketverwaltung

Download
Mit folgendem Link das ZIP herunterladen: pyosdogu-main.zip

Installation
Die Dateien pyosDOGU.py und pyosDOGU.json in ein Verzeichnis kopieren - Bei Linux und Unix pyosDOGU.py ausführbar machen

Ausführung
pyosDOGU.py starten

Quellcode
Github: pyosDOGU

Bidquelle: erasand.ch

Einstellungen

p>yosDOGU.json
JSON-Datei mit Einstellungen, Formatierung und Schreibweise einhalten

"GUI Fenster": "800x600" 800 ist die Breite und 600 die Höhe in Pixel - Die Breite und Höhe darf verändert werden

Falls die Einstellungsdatei nicht vorhanden ist, wird diese erzeugt


PYOSDPLP

Zu lange Dateipfade lokalisieren

Bildquelle: erasand.ch

Anwendung

Pfadläne ändern
Die erlaubte Anzahl der Zeichen im Pfad angeben

Verzeichnis wählen
Das Stammverzeichnis der Datei-Struktur wählen - Die Struktur wird automatisch analysiert und das Ergebnis wird in der Liste angezeigt

Pfad öffnen
Öffnet das ausgewählte Element der Liste im Dateimanager

Doppelklick auf ein Element in der Liste
Wie Pfad öffnen

Auswahl unten links
Dateimanger wählen um die Pfade zu öffnen, je nach Betriebssystem variiert die Auswahl

Beenden
Anwendung schliessen

Bildquelle: erasand.ch

Installation

Voraussetzungen
Python 3: Python.org
Tkinter: Muss als Python Modul verfügbar sein - Bei der Windows Installation enthalten, bei Linux per Paketverwaltung)

Download
Mit folgendem Link das ZIP herunterladen: pyosdplp-main.zip

Installation
Die Dateien pyosDPLP.py und pyosDPLP.json in ein Verzeichnis kopieren - Bei Linux und Unix pyosDPLP.py ausführbar machen

Ausführung
pyosDPLP.py starten

Quellcode
Github: pyosDPLP

Bildquelle: erasand.ch

Einstellungen

p>pyosDPLP.json
JSON-Datei mit Einstellungen, Formatierung und Schreibweise einhalten

"Filemanager": "X) Thunar" Dateimanager zum Pfade öffnen - Dies kann im Programm bearbeitet werden

"GUI Fenster": "800x600" 800 ist die Breite und 600 die Höhe in Pixel - Die Breite und Höhe darf verändert werden

"max Pfad": 240 Maximale Pfadlänge - Dies kann im Programm bearbeitet werden

Falls die Einstellungsdatei nicht vorhanden ist, wird diese erzeugt


Bildquelle: erasand.ch

PYOSV2

Version mit Grafischer Benutzeroberfläche

Die Python Scripte von pyOsV2 sind eine Weiterentwicklung der pyOsTools mit grafischer Oberfläche

Bildquelle: erasand.ch

Einstellungen

einstPyOsV2.py
Mit einem Texteditor bearbeitbar

DC_DIRS
Python Wörterbuch mit den zu erfassenden Dateistrukturen
Schlüssel: ID als Text
Wert: 3'er Tupel mit Verzeichnispfad, Pfad JSON-Datei, Pfad HTML-Datei
{ "ID" : ( "/pfad/pfad" , "/pfad/quelle.json" , "/pfad/dokumentation.html" ) , ..}

DC_COMP
Python Wörterbuch mit dem die erfassten Dateistrukturen verglichen und das Ergebnis abgelegt werden
Schlüssel: ID als Text
Wert: 3'er Tupel mit dem Quell-Pfad JSON-Datei, Ziel-Pfad JSON-Datei, Unterschiede-Pfad JSON-Datei
{ "ID" : ( "/pfad/quelle.json" , "/pfad/ziel.json" , "pfad/unterschiede.json" ) , ..}

LS_AUSNAHMEN
Liste mit Dateien, welche nicht berücksichtigt werden
[ "datei1.erw" , "datei2" , .. ]

LS_AUSN_START
Liste mit Dateianfängen, welche nicht berücksichtigt werden
[ "Anf1" , "Anf2" , .. ]

LS_AUSN_ENDE
Liste, mit Dateiendungen, welche nicht berücksichtigt werden
[ ".Erw1" , ".Erw2" , .. ]

TXT_FILEMAN
Textangabe des zu verwendenden Dateimanagers
"WINDOWS", "THUNAR", "NAUTILUS", "NEMO"

Bildquelle: erasand.ch

Dateistrukturen erfassen

Register Verzeichnis Strukturen erstellen

Informationen: Informationen über den gewählten Eintrag zeigen

JSON erfassen: Datei-Strukturen als JSON erfassen - wie in DC_DIRS eingestellt
Erfasste JSON zeigen: Die erfassten JSON Datei-Strukturen zeigen

Aktualisieren: Die Benutzeroberfläche aktualisieren

HTML Dokumentation: HTML Dokumentationen aus den erfassten JSON Datei-Strukturen erstellen - wie in DC_DIRS eingestellt

Dokumentationen zeigen: Die erstellten HTML Dokumentationen zeigen

Beenden: Die Anwendung beenden

Bildquelle: erasand.ch

Dateistrukturen vergleichen

p>Register Verzeichnis Strukturen vergleichen

Informationen: Informationen über den gewählten Eintrag zeigen

Vergleichen: Die JSON-Datei-Strukturen miteinander vergleichen - wie in DC_COMP eingestellt

Beenden: Die Anwendung beenden

Bildquelle: erasand.ch

Unterschiede prüfen

Register Prüf Resultat Ziel Struktur

Drop-Down Auswahl: Prüf Ergebnisse aus dem Dateivergleich auswählen - wie in DC_COMP eingestellt

Quelle / Ziel öffnen: Öffnet vom ausgewählten Eintrag das Quell- und das Zielverzeichnis - sofern diese vorhanden sind

Beenden: Die Anwendung beenden

Bildquelle: erasand.ch

Installation

Voraussetzungen
Python 3: Python.org
Tkinter: Muss als Python Modul verfügbar sein - Bei der Windows Installation enthalten, bei Linux per Paketverwaltung)

Download
Mit folgendem Link das ZIP herunterladen: pyOsV2

Installation
DDie 3 Scripts startPyOsV2.pyw, einstPyOsV2.py und pyosv2.py müssen im gleichen Verzeichnis vorhanden sein - Bei Linux und Unix startPyOsV2.pyw ausführbar machen

Ausführung
startPyOsV2.pyw starten

Quellcode
Github: pyOsV2


PYOSTOOLS

Erfassen und vergleichen grosser Datei-Strukturen

listdirs.py

Verzeichnis-Strukturen auflisten

Durchläuft und listet alle Verzeichnisse und Dateien einer Datei-Struktur und gibt diese sortiert als formatierte Textdatei aus. Die Textdatei wird im Hauptverzeichnis der Struktur gespeichert.

Variablen
QUELLE: Pfad zur Datei-Struktur

compdirs.py

Verzeichnis-Strukturen vergleichen

Durchläuft 2 Verzeichnis-Strukturen, eine Quell- und eine Ziel-Struktur, und gibt die Unterschiede von Namen, Grösse und Datum in einer formatierten Textdatei in der Ziel-Struktur aus.

Variablen
QUELLE: Pfad zur Quell-Datei-Struktur
ZIEL: Pfad zur Ziel-Datei-Struktur
ART: Ausgabeart, "Detail" = detailliert pro Datei, "Resume" = zusammengefasst pro Verzeichnis.

movdirs.py

Dateien einer Verzeichnis-Struktur verschieben

Verschiebt Dateien welche im Namen und in der Erweiterung spezifiziert wurden von einer Quell Datei-Struktur in eine Ziel-Datei-Struktur. Am Schluss wird der Inhalt der Ziel-Datei-Struktur dokumentiert.

Variablen
QUELLE: Pfad zur Quell-Datei-Struktur
ZIEL: Pfad zur Ziel-Datei-Struktur
NAME: Spezifikation des Dateinamens, * oder leere Variable: alle Dateinamen
ERWEITERUNG: Spezifikation der Dateierweiterung, * oder leere Variable: alle Erweiterungen

strktlink.py

Hierarchische Verknüpfungen erstellen

Erzeugt aus einer flachen Datei-Struktur, z.B. synchronisierte Verzeichnisse einer Cloud, eine hierarchische Struktur. Zur Abbildung der Hierarchie werden die Namen der synchronisierten Verzeichnisse verwendet.

Variablen
QUELLE: Pfad zur Quell-Datei-Struktur
ZIEL: Pfad zum Ziel-Verzeichnis
ARCHIV: Sicherungs-Verzeichnis für bestehende Hierarchien
SYMLINK: Art der Verknüpfung
DIREKT_LINK: Direkte Paarung zwischen Verknüpfungsname und Ordnername der Hierarchie
VAR_LINK: Paarung mit Anfang Ordnername und Ordnername der Hierarchie. Der Verknüpfungsname ist der verbleibende Rest des Ordnernamens.
UNBEKANNT: Ordnername der Hierarchie für alle nicht erkannten Ordner

remodirs.py & compremo.py

Entfernte Datei-Strukturen vergleichen

Um entfernte Datei-Strukturen miteinander zu vergleichen sind zwei Python-Skripte, zwei Arbeitsschritte nötig.

remodirs.py

Durchläuft von einem Wurzelverzeichnis jedes Verzeichnis wie eine Datei-Struktur und speichert das Ergebnis, vorbereitet zum Vergleichen, in einer JSON-Datei.

Variablen
QUELLSTAMM: Pfad zur Datei-Struktur
JSONPATH: Verzeichnisangabe für die JSON Datei

compremo.py

Vergleicht JSON Dateien, in welchen Datei-Strukturen von remodirs.py gespeichert wurden, miteinander und gibt die Unterschiede in einer formatierten Textdatei aus. Es werden nur die JSON Dateien gleichen Namens im Quell- / und Zielverzeichnis miteinander verglichen.

Variablen
QUELLE: Pfad zu den JSON Dateien der Quell-Datei-Strukturen
ZIEL: Pfad zu den JSON Dateien der Ziel-Datei-Strukturen
AUSNAHMEN: Liste mit Dateinamen, welche vom Vergleich ausgeschlossen werden sollen
AUSN_STARTa: Dateianfang für Ausnahmen, Funktion remocomparedirs anpassen, Zeilen 134 - 139 und Zeilen 217 - 222
AUSN_ENDa: Dateiende für Ausnahmen, Funktion remocomparedirs anpassen, Zeilen 134 - 139 und Zeilen 217 - 222
ART: Ausgabeart, "Detail" = detailliert pro Datei, "Resume" = zusammengefasst pro Verzeichnis.
VERGLEICH: Verzeichnisangabe für das Protokoll des Vergleichs

Installation

Voraussetzungen
Python 3: Python.org

Download
Mit folgendem Link das ZIP herunterladen: pyOsTools

Installation
Die Skripte können sich in einem beliebigen Ordner befinden

Ausführung
Jedes Skript ist separat für sich ausführbar

Quellcode
Github: pyOsTools