Python Kivy-GUI Audio-Aufnahmen USB-Stick Kodak CopyCenter Windows XP Antivirus-Schutz Touch-Oberfläche

Du hast eine Idee für ein Projekt?
Antworten
sherylfuller
User
Beiträge: 1
Registriert: Dienstag 30. Januar 2024, 07:31

Hallo zusammen,

ich möchte mich zunächst kurz vorstellen: Mein Name ist Sheryl, ich bin 22 Jahre alt und seit meiner Schulzeit interessiere ich mich für Programmierung. Im Informatik-Unterricht haben wir PASCAL, HTML, JavaScript und VBA gelernt. Pascal wurde mir vom Lehrer beigebracht, die anderen Sprachen wurden nur oberflächlich behandelt, da der Lehrer zu alt für diese Themen war. Daher habe ich mir diese Sprachen selbst über Foren, Recherche und Übung zu Hause beigebracht. Ich hatte nie vor, beruflich in diesem Bereich tätig zu werden, da ich lieber etwas Handwerkliches machen wollte. Privates Programmieren war für mich auch nicht interessant, da mir die Projektideen fehlten. Mittlerweile hat sich das geändert: Dank meines Raspberry Pi (Nextcloud), meines HomeServers und der Tatsache, dass ich auf meinem persönlichen Computer nur noch Linux verwende, bin ich wieder zum Programmieren zurückgekehrt.

Da ich jetzt ein großes Projekt vorhabe, habe ich mich über Programmiersprachen informiert und mich für Python mit Kivy-GUI entschieden. Zu meinem Projekt: In unserem Gemeindehaus gibt es einen Computer mit Touchdisplay. Auf diesem Computer läuft Windows XP und derzeit wird das Programm "Kodak CopyCenter" verwendet. Das Ziel ist es, Audio-Aufnahmen, die sich auf der Festplatte befinden, zugänglich zu machen. Mit anderen Worten, wenn ich einen USB-Stick anschließe, möchte ich über die Kodak-Oberfläche die Aufnahmen durchsuchen und gewünschte Dateien in Ordner kopieren können.

Man hat mich gebeten, mir das System anzusehen, da anscheinend bestimmte USB-Sticks willkürlich nicht akzeptiert werden. Als ich mir das System angesehen habe, war ich schockiert. Es gab keinen Antivirus-Schutz auf einem System, das für die Datenverbreitung vorgesehen ist(!). Die Touch-Oberfläche war so unübersichtlich, dass es in zwei Jahren niemandem gelungen ist, tatsächlich etwas zu laden :)

Ich habe mich bereit erklärt, mich um den Computer zu kümmern, aber unter der Bedingung, dass eine neue Software unter Linux installiert wird. Derzeit arbeite ich mich durch das Tutorial auf pythonbuch.com. Anschließend werde ich mit der Programmierung beginnen. Um mir zu helfen und da ich sicherlich Fragen dazu haben werde, hier eine Liste mit Anforderungen:

Eine attraktive Benutzeroberfläche natürlich
Ein Datei-Explorer mit zwei Fenstern, ähnlich wie der Total Commander
Keine Multi-Touch-Funktion, da das vorhandene Touch-Display dies nicht unterstützt
USB-Sticks dürfen nur angezeigt, beschrieben und gelöscht werden, um die Übertragung von Daten auf den PC zu verhindern und so den Virenschutz zu gewährleisten.
Kopieren von Dateien in Ordner
Filtern nach ID3-Tags möglich, ähnlich wie bei iTunes
Es gibt noch weitere Punkte, aber mir fallen sie gerade nicht spontan ein. Es gibt auch ein ähnliches Terminal, das in einem 19-Zoll-Rack verbaut ist, um es tragbar auf Veranstaltungen unserer Vereinigung aufzustellen. Wenn die Software auf unserem Heim-Terminal reibungslos funktioniert, wird sie auch auf dieses mobile Terminal übertragen.

Wie ihr sehen könnt, habe ich einiges an Arbeit vor mir. Inzwischen wurde ich auch gefragt, warum ich das Ganze nicht beruflich mache, wenn ich sowieso die meiste Zeit meiner Freizeit vor dem Computer verbringe. Meine Frau und ich haben beschlossen, dass ich mich, wenn das Projekt erfolgreich ist, für ein Fernstudium als Software-Entwickler anmelden werde, um mein Hobby zum Beruf zu machen und auch einen formellen Abschluss vorweisen zu können. Eine Vollzeitausbildung oder ein Studium ist aus finanziellen Gründen ausgeschlossen. Meine Frau hat mir nur zugestimmt, meine Freizeit für das Fernstudium zu opfern, wenn ich das andere Projekt zuerst abschließe. Beide Dinge parallel zu machen, wäre definitiv unrealistisch.

Wenn ihr eure Meinung dazu äußern möchtet, könnt ihr das gerne hier oder per privater Nachricht tun.
Benutzeravatar
__blackjack__
User
Beiträge: 13456
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Kurze Anmerkungen zum erwähnten Python-Buch:

``public``, ``protected``, und ``private`` gibt es so in Python nicht. Der Abschnitt ist falsch. In Python sind die Attribute letztlich alle ``public``. *Ein* führender Unterstrich kennzeichnet Implementierungsdetails, also das was in anderen Programmiersprachen ``private`` wäre, und *zwei* führende Unterstriche verändern den Namen des Attributs um Namenskollisionen bei Mehrfachvererbung und tiefen Vererbungshierarchien zu vermeiden. Da man beides in der Praxis nicht macht, braucht man zwei führende Unterstriche so gut wie nie.

Das Zusammengestückele von Zeichenketten und Werten mit ``+`` und `str()` macht man in Python nicht. Dafür gibt es die `format()`-Methode auf Zeichenketten und f-Zeichenkettenliterale. Die Zeilenfortsetzung mit \ würde man auch eher nicht machen, sondern eher Klammern setzen um das zu vermeiden. Das ist weniger fehleranfällig, weil nach dem \ wirklich gar nichts mehr stehen darf ausser dem Zeilenendezeichen, auch keine Leerzeichen oder Tabulatorzeichen.

Code: Alles auswählen

- (void)countSheep {
    unsigned int sheep = 0;
    while ( ! [self isAsleep]) { ++sheep; }
}
Benutzeravatar
Kebap
User
Beiträge: 713
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Hey Sherylfuller, willkommen bei Python!

Ich bin mir sicher, dass die Anforderungen machbar sind. Vielleicht reicht dazu sogar schon ein Raspberry aus? Jedenfalls sollte das Windows XP nicht mehr benutzt werden.

Ob eine GUI ein gutes erstes Projekt ist, wage ich mal zu bezweifeln. Man muss da schon ein bisschen Erfahrung mitbringen. Ich weiß nicht, wie tief du bei Pascal eingestiegen bist.

Wie immer gilt es, die Anforderungen in möglichst kleine Probleme zu zerlegen, die man dann einzeln lösen kann. Freu mich schon auf deine ersten Versuche und resultierende Fragen!
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
geraldfo
User
Beiträge: 62
Registriert: Samstag 28. Januar 2023, 20:19
Wohnort: Nähe Wien

Hallo @sherylfuller,

willkommen in der ziemlich guten Welt des Python-Forums!

Ein Tipp für dein Projekt: wenig versprechen!

Könntest du mir vielleicht erläutern, warum deine Gemeinde Audiofiles per USB-Schnittstelle verbreitet?
Könnte man diese Files auch per Web-Anwendung zum Download anbieten?

LG Gerald
Benutzeravatar
__blackjack__
User
Beiträge: 13456
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@geraldfo: Ich habe das jetzt eher so verstanden das der Computer die Audiodateien nicht verbreitet sondern entgegen nimmt.

Code: Alles auswählen

- (void)countSheep {
    unsigned int sheep = 0;
    while ( ! [self isAsleep]) { ++sheep; }
}
Benutzeravatar
grubenfox
User
Beiträge: 526
Registriert: Freitag 2. Dezember 2022, 15:49

.. noch 'ne Frage: wenn auf dem Gemeinde-Rechner das Win XP durch Linux ersetzt wird, laufen dann die sonstigen Programm, die bisher auf den Rechner genutzt werden, auch noch? Also wenn da nur dieses "Kodak CopyCenter" drauf läuft, dann ist ja alles gut. Aber ist das wirklich das einzige was auf bzw. mit der Kiste gemacht wird?
Benutzeravatar
DeaD_EyE
User
Beiträge: 1100
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Die letzte lauffähige Python Version unter Windows XP ist Python 3.4.
Ich habe mal Kivy jemanden empfohlen. Das tut mir immer noch leid.

Ich würde erstmal mit einer Konsolen-Anwendung starten und das Grafische erst dann machen, wenn die Grundkenntnisse erlangt worden sind. Wenn man eine GUI entwickelt, ist OOP sehr wichtig.

Ansonsten kommt ziemlich hässlicher Code bei raus, der nicht wartbar ist und der nur Schmerzen verursacht.

.. noch 'ne Frage: wenn auf dem Gemeinde-Rechner das Win XP durch Linux ersetzt wird, laufen dann die sonstigen Programm, die bisher auf den Rechner genutzt werden, auch noch?
Die meisten Programme laufen wahrscheinlich mit Wine, aber eine Garantie gibt es nicht. Das kann man aber vorab mit einem Live-Linux-Image testen. Wahrscheinlich muss dann Wine nachinstalliert werden, da es normalerweise nicht vorinstalliert ist. So ein Live-Image kann man mit Ventoy booten.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten