Python --> JavaScript Konverter

Du hast eine Idee für ein Projekt?
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Python --> JavaScript Konverter

Beitragvon mitsuhiko » Freitag 18. November 2005, 23:29

So. Meine Neueste Erweiterung zu WSGIarea :-)

ajax middleware mit python2javascript konverter

und eine dazugehörige javascript lib, damit die fehlenden funktionen nachgerüstet werden.

Aktuell noch sehr broken, aber wer Ideen hat, immer her damit ;-)
TUFKAB – the user formerly known as blackbird
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Freitag 18. November 2005, 23:40

Hier noch beispiele für den erstellen Code:

Original

Code: Alles auswählen

def test(data):
    result = []
    for key in data:
        if not key.startswith('.'):
            result.append(key)
    return result
   
def publish():
    return test(['.datei1', '.datei2', 'datei3', 'datei4'])
   
for item in publish():
    print '<ul>'
    print '<li>' + item + '</li>'
    print '</ul>'


Javascript

Code: Alles auswählen

function test(data)
{
    result = new __py_list();
    var __key_container__ = data;
    __key_container__.__start_iteration__();
    while (true) {
        var key = __key_container__.__iter__();
        if (typeof key == 'undefined') {
            break;
        }
        if (!key.startswith(new __py_string('.'))) {
            result.append(key);
        }
    }
    return result;
}

function publish()
{
    return test(new
                __py_list(new __py_string('.datei1'),
                          new __py_string('.datei2'),
                          new __py_string('datei3'),
                          new __py_string('datei4')));
}

var __item_container__ = publish();
__item_container__.__start_iteration__();
while (true) {
    var item = __item_container__.__iter__();
    if (typeof item == 'undefined') {
        break;
    }
    __py_print(new __py_string('<ul>'));
    __py_print(new __py_string('<li>').__add__(item).
               __add__(new __py_string('</li>')));
    __py_print(new __py_string('</ul>'));
}


Der Javascript Code wurde vorher aber durch "indent -kr" gejagt, damit das was gleischschaut.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Samstag 19. November 2005, 08:40

Lustig. Aber: der generierte JavaScript-Code sieht nicht besonders gut lesbar aus. Vielleicht kann man da noch Hand anlegen?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Samstag 19. November 2005, 08:48

Leonidas hat geschrieben:Lustig. Aber: der generierte JavaScript-Code sieht nicht besonders gut lesbar aus. Vielleicht kann man da noch Hand anlegen?


Ich hab zuert eine Version gehat, wo wirklich normaler Javascript Code herauskommen ist. Aber das hat einen Nachteil. Dann kann man keine Operatoren überladen, weil javascript das nciht kennt. Also hab ich in der aktuellen Version jeden normalen Operator nochmal per Hand eingebaut, halt auf Kosten der Lesbarkeit.
TUFKAB – the user formerly known as blackbird

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder