Mein Blog...
- ↓ Django DB model test.
- ↓ Mehrere Schwachstellen in Skriptsprache Python
- ↓ Firefox: Quick Locale Switcher
- ↓ django login...
- ↓ Python: von list/dict erben...
- ↓ Backup Lösung gesucht.
- ↓ sbackup
- ↓ rsnapshot
- ↓ rsync
- ↓ update
- ↓ xfce4-panel startet nicht
- ↓ locales abspecken...
- ↓ Python Skript zum batch video konvertieren
- ↓ PyLucid is up-to-date
Inhaltsverzeichnis
↑ Mehrere Schwachstellen in Skriptsprache Python #
Vor 2 Jahre, 1 Monat veröffentlicht, durch jens.buffer overflow in Python:
- http://bugs.python.org/issue2620
- http://www.heise.de/security/Mehrere-Schwachstellen-in-Skriptsprache-Python--/news/meldung/113801
- http://svn.python.org/view?rev=65335&view=rev
- http://bugs.gentoo.org/show_bug.cgi?id=230640
- http://bugs.gentoo.org/show_bug.cgi?id=232137
Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import sys print sys.version def test(size): try: s = u"FooBar".center(size) except MemoryError, err: print "MemoryError: '%s'" % err test(sys.maxint-1) print "OK 1" test(sys.maxint) print "OK 2" |
Ausgabe:
2.5.2 (r252:60911, Mar 27 2008, 17:57:18) [MSC v.1310 32 bit (Intel)]
MemoryError: ''
OK 1
>Exit code: -1073741819
(Last update: 20. Nov. 2009, 11:01 by jens.)
↑ Firefox: Quick Locale Switcher #
Vor 2 Jahre, 1 Monat veröffentlicht, durch jens.Das Firefox Add-on Quick Locale Switcher muß ich mir mal merken. Erleichtert es doch sehr, wenn man Wörterbücher benutzt, aber mal auf der einen Seite das englische und auf der anderen das deutsche ;)
(Last update: 20. Nov. 2009, 11:01 by jens.)
↑ django login... #
Vor 2 Jahre, 1 Monat veröffentlicht, durch jens.Ich nutzte den @login_required decorator von django, bei meinen eigenen views.
In den urls hab ich nur noch das django admin panel zusätzlich drin:
1 2 3 | ... (r'^admin/(.*)', admin.site.root), ... |
Wenn man also einen View aufruft, der per decorator zum Login führt landet man z.B. bei: .../admin/?next=/mein_view/
Nach dem Login gelangt man allerdings nicht zu der per GET angegebenen URL /mein_view/, sondern im admin Bereich, also bei /admin/.
Da frage ich mich doch, warum?
Es funktioniert, wenn man es z.B. so macht:
in die settings.py:
1 | LOGIN_URL = "/login/" |
in der urls.py:
1 2 3 4 | ... (r'^login/', 'django.contrib.auth.views.login', {'template_name': 'login.html'}), (r'^%s/(.*)' % settings.ADMIN_URL_PREFIX, admin.site.root), ... |
Die "login.html" kann man sich bei http://www.djangoproject.com/documentation/authentication/#the-login-required-decorator abschauen...
Aber nun mußte ich doch ein eigenes login Template anlegen, obwohl man ja eigentlich den aus django nutzten könnte...
Hab ich da was übersehen???
Crosspost: http://www.python-forum.de/topic-15612.html
(Last update: 20. Nov. 2009, 11:01 by jens.)
↑ Python: von list/dict erben... #
Vor 2 Jahre, 1 Monat veröffentlicht, durch jens.Da ich mir es einfach nicht merken kann, hab ich zwei neue Seiten im deutschen Python Wiki erstellt:
(Last update: 20. Nov. 2009, 11:01 by jens.)
↑ Backup Lösung gesucht. #
Vor 2 Jahre, 1 Monat veröffentlicht, durch jens.Ich brauche mal für Linux ein Backup Programm. Im Ubuntuusers Wiki finde ich einige Beispiel Skripte. Aber so richtig überzeugend fand ich jetzt keines.
Ich suche nach einem Programm was ich manuell starten kann, weil ich auf einer externen USB-Festplatte sichern möchte.
Es sind zig tausende Dateien und darunter ein paar die 2-3GB groß sind. Also möchte ich auch einen anständige Fortschrittsanzeige sehen.
↑ sbackup #
Näher angesehen habe ich mir das in Python geschriebene simple backup. Sieht ganz nett aus, eignet sich für meine größeren Datenmengen aber nicht so gut. Was ganz dumm ist, man hat keine Fortschrittsanzeige. Das Backup erfolgt im Hintergrund. Man kann anscheinend nur nachsehen ob der Backup Prozess läuft :(
Wenn ich mir den Bugtracker so ansehe, wird das Programm nicht so sonderlich gut weiterentwickelt. Wobei im Repository noch Aktivität herrscht.
↑ rsnapshot #
Eigentlich hört sich eine Lösung mit rsnapshot gut an. Es werden platzsparend nur die geänderten Dateien gesichert und die anderen mit hardlinks verknüpft. Allerdings ist es ehr was für root. Hat anscheinend nur eine zentrale config Datei /etc/rsnapshot.conf und möchte wohl auch seinen Dienst mit cron im Hintergrund verüben.
↑ rsync #
Vielleicht ist ein simples Skript mit rsync die einfachste Variante...
↑ update #
also es tut erstmal doch ein einfaches Skript mit rsync:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #!/bin/bash PLATTE="/media/disk/" DATUM=`/bin/date +%y%m%d` function verbose_eval { echo $* eval $* } function do_rsync { echo echo Bearbeite: $1 echo touch ${PLATTE}$2_backup_vom_${DATUM} verbose_eval rsync --archive --update\ --human-readable --progress\ --exclude=.gvfs\ --exclude=.Trash\ $1 ${PLATTE}$2/ } do_rsync /home backup_home |
(Last update: 20. Nov. 2009, 11:01 by jens.)
↑ xfce4-panel startet nicht #
Vor 2 Jahre, 1 Monat veröffentlicht, durch jens.Heute hat auf dem Laptop das xfce panel nicht gestartet. Konnte nicht herausfinden warum. Allerdings ließ sich das ganze beheben, in dem ich das Verzeichnis ~/.config/xfce4 umbenannt hab (Ich hätte es auch löschen können). Nach einem Neustart von xfce ist das panel wieder da, aber auch ein paar Einstellungen futsch, aber nicht alle ;)
Dennoch gefällt mit xfce mittlerweile besser als GNOME. Es ist alles ein wenig einfacher, aber auch teilweise durchdachter und schneller. Mit ein paar zusätzlichen Erweiterungen (Alle aus den Ubuntu Repositories) ist xfce super brauchbar.
(Last update: 20. Nov. 2009, 11:01 by jens.)
↑ locales abspecken... #
Vor 2 Jahre, 1 Monat veröffentlicht, durch jens.Mich hat immer gestört das lange Updaten von Ubuntu auf meinem alten zweit Laptop. Auf der schwachen Maschine dauert es immer recht lange bis alle locales geupdatet sind. Dabei sind recht exotische dabei, die IMHO eh nie zum einsatz kommen. Ich hab mich immer gefragt, wo ich das ändern kann. Nun habe ich eine Lösung gefunden:
Die config Dateien im Verzeichnis /var/lib/locales/supported.d/ sind dafür zuständig. Einfach alle nicht genutzten Einträge rauswerfen und ein dpkg-reconfigure locales geht nun viel schneller.
(Last update: 20. Nov. 2009, 11:01 by jens.)
↑ Python Skript zum batch video konvertieren #
Vor 2 Jahre, 1 Monat veröffentlicht, durch jens.Hab mir gerade ein kleines Skript gebaut. Meine Digitale Fotokamera kann ganz gute Videos machen. Allerdings liegen die im MJPEG Codec vor. Die Dateien sind also recht groß. Früher hab ich dann per Avidemux konvertiert. Aber bei mehreren ist mir das zuviel klickerei. Außerdem möchte ich gern im Dateinamen das "Aufnahmedatum" haben. Das mußte ich immer per Hand eintragen. Also hab ich mir ein kleines Python Skript geschrieben, welches alle Dateien mit dem MEncoder zu AVIs mit XviD Video Codec und LAME MP3 Audio konvertiert. Der Zieldateiname beinhaltet auch das Datum:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | #!/usr/bin/env python # -*- coding: UTF-8 -*- """ Alle AVIs zu XviD mit MP3 AVIs konvertiren. Datum in den Dateinamen einfügen :copyleft: 2008 by Jens Diemer :license: GNU GPL v2 or above """ import os, time, subprocess, stat for filename in os.listdir("."): name, ext = os.path.splitext(filename) if ext.lower() != ".avi": continue if "xvid" in name.lower(): print "Skip Xvid file '%s'" % filename continue if name.startswith("2008"): print "Skip '%s'" % filename continue print "_"*79 print filename file_time = os.stat(filename)[stat.ST_MTIME] t = time.localtime(file_time) date_str = time.strftime("%Y%m%d", t) out_name = "%s_%s_XviDMP3.avi" % (date_str, name) print out_name if os.path.isfile(out_name): print "Skip existing file '%s'" % out_name continue cmd = [ "mencoder", filename, "-ovc", "xvid", "-xvidencopts", "fixed_quant=2.5", "-oac", "mp3lame", "-lameopts", "vbr=3", "-of", "avi", "-o", out_name ] print "-"*79 print " ".join(cmd) print "-"*79 process = subprocess.Popen(cmd) process.wait() print "-"*79 |
(Last update: 20. Nov. 2009, 11:01 by jens.)
↑ PyLucid is up-to-date #
Vor 2 Jahre, 1 Monat veröffentlicht, durch jens.In django gab es ja in letzter Zeit so einige Neuerungen:
- newforms admin branch merged
- Moved django.newforms to django.forms
- Changed the way URL paths are determined
Nun läuft die PyLucid SVN trunk Version mit dem aktuellen django trunk wieder zusammen, siehe: PyLucid blog Eintrag.
(Last update: 20. Nov. 2009, 11:01 by jens.)
- /en/Blog/feed/feed.atom ( Atom Syndication Format v1.0 )
- /en/Blog/feed/feed.rss ( Really Simple Syndication v2.01rev2 )