saxsgrid

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Montag 3. Dezember 2007, 16:31

Hoi,

habe gerade (mit Gerolds Hilfe) ein Projekt auf Sourceforge auf den Weg gebracht:
xxx
Für die meisten hier wahrscheinlich ziemlich esoterisch ;-). Aber wenn es Vorschläge zur Projektgestaltung und ähnlichem gibt: Her damit.
(Eigentlich hätte ich das noch nicht gehostet, aber mich drücken die Schuhe Konkurrenz und Zeitnot gar sehr. Also weißt mich ruhig auf grobe Fehler hin, aber seht sie mir nach ;-) .)

Gruß,
Christian

PS Irgendwie funktioniert der Download gerade wieder nicht ... Arrgh.

edit: URL gelöscht - siehe unten
Zuletzt geändert von CM am Dienstag 11. Dezember 2007, 13:54, insgesamt 1-mal geändert.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 3. Dezember 2007, 16:59

CM hat geschrieben:PS Irgendwie funktioniert der Download gerade wieder nicht ... Arrgh.
Das kann daran liegen, dass nicht alle Mirrors synchronisiert sind. Ist nach spätestens ein paar Stunden aber wieder ok.

Aber: wo ist die Integration mit setuptools? Warum kann man es nicht aus dem Cheeseshop runterladen? ;)

Zum Programm selbst: Zum eigentlichen Code kann ich nichts sagen, wie der funktioniert weißt du sicher besser als ich :) Aber ich würde beispielsweise `__info__` weglassen und die Nachricht direkt an `sys.exit()` übergeben.

Dann finde ich es seltsam, warum die Klasse Model (die ich von `object` erben lassen würde) einen Signal-Handler hat. Ich würde die Model-Klasse eher als Container + Daten machen und die Programmlogik woanders reinstecken. Schließlich will man ja vermutlich mehrere Instanzen davon haben und wenn es nun mehrere Signal-Handler gibt: hmm, ich weiß nicht, finde so etwas recht kompliziert. Ein Signal-Handler reicht doch. Ähnliches gilt für `save()`.

Wenn du `__eq__` implementierst brauchst du so weit ich weiß kein `__ne__` mehr. Ich glaube mich erinnern zu können, dass die Default-Implementation eben genau das ist was du machst.

Du merkst: ich habe nicht so wahnsinnig viel geschrieben. Hätte also schlimmer sein können ;)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Montag 3. Dezember 2007, 17:14

Leonidas hat geschrieben:Aber: wo ist die Integration mit setuptools? Warum kann man es nicht aus dem Cheeseshop runterladen? ;)
Tja, .... :roll: Aber im Ernst: Über diese Dinge kann ich immer noch nachdenken, finde ich. Das Projekt lernt ja erst laufen. ;-)
Leonidas hat geschrieben: Aber ich würde beispielsweise `__info__` weglassen und die Nachricht direkt an `sys.exit()` übergeben.
Na ja, ist ein spleen von mir. Gebe ich zu ...
Leonidas hat geschrieben: Dann finde ich es seltsam, warum die Klasse Model (die ich von `object` erben lassen würde) einen Signal-Handler hat. ...
Das ist allerdings ein guter Punkt. Steht auch auf meiner ToDo-Liste.
Leonidas hat geschrieben: Wenn du `__eq__` implementierst brauchst du so weit ich weiß kein `__ne__` mehr. Ich glaube mich erinnern zu können, dass die Default-Implementation eben genau das ist was du machst.
http://www.python.org/doc/2.5/ref/customization.html
Na ja, die Doku sagt aber auch: Sei ruhig redundant, dann ist alles klar. So habe ich auch gedacht.
Leonidas hat geschrieben: Du merkst: ich habe nicht so wahnsinnig viel geschrieben. Hätte also schlimmer sein können ;)

Aber schon mal was. Vielen Dank!
Christian
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Montag 3. Dezember 2007, 18:15

So, und jetzt ist auch das Problem gelöst, das im ersten Upload die Hälfte der Files fehlte ... :oops: (allerdings ist ansonsten alles unverändert).

@Leonidas: Was meinst Du mit Deinem Kommentar zu save()? Ich glaube hier liegt ein Mißverständnis vor: Während tofile() ein Model-Object dumped für ein späteres Recovery, fällt save() auf den PDB-Parser von Biopython zurück (was zugegebenermaßen ziemlich umständlich aussieht - da muß man dringend mal dran arbeiten!) und schreibt ein PDB-File aus. Das sind zwei paar Schuhe.
Was das Logging und den Signal-Hanler angeht hast Du natürlich recht: Das war nicht sonderlich clever und wird geändert.

Gruß,
Christian
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 3. Dezember 2007, 19:00

CM hat geschrieben:@Leonidas: Was meinst Du mit Deinem Kommentar zu save()? Ich glaube hier liegt ein Mißverständnis vor: Während tofile() ein Model-Object dumped für ein späteres Recovery, fällt save() auf den PDB-Parser von Biopython zurück (was zugegebenermaßen ziemlich umständlich aussieht - da muß man dringend mal dran arbeiten!) und schreibt ein PDB-File aus. Das sind zwei paar Schuhe.
Ja, ok, ich glaube da habe ich etwas durcheinandergebracht.

Aber jetzt wo ich mir `save()` genauer ansehe, sehe ich einige Sachen auf die ich noch hinweisen kann: `del` braucht keine Klammern und `atoms` scheinen ungenutzt zu sein. Zumindest wenn ich mir die LC so ansehe verstehe ich nicht ganz den sinn davon. Meine Vermutung ist, dass du versuchst ein Iterable-Objekt welches von `self.structure.get_atoms()` geliefert wird in eine Liste umzuwandeln. Das kannst du dann aber auch als `list(self.structure.get_atoms())` schreiben.

Und bezüglich `__eq__` und `__ne__` hast du schon recht - die Dokumentation besagt sogar, dass wenn das eine Wahr ist das andere nicht automatisch Falsch ist (wenn ich sie richtig interpretiert habe).
My god, it's full of CARs! | Leonidasvoice vs Modvoice
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Dienstag 4. Dezember 2007, 10:13

Leonidas hat geschrieben:... und `atoms` scheinen ungenutzt zu sein. Zumindest wenn ich mir die LC so ansehe verstehe ich nicht ganz den sinn davon.
Oh, Merci. Das mit den Klammern ist bereits geändert und die atoms gelöscht - war ein Überbleibsel aus einer älteren Version. Es drin zu haben bricht keinen Test ;-).
Was LC vs list() angeht: Ja, meist ist die LC überflüssig, fällt mir auch auf. Aber bei Biopython.PDB-Datenstruktur ist eine LC oft eine schöne Abkürzung. Hier nicht: Wurde auch geändert.

Gruß,
Christian
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Dienstag 4. Dezember 2007, 10:30

[OT]Sourceforge Projekte für Python libraries sind etwas sinnlos mittlerweile. Releases hosten kann man auf dem Käseladen und DVCS Hosting gibts auf launchpad und mittlerweile schon einigen anderen Webseiten. Unter anderem auch für HG[/OT]
TUFKAB – the user formerly known as blackbird
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Dienstag 4. Dezember 2007, 10:44

[ot]Danke. Tja, das SF nicht ideal ist, habe ich ja auch schon festgestellt und denke darüber nach den Versuch aufzugeben: http://www.python-forum.de/topic-12784.html Launchpad scheint mir eine nette Alternative. Bei einer Abkz. hast Du mich gerade abgehangen: Was bitte ist HG? Gerne auch im verlinkten Thread.[/ot]
BlackJack

Dienstag 4. Dezember 2007, 11:53

Ich denke er meint Mercurial oder auch abgekürzt `hg` (chemisches Zeichen für Quecksilber/"mercury").
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Dienstag 4. Dezember 2007, 11:54

LOL - Danke.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Dienstag 11. Dezember 2007, 13:53

Ok, das Projekt wurde von SF entfernt. Werde mein Glück mal mit launchpad probieren (aber erst noch ein bißchen mehr am Paper arbeiten) und denn im nächsten Jahr *richtig* publizieren.

Danke für eure Tipps.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Dienstag 11. Dezember 2007, 15:11

Für mercurial gibts sharesource.org
TUFKAB – the user formerly known as blackbird
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Montag 21. April 2008, 19:08

So, das Projekt hat wieder das Licht der Welt erblickt. Bzw. eigentlich nur ein Branch des Projektes (und damit sind auch die Tests durcheinandergeraten, aber das werde ich in den nächsten Tagen aufräumen und wieder ausbauen).

http://sas-rigid.origo.ethz.ch/
(Weitere Downloadmöglichkeiten werden folgen.)
und
http://pypi.python.org/pypi/sas_rigid/0.2.7

Vielen Dank für alle eure Anregungen - nicht nur in diesem Thread.

Gruß,
Christian
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 21. April 2008, 21:02

Ich glaube nicht, dass ich die Software zu irgendwas verwenden kann, dazu sind unsere Beschäftigungsbereiche zu unterschiedlich, aber es heißt "proof of concept" und "yourself".

(Nicht in den falschen Hals bekommen)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Dienstag 22. April 2008, 09:33

Autsch. Danke!
(War ein langer Tag gestern ...)
Antworten