Python --> JavaScript Konverter

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

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
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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 (former) Modvoice
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

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
Antworten