hg site extension
 
(Arne Babenhauserheide)
2011-10-20: Also create the initial forlder if it does not exist yet.

Also create the initial forlder if it does not exist yet.

diff --git a/static.py b/static.py
--- a/static.py
+++ b/static.py
@@ -337,6 +337,20 @@ def upload(ui, repo, target, ftpstring):
         return
 
     ui.status(ftp.getwelcome(), "\n")
+
+    # create the target dir.
+    serverdir = dirname(ftppath)
+    serverdirparts = ftppath.split("/")
+    sd = serverdirparts[0]
+    if not sd in ftp.nlst():
+        ftp.mkd(sd)
+    for sdp in serverdirparts[1:]:
+        sdo = sd
+        sd = os.path.join(sd, sdp)
+        if not sd in ftp.nlst(sdo):
+            ftp.mkd(sd)
+
+
     ftp.cwd(ftppath)
     if not ftp.pwd() == "/" + ftppath:
         ui.warn("not in the correct ftp directory. Cowardly bailing out.\n")
@@ -353,8 +367,8 @@ def upload(ui, repo, target, ftpstring):
             localfile = join(d, filename)
             serverfile = localfile[len(target)+1:]
             serverdir = dirname(serverfile)
-            serverdirparts = os.path.split(serverdir)
-            #print serverdirparts, serverfile
+            serverdirparts = serverdir.split("/")
+#            print serverdirparts, serverfile
             with open(localfile, "rb") as f:
                 sd = serverdirparts[0]
                 if sd and not sd in _ftpdircache and not sd in ftp.nlst():