Ich versuche gerade, ein Programm zu schreiben, das die geänderten Dateien meiner doxygen-Doku auf den Server ftpt.
Dazu habe ich ein Verzeichniss, das die Dateien enthällt, wie sie auf dem Server sind und eine aktuelle Version.
Das ganze wird dann per diff -rq verglichen, das ergebniss in eine Datei geschrieben, die ich mit python wieder einlese (wäre wohl schöner einfach diff zu pipen, wüsste jetzt aber nicht wie) und parse.
Die geänderten Dateien sollen dann per ftplib auf den Server übertragen werden. Und genau hier liegt das Problem.
Als Python - Referenz verwende ich Python GE-PACKT (mitp), von storbinary() erhalte ich den Fehler "ftplib.error_perm: 500 Unknown command"
Script:
Alles anzeigen
EDIT://
wenn ich bei storbinary() statt STORE STOR angebe funktioniert's scheinbar.
Kann mir jemand sagen, warum ich so viele Lösungen 5 minuten nach dem ich sie hier gepostet habe, finde?
Dazu habe ich ein Verzeichniss, das die Dateien enthällt, wie sie auf dem Server sind und eine aktuelle Version.
Das ganze wird dann per diff -rq verglichen, das ergebniss in eine Datei geschrieben, die ich mit python wieder einlese (wäre wohl schöner einfach diff zu pipen, wüsste jetzt aber nicht wie) und parse.
Die geänderten Dateien sollen dann per ftplib auf den Server übertragen werden. Und genau hier liegt das Problem.
Als Python - Referenz verwende ich Python GE-PACKT (mitp), von storbinary() erhalte ich den Fehler "ftplib.error_perm: 500 Unknown command"
Script:
Quellcode
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- import ftplib
- import os
- os.system("diff -qr ../html ../html~ > ../diff~")
- dat = file("../diff~", "r").readlines()
- ftp = ftplib.FTP("christoph.sf-ogame.de")
- ftp.login("XXX", "XXX")
- ftp.cwd("dev_html")
- data = []
- ftp.dir()
- for b in dat:
- if b.find("cryptopp") != -1:
- continue
- c = b[:-1].split(" ")
- if c[0] == "Dateien":
- data.append(c[1][8:])
- print "geändert"
- elif c[0] == "Nur" and c[1] == "in" and c[2][3:8] == "html/":
- data.append(c[2][8:-1] + "/" + c[3][:-1])
- print "nur"
- else:
- print "Unerkannte Zeichenfolge!"
- print data
- for b in data:
- ftp.storbinary("STORE " + b, file(b, "r"))
EDIT://
wenn ich bei storbinary() statt STORE STOR angebe funktioniert's scheinbar.
Kann mir jemand sagen, warum ich so viele Lösungen 5 minuten nach dem ich sie hier gepostet habe, finde?
There are only 10 types of people in the world: Those who understand binary, and those who don't.
Download meines ersten Spiels:HIER
Über Feedback würde ich mich freuen
Download meines ersten Spiels:HIER
Über Feedback würde ich mich freuen

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von darthdespotism ()