JensDiemer

Mein Blog...

Tag Cloud 3dsmax | 64bit | addons | Aptana | ASUS | AVI | backup | BeOS | bilder | blog | browser | CPU | creole | django | django-dbpreferences | django-dbtemplates | django-tagging | django-tools | django-weave | dokumentation | Eclipse | fernsehen | firefox | forms | formset | foto | git | Haiku | handy | hardware | i18n | javascript | jquery | Kino | lame | links | linux | locales | Loveparade | mac | markup | mencoder | merkwürdig | modul | mp3 | netzwerk | nokia | online | opensource | ovi | Petition | pip | plugin | plugins | podcast | pydev | pylucid | pys60 | python | relase | release | router | settings | sicherheit | software | sqlite | standalone | svn | thunderbird | Tip | ubuntu | ubuntuusers | unittest | video | virtualbox | virtualenv | vista | web | webspace | win7 | windows | xfce | xp | xvid

↑ Lechs Universum...  #

Vor 2 Jahre veröffentlicht, durch jens.

Das ja nett. Auf den Seiten vom NBC Sender Sci Fi kann man Clips (in MPEG) der Sendung Lechs Universum runterladen:

Professor Lesch kennt man ja aus der Sendung alpha-centauri auf BR-alpha. Dort stehen die alpha-centauri Sendungen nur als Flash Videos online.

(Last update: 20. Nov. 2009, 11:01 by jens.)

tags fernsehen | online | video
0 comments...

↑ django-modelvcs  #

Vor 2 Jahre, 1 Monat veröffentlicht, durch jens.

Mein erstes code.google.com Projekt:
http://code.google.com/p/django-modelvcs/

:)

Update 11.08.2008: Und nun gibt es auch eine Seite auf meiner Homepage dazu: django-modelvcs

(Last update: 20. Nov. 2009, 11:01 by jens.)

tags django | opensource | python
0 comments...

↑ Django DB model test.  #

Vor 2 Jahre, 1 Monat veröffentlicht, durch jens.

Ich hab früher schon einmal eine kleine Test App gemacht, siehe: http://www.python-forum.de/topic-10600.html
Diese hat aber die settings.py aus einem bestehenden django Projekt gebraucht.

Nun wollte ich mal ein paar Datenbank modelle testen und mit denen Spielen, ganz unabhängig von einer django App. Also hab ich mal ein wenig gebastelt. Dieses Skript kann man irgendwo hinwerfen und ausführen:

Python
  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
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
#!/usr/bin/env python
# -*- coding: utf-8 -*-



"""
Standalone django model test with a 'memory-only-django-installation'.
You can play with a django model without a complete django app installation.
"""



import os



os.chdir("../pylucid_project/")
APP_LABEL = os.path.splitext(os.path.basename(__file__))[0]



os.environ["DJANGO_SETTINGS_MODULE"] = "django.conf.global_settings"
from django.conf import global_settings



global_settings.INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    APP_LABEL,
)
global_settings.DATABASE_ENGINE = "sqlite3"
global_settings.DATABASE_NAME = ":memory:"



from django.core.management import sql
from django.db import models, connection



from django.core.management.color import no_style
STYLE = no_style()



def create_table(*models):
    """ Create all tables for the given models """
    cursor = connection.cursor()
    def execute(statements):
        for statement in statements:
            cursor.execute(statement)



    for model in models:
        execute(connection.creation.sql_create_model(model, STYLE)[0])
        execute(connection.creation.sql_indexes_for_model(model, STYLE))
        execute(sql.custom_sql_for_model(model, STYLE))
        execute(connection.creation.sql_for_many_to_many(model, STYLE))



#______________________________________________________________________________
# Test model classes:



from django.db import models



class Test(models.Model):
    my_id = models.CharField(max_length=32, primary_key = True)
    text = models.TextField()



    def __unicode__(self):
        return u"Test entry: '%s'" % self.text



    class Meta:
        app_label = APP_LABEL



#------------------------------------------------------------------------------
if __name__ == "__main__":
    print "- create the model tables...",
    from django.core import management
    management.call_command('syncdb', verbosity=1, interactive=False)
    print "OK"


    create_table(Test)
    #__________________________________________________________________________
    # Test code:
    
    instance = Test(text="test")
    print instance
    for field in instance._meta.fields:
        print field, field.name
    
    print instance._meta.pk
    
    print "- END -"

Also im Bereich "Test model classes" erstellt man seine Modell Klassen. Ab dem Punk "Test code" kann man dann mit denen spielen.

Wichtig ist, das man bei den DB-Model Klassen die Angabe Meta.app_label = APP_LABEL einfügt und bei create_table() seine Klassen angibt, damit die Tabellen erzeugt werden.

Kennt jemand einen besseren/einfacheren Weg???

Crosspost:

(Last update: 20. Nov. 2009, 11:01 by jens.)

tags django
0 comments...

↑ Mehrere Schwachstellen in Skriptsprache Python  #

Vor 2 Jahre, 1 Monat veröffentlicht, durch jens.

buffer overflow in Python:

Beispiel:

Python
 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:

Unbekannter Typ
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.)

tags opensource | python | software
0 comments...

↑ 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.)

tags firefox | opensource | software
0 comments...

↑ 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:

Python
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:

Python
1
LOGIN_URL = "/login/"

in der urls.py:

Python
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.)

tags django
0 comments...

↑ 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.)

tags dokumentation | python
0 comments...

↑ 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:

Bash
 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.)

tags backup | linux | software | ubuntu | ubuntuusers
0 comments...

↑ 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.)

tags ubuntu | xfce
0 comments...

↑ 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.)

tags locales | ubuntu
0 comments...
Syndication-Feed-Format: