Menu:

page message
  • PageMeta update-environment existiert nicht in der bevorzugten Sprache deutsch, benutzte english.

blog

Tag Cloud Aptana [+] | blog [+] | browser [+] | ColorMirror [+] | creole [+] | django [+] | django-tagging [+] | django-weave [+] | Eclipse [+] | fastcgi [+] | firefox [+] | formset [+] | git [+] | IRC [+] | javascript [+] | linux [+] | pip [+] | plugin [+] | pydev [+] | pylucid [+] | python | relase [+] | release [+] | software [+] | standalone [+] | svn [+] | unittest [+] | virtualenv [+]

↑ "Tamper Data" -> python dict  #

Vor 5 Monate veröffentlicht, durch jens.

Hab mir mal schnell was gebastelt, um aus Firefox "Tamper Data" Addon Daten für python unittests zu erhalten:

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
#coding:utf-8

"""
    convert "Tamper Data" -> python dict

    usefull to get unittest data ;)

    firefox "Tamper Data" addon:
    https://addons.mozilla.org/de/firefox/addon/966

    http://jensdiemer.de/de/Blog/147/tamper-data-python-dict/
"""

from pprint import pprint

try:
    from urlparse import parse_qs
except ImportError:
    from cgi import parse_qs


def evaluate_tamperdata(tamperdata):
    tamperdata = tamperdata.strip()
    query_string = tamperdata.split("=",1)[-1] # cut e.g. POSTDATA

    result = {}
    data = parse_qs(query_string, keep_blank_values=True)
    for key, raw_values in data.iteritems():
        values = []
        for value in raw_values:
            if value.isdigit():
                value = int(value)

            values.append(value)

        if len(values)>1:
            result[key] = values
        else:
            result[key] = values[0]

    return result


def evaluate_multipart_tamperdata(tamperdata):
    tamperdata = tamperdata.strip()
    query_string = tamperdata.split("=",1)[-1] # cut e.g. POSTDATA

    result = {}
    for line in query_string.splitlines():
        line = line.strip()
        if not line or line.startswith("---"):
            continue

        if line.startswith("Content-Disposition: form-data; name="):
            key = line[38:-1]
        else:
            result[key] = line

    return result


#-----------------------------------------------------------------------------


tamper_postdata="""
POSTDATA =-----------------------------142200474478686960433644084
Content-Disposition: form-data; name="csrfmiddlewaretoken"

53dba2f54f765f1f5ef5c999c4809233
-----------------------------142200474478686960433644084
Content-Disposition: form-data; name="foo"

bar

"""
pprint(evaluate_multipart_tamperdata(tamper_postdata))


#-----------------------------------------------------------------------------


tamper_postdata="""
POSTDATA=save=save&foo=bar
"""
pprint(evaluate_tamperdata(tamper_postdata))

Ausgabe sieht dann so aus:

Python
1
2
{'csrfmiddlewaretoken': '53dba2f54f765f1f5ef5c999c4809233', 'foo': 'bar'}
{'foo': 'bar', 'save': 'save'}

EDIT: Habe eine zweite Methode eingebaut, für multipart form Daten.

(Last update: 30. Juni 2010, 08:19 by jens.)

tags firefox [+] | python | unittest [+]
0 comments...

↑ Pydev erhält Django Erweiterungen...  #

Vor 5 Monate, 3 Wochen veröffentlicht, durch jens.

(Last update: 21. März 2010, 19:20 by jens.)

tags Eclipse [+] | pydev [+] | python
0 comments...

↑ Wie man 'virtualenv' nutzten kann.  #

Vor 6 Monate veröffentlicht, durch jens.

Seid PyLucid v0.9 und nun auch mit django-weave nutzte ich virtualenv.

Ich hab im deutschen Python Wiki beschrieben wie man eine virtuelle Python Umgebung aufsetzt und dazu, wie man mit pip externe Repositories einbinden kann:

http://wiki.python-forum.de/virtualenv

(Last update: 8. März 2010, 08:05 by jens.)

tags pip [+] | python | software [+] | virtualenv [+]
0 comments...

↑ Aptana Studio, das bessere Eclipse für Python Entwicklung?  #

Vor 6 Monate, 2 Wochen veröffentlicht, durch jens.

Sehe mir gerade Aptana Studio an. Macht auf den ersten Blick einen guten Eindruck.

Wenn man Eclipse kennt, braucht man nichts neu zu lernen, denn im Grunde findet man alles an genau der gleichen Stelle. Denn im Grunde genommen ist Aptana nichts anderes als Eclipse, legt seinen Schwerpunkt aber ehr auf Web Entwicklung.

Schön ist, das man fertige "Standalone" Pakete downloaden kann. Ähnlich wie EasyEclipse, aber auf den neusten Stand.

Vorteile: Aptana hat im gegensatz zu Eclipse direkt einen HTML/CSS/JS und JSON Editor dabei.

↑ sFTP  #

Sehr schön ist die Möglichkeit per sFTP auf Dateien von externen Servern zu arbeiten! Dabei wird sogar Public Key Authentication unterstützt.

Verschiedene Connections kann man in diesem View hinterlegen und nutzten: Window -> Show View -> Other... -> Aptana Views -> File

↑ Der GTK Bug  #

Unter Ubuntu 9.10/Fedora 12 gibt es allerdings, wie bei Eclipse einen Bug mit dem neuen GTK v2.18, siehe: https://aptanastudio.tenderapp.com/faqs/problem-solving/aptana-studio-radrails-and-ubuntu-910

Lösung: Entweder ein Bash Skript ins AptanaStudio Verzeichnis legen und das starten:

Bash
1
2
3
#!/bin/sh
export GDK_NATIVE_WINDOWS=true
./AptanaStudio

Oder einen eigenen "Starter" anlegen und als Befehl das angeben:

Unbekannter Typ
sh -c "export GDK_NATIVE_WINDOWS=true; exec /path_to_aptana/AptanaStudio"

Wichtig: Startet Aptana von sich aus neu, dann ist der Bug wieder da! Also muß man es erst beenden und dann wieder mit dem eigenen "Starter" starten.

↑ PyDev & Subclipse installieren  #

Alle möglichen Featues, wie PyDev, jQuery, Subclipse kann man bequem unter Help -> Install Aptana Featues... installieren. (Den Menü Punkt scheint es nur im "Aptana Web" Perspective zu geben, nicht aber im PyDev Perspective!)

Subclipse findet man unter Others -> SCM Plugins -> Subclipse

(Last update: 26. Feb. 2010, 12:57 by jens.)

tags Aptana [+] | Eclipse [+] | python | software [+]
1 comment...

↑ Eclipse für Python Entwicklung installieren...  #

Vor 7 Monate, 3 Wochen veröffentlicht, durch jens.

Eigentlich wollte ich ein abgepecktes, frisches Eclipse aus den Ubuntu Quellen installieren. Dazu sollte eigentlich das Paket "eclipse-platform" reichen. PyDev, Subclipse installiere ich dann als Plugins über die Eclipse Update Funktion.

Allerdings kommt es dann zu dem Fehler:

An error occurred while installing the items
  ...
  The artifact file for osgi.bundle,org.eclipse.ant.ui,3.4.1.v20090901_r351 was not found.

Das ist auch bekannt (Launchpad Bug #477944) und sollte eigentlich schon gefixed sein. Ist es aber anscheinend noch nicht.

Work-a-round:

  1. "eclipse" installieren
  2. alle benötigten Eclipse Plugins installieren
  3. "eclipse" und "ant..." pakete deinstallieren und dabei "eclipse-platform" behalten

Es ist also noch nötig das Paket eclipse zu installieren, was für mich unnötiges Zeugs installiert...

Wenn Eclipse läuft noch diese Update URLs nutzten um PyDev und Subclipse zu installieren:

Den Web Page Editor bekommt man hier her:

Doch es kann sein, das man ihn wegen unauflösbaren Abhängigkeiten nicht installieren kann. In dem Falle kann man die Galileo Update URL nutzten (unter "Web, XML..." den Web Page Editor):

Damit es klappt, muß man evtl. unter Preferences -> Install/Update -> Avaiable Software Sites noch URLs aktivieren. Welche genau, weiß ich nicht, ich hab dann einfach alle aktiviert ;)

(Last update: 26. Feb. 2010, 07:19 by jens.)

tags Eclipse [+] | python | software [+]
0 comments...
Syndication-Feed-Format:
0 comments for 'blog':
    there exist no comment for 'blog'
Leave a comment
Fork me on GitHub