diff bin/publishpackages.py @ 404:a798edae0844 treepkg-status

moved common publish functions to a seperate module
author Bjoern Ricks <bricks@intevation.de>
date Tue, 13 Jul 2010 12:24:14 +0000
parents 0862a14df80b
children c7f4da26f1d4
line wrap: on
line diff
--- a/bin/publishpackages.py	Tue Jul 13 12:23:28 2010 +0000
+++ b/bin/publishpackages.py	Tue Jul 13 12:24:14 2010 +0000
@@ -20,16 +20,8 @@
 from treepkg.run import call, capture_output
 from treepkg.cmdexpand import cmdexpand
 from treepkg.util import ensure_directory, listdir_abs
-
-
-def remove_trailing_slashes(s):
-    return s.rstrip("/")
-
-def expand_filename(filename):
-    """
-    Applies os.path.expanduser and os.path.expandvars to filename
-    """
-    return os.path.expandvars(os.path.expanduser(filename))
+from treepkg.publish import remove_trailing_slashes, expand_filename,
+                            prefix_for_remote_command, copy_to_publishdir
 
 config_desc = ["distribution", "section", "num_newest",
                "build_user", "build_host", "build_listpackages",
@@ -74,18 +66,6 @@
                             " informational output"))
     return parser.parse_args()
 
-def prefix_for_remote_command(user, host):
-    """Returns the ssh call needed to run a command on a remote host.
-    If host is empty, the function assumes the command is to be run on
-    the local host as the same user that exectutes this function, so
-    that no ssh or other call is needed.
-    """
-    prefix = []
-    if host:
-        prefix.extend(["ssh", "%s@%s" % (user, host)])
-    return prefix
-
-
 def copy_to_cache(variables, track, revision, arch, quiet):
     listpackages_vars = variables.copy()
 
@@ -126,29 +106,6 @@
         call(cmdexpand("scp -p @scp_flags @files $cachedir/", files=files,
                        scp_flags=scp_flags, **variables))
 
-
-def copy_to_publishdir(variables, dist, section, arch, quiet):
-    destdir = os.path.join(variables["publish_dir"], dist, section, arch)
-    remote_destdir = destdir
-    if variables["publish_host"]:
-        remote_destdir = (("%(publish_user)s@%(publish_host)s:" % variables)
-                          + remote_destdir)
-    runremote = prefix_for_remote_command(variables["publish_user"],
-                                          variables["publish_host"])
-
-    call(cmdexpand("@runremote mkdir --parents $destdir",
-                   runremote=runremote, destdir=destdir, **variables))
-    rsync_flags = []
-    if variables["publish_remove_old_packages"]:
-        rsync_flags.append("--delete")
-    if quiet:
-        rsync_flags.append("--quiet")
-    call(cmdexpand("rsync @rsync_flags -r --perms --times --omit-dir-times"  
-                   " $cachedir/ $remote_destdir/",
-                   rsync_flags=rsync_flags, remote_destdir=remote_destdir,
-                   **variables))
-
-
 def publish_packages_arch(variables, track, revision, dist, section, arch,
                           quiet):
     copy_to_cache(variables, track, revision, arch, quiet)
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)