UWCP
- Unix to Windows Copy
Ein kleines Utility für windösige Hamsteraner, um mit
dem "UUCP over FTP"-Angebot von Germanynet ihre News per UUCP holen
zu können.
(Für alle, die auch darüber senden und Mail schicken
holen wollen, steht dort die erste Alfa-Version
eines Versuchs, dies zu realisieren, bereit)
- Installation:
Einfach den Inhalt des mitgelieferten Zips in ein beliebiges Unterverzeichnis
entpacken, einmalig uwcp aufrufen und einige Fragen zum Account¹) beantworten.
UWCP ist dabei nicht auf Sicherheit (heißt: Accountdaten sind im Klartext
in uwcp.rc abgelegt), sondern auf möglichst automatischen Ablauf ausgelegt.
Nach diesem Erstaufruf existieren dann die Verzeichnisse:
.\in - Dorthin werden
die per FTP geholten Batches abgelegt. Zur Kompitabilität mit dem genutzen
DOS-Entpacker SZIP werden dabei die Originalbatchnamen D.1234 in D_1234 umbenannt.
.\out - Dort liegen
nach erfolgter Entzippung die zum Import in den Hamster bereitgestellten .TXT-Dateien
.\done - Dorthin
können (alternativ zur Löschung) die importierten Batches ausgelagert
werden.
.\logs - Dorthin
legt UWCP in den Dateien ddmmyynn.log (yy= Tag, mm=Monat,yy= Jahr, nn=laufende
Nummer pro Tag) den Dialog mit dem FTP-Client ab..
.\scripts - enthält
während der Laufzeit die für die unterschiedlichen Funktionen nötigen
Scripte für das Windoze-Program FTP.EXE. Vor und nach Start von UWCP
sollte es jeweils leer sein, da in den FTP-Dialogen ja imerhin das Passwort
im Klartext auftaucht. Und einmal in uwcp.rc ist ja schon eigentlich einmal
zuviel. Deshalb stehen die Scripte dort nur so lange wie unbedingt nötig.
.\temp - enthält
(Da wär wohl niemand draufgekommen!) temporäre Dateien
________________________
¹) Aus gegebenem Anlaß: gn-Nutzernummer²)
bitte mit "," statt mit dem "." eingeben!
²) Die ist aber inzwischen identisch
mit der UMS-Rufnummer ohne führende Null.
- Betrieb:
Einmal auf diese Weise eingerichtet, kann UWCP durch Übergabe (jeweils
eines) Kommandozeilenparameters die unterschiedlichen Aufgaben erledigen:
uwcp -g (get batches)
Stellt die Verbindung zum ftp-Server her und baut zunächst in .\temp\dirlist
das aktuelle Inhaltsverzeichnis auf. Dies dient dazu, unmittelbar danach statt
mit "mget *.*" über "get D.1234 .\in\D_1234" alle
vorhandenen Batches aus dem Verzeichnis /D. mit dosgerechten Namen abzuholen
und sie in das lokale Verzeichnis .\in zu stopfen.
Die Dialupverbindung kann nun anschließend entweder wieder getrennt
oder die Zwischenzeit für Mailholen und NNTP-Newssenden genutzt werden.
Ein passendes Hamsterscript dazu könnte zum Beispiel so aussehen:
#!hs2
#!load hamster.hsm
# Beispielscript für die Verwendung von uwcp
# unter der Annahme, daß uwcp.exe im Pfad e:\uwcp
# installiert sei. Dies bitte - ebenso wie den Namen
# der DFÜ-Netzwerkverbindung "germanynet" - ggfls. anpassen.
# Provider anwählen und uucp-Batches abholen:
HamRasDial ("germanynet")
Execute ("e:\uwcp\uwcp -g","e:\uwcp",1,True)
# uucp-Batches dekomprimieren und die dabei verstreichende
# Onlinezeit zum Mailverkehr und 'konventionelles' Newsposten
# - eventuell mit genau hier vorgeschaltetem Korrnews
- nutzen:
HamMailExchange
HamNewsPost
uwcp -u (unzip)
startet nun anschließend den Unzip-Vorgang: Alle Batches aus .\in werden
nach .\out ausgepackt. Eingebunden ist hierzu entweder das Programm .\szip\szip.exe
oder .\untgz\untgz.exe, je nach Header !sunbatch oder !gunzip.
Die Verwendungsmöglichkeit anderer Entzippers ist in der ß-Phase
noch nicht in uwcp eingebaut; jedoch sollten beliebige Entpackprogramme bereits
jetzt funktionieren, falls sie das Kunststück fertigbringen, die als
D_1234 im Verzeichnis .\in abgelegten Batches in gleichnamige Textdateien
D_1234.TXT ins Verzeichnis .\out auszupacken..
Mit uwcp, szip und Hamsterscript geht's so weiter:
Execute ("e:\uwcp\uwcp -u","e:\uwcp",1,True)
Grund für diesen kleinen Umweg ist der Sicherheitsaspekt: Sollte beim
Download und oder Entpacken irgendetwas schief gegangen sein, stehen letztendlich
nur die erfolgreich geholten Batches im Verzeichnis .\out. Der Inhalt dieses
Verzeichnis wird zunächst für den Folgebefehl verwendet:
uwcp -d (delete)
setzt sich nun (man könnte es aber auch je nach Gusto *vor* uucp -g in
das HamsterScript setzen) erneut mit dem FTP-Server in Verbindung und löscht
dort *nur* die Dateien, welche bereits sicher als importierbare Texte in .\out
angekommens sind. Das Serververzeichnis /C. wird unabhängig davon bei
der Gelegenheit mit abgeräumt:
# erfolgreich dekomprimierte Batches
auf dem ftp-Server löschen:
Execute ("e:\uwcp\uwcp -d","e:\uwcp",1,True)
# Vor dem Auflegen vorsichtshalber abwarten, falls
# "HamMailExchange" und "HamNewsPost" noch laufen:
HamWaitIdle
HamRasHangup
uwcp -i (import)
startet nun für jeden vorliegenden Batch die Hamsterfunktion "ham
import .\out\D_1234.txt" um die News in den Nager zu schaufeln.
# dekomprimierte uucp-Batches in den
Hamster importieren:
Execute ("e:\uwcp\uwcp -i","e:\uwcp",1,True)
und benennt anschließend den jeweils bearbeiteten vorhandenen D_1234.txt
nach D_1234.imp um. Diese können jederzeit nach Bedarf händisch
oder per uwcp -pi gelöscht werden.
uwcp -pb (purge
batches)
löscht ganz einfach das Verzeichnis .\in. Damit sind die gedowngeloadeten
UUCP-Batches von der lokalen Platte gelöscht.
uwcp -mb (move batches)
Alternative zum Löschen. Es verschiebt die Dateien von .\in nach .\done.
Damit sind die gedowngeloadeten UUCP-Batches aus dem Inkommenden Verzeichnis
entfernt, um nicht beim nächsten "-u"-Durchgang erneut behandelt
zu werden.
Sinnigerweise sollte man beide Befehle jedoch nicht vor uwcp -u anwenden:
Danach ist nämlich nichts mehr unzipbares im lokalen Verzeichnis. Ebenso
sinnigerweise sollte man jedoch einen der beiden Befehle spätestens vor
dem nächsten Kontakt zum FTP-Server ausführen.
uwcp -pi
(purge import)
löscht ebenso einfach das Verzeichnis .\out mit den Import-Dateien für
den Hamster.
Wann und ob man überhaut das .\out-Verzeichnis löschen möchte
oder die importierten Batches sammeln statt löschen möchte, bleibt
den Paranoiden überlassen. Ich persönlich schicke anschließend
gleich zusammen mit Thomas G. Liesner's copyfups
dies auf die Reise:
# Sobald drin, auf FollowUps checken:
Execute ("F:\hamster\copyfups",HamPath,0,False)
# Während Copyfups noch läuft, komprimierte batches verschieben
# und dekomprimierte import-Daten
löschen:
Execute ("e:\uwcp\uwcp -mb","e:\uwcp",1,True)
Execute ("e:\uwcp\uwcp -pi","e:\uwcp",1,True)
# färtisch!
- Download: uwcp.zip
- Extra für Thomas G. Liesner: Der Quälcode;
- Kritik, Anregungen und Spenden an den
Autor