summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-10-11 23:39:31 +0000
committerZac Medico <zmedico@gentoo.org>2009-10-11 23:39:31 +0000
commitf9cc4d7f34b9186fb96635ee937477a46623f6c1 (patch)
tree3e53165ff68fe82c92f19aab6741a341bbed68b3 /bin/ebuild-helpers
parentBug #288551 - Handle invalid cpv in portdbapi.aux_get() by raising KeyError. (diff)
downloadportage-idfetch-f9cc4d7f34b9186fb96635ee937477a46623f6c1.tar.gz
portage-idfetch-f9cc4d7f34b9186fb96635ee937477a46623f6c1.tar.bz2
portage-idfetch-f9cc4d7f34b9186fb96635ee937477a46623f6c1.zip
Rename dohtml to dohtml.py. Next commit will add a shell script wrapper for
EPYTHON handling. svn path=/main/trunk/; revision=14581
Diffstat (limited to 'bin/ebuild-helpers')
-rwxr-xr-xbin/ebuild-helpers/dohtml191
1 files changed, 0 insertions, 191 deletions
diff --git a/bin/ebuild-helpers/dohtml b/bin/ebuild-helpers/dohtml
deleted file mode 100755
index 71cbb629..00000000
--- a/bin/ebuild-helpers/dohtml
+++ /dev/null
@@ -1,191 +0,0 @@
-#!/usr/bin/python
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-#
-# Typical usage:
-# dohtml -r docs/*
-# - put all files and directories in docs into /usr/share/doc/${PF}/html
-# dohtml foo.html
-# - put foo.html into /usr/share/doc/${PF}/html
-#
-#
-# Detailed usage:
-# dohtml <list-of-files>
-# - will install the files in the list of files (space-separated list) into
-# /usr/share/doc/${PF}/html, provided the file ends in .htm, .html, .css,
-# .js, ,gif, .jpeg, .jpg, or .png.
-# dohtml -r <list-of-files-and-directories>
-# - will do as 'dohtml', but recurse into all directories, as long as the
-# directory name is not CVS
-# dohtml -A jpe,java [-r] <list-of-files[-and-directories]>
-# - will do as 'dohtml' but add .jpe,.java (default filter list is
-# added to your list)
-# dohtml -a png,gif,html,htm [-r] <list-of-files[-and-directories]>
-# - will do as 'dohtml' but filter on .png,.gif,.html,.htm (default filter
-# list is ignored)
-# dohtml -x CVS,SCCS,RCS -r <list-of-files-and-directories>
-# - will do as 'dohtml -r', but ignore directories named CVS, SCCS, RCS
-#
-
-from __future__ import print_function
-
-import os
-import sys
-
-def dodir(path):
- os.spawnlp(os.P_WAIT, "install", "install", "-d", path)
-
-def dofile(src,dst):
- os.spawnlp(os.P_WAIT, "install", "install", "-m0644", src, dst)
-
-def eqawarn(lines):
- cmd = "source '%s/isolated-functions.sh' ; " % \
- os.environ["PORTAGE_BIN_PATH"]
- for line in lines:
- cmd += "eqawarn \"%s\" ; " % line
- os.spawnlp(os.P_WAIT, "bash", "bash", "-c", cmd)
-
-skipped_directories = []
-
-def install(basename, dirname, options, prefix=""):
- fullpath = basename
- if prefix:
- fullpath = prefix + "/" + fullpath
- if dirname:
- fullpath = dirname + "/" + fullpath
-
- if options.DOCDESTTREE:
- destdir = options.D + "usr/share/doc/" + options.PF + "/" + options.DOCDESTTREE + "/" + options.doc_prefix + "/" + prefix
- else:
- destdir = options.D + "usr/share/doc/" + options.PF + "/html/" + options.doc_prefix + "/" + prefix
-
- if not os.path.exists(fullpath):
- sys.stderr.write("!!! dohtml: %s does not exist\n" % fullpath)
- return False
- elif os.path.isfile(fullpath):
- ext = os.path.splitext(basename)[1]
- if (len(ext) and ext[1:] in options.allowed_exts) or basename in options.allowed_files:
- dodir(destdir)
- dofile(fullpath, destdir + "/" + basename)
- elif options.recurse and os.path.isdir(fullpath) and \
- basename not in options.disallowed_dirs:
- for i in os.listdir(fullpath):
- pfx = basename
- if prefix: pfx = prefix + "/" + pfx
- install(i, dirname, options, pfx)
- elif not options.recurse and os.path.isdir(fullpath):
- global skipped_directories
- skipped_directories.append(fullpath)
- return False
- else:
- return False
- return True
-
-
-class OptionsClass:
- def __init__(self):
- self.PF = ""
- self.D = ""
- self.DOCDESTTREE = ""
-
- if "PF" in os.environ:
- self.PF = os.environ["PF"]
- if "D" in os.environ:
- self.D = os.environ["D"]
- if "_E_DOCDESTTREE_" in os.environ:
- self.DOCDESTTREE = os.environ["_E_DOCDESTTREE_"]
-
- self.allowed_exts = [ 'htm', 'html', 'css', 'js',
- 'gif', 'jpeg', 'jpg', 'png' ]
- self.allowed_files = []
- self.disallowed_dirs = [ 'CVS' ]
- self.recurse = False
- self.verbose = False
- self.doc_prefix = ""
-
-def print_help():
- opts = OptionsClass()
-
- print("dohtml [-a .foo,.bar] [-A .foo,.bar] [-f foo,bar] [-x foo,bar]")
- print(" [-r] [-V] <file> [file ...]")
- print()
- print(" -a Set the list of allowed to those that are specified.")
- print(" Default:", ",".join(opts.allowed_exts))
- print(" -A Extend the list of allowed file types.")
- print(" -f Set list of allowed extensionless file names.")
- print(" -x Set directories to be excluded from recursion.")
- print(" Default:", ",".join(opts.disallowed_dirs))
- print(" -p Set a document prefix for installed files (empty by default).")
- print(" -r Install files and directories recursively.")
- print(" -V Be verbose.")
- print()
-
-def parse_args():
- options = OptionsClass()
- args = []
-
- x = 1
- while x < len(sys.argv):
- arg = sys.argv[x]
- if arg in ["-h","-r","-V"]:
- if arg == "-h":
- print_help()
- sys.exit(0)
- elif arg == "-r":
- options.recurse = True
- elif arg == "-V":
- options.verbose = True
- elif sys.argv[x] in ["-A","-a","-f","-x","-p"]:
- x += 1
- if x == len(sys.argv):
- print_help()
- sys.exit(0)
- elif arg == "-p":
- options.doc_prefix = sys.argv[x]
- else:
- values = sys.argv[x].split(",")
- if arg == "-A":
- options.allowed_exts.extend(values)
- elif arg == "-a":
- options.allowed_exts = values
- elif arg == "-f":
- options.allowed_files = values
- elif arg == "-x":
- options.disallowed_dirs = values
- else:
- args.append(sys.argv[x])
- x += 1
-
- return (options, args)
-
-def main():
-
- (options, args) = parse_args()
-
- if options.verbose:
- print("Allowed extensions:", options.allowed_exts)
- print("Document prefix : '" + options.doc_prefix + "'")
- print("Allowed files :", options.allowed_files)
-
- success = False
-
- for x in args:
- basename = os.path.basename(x)
- dirname = os.path.dirname(x)
- success |= install(basename, dirname, options)
-
- if success:
- retcode = 0
- else:
- retcode = 1
- global skipped_directories
- for x in skipped_directories:
- eqawarn(["QA Notice: dohtml on directory " + \
- "'%s' without recursion option" % x])
-
- sys.exit(retcode)
-
-if __name__ == "__main__":
- main()