summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-xtools/read-dependencies45
-rwxr-xr-xtools/read-version46
-rwxr-xr-xtools/run-pep811
-rwxr-xr-xtools/run-pylint3
4 files changed, 41 insertions, 64 deletions
diff --git a/tools/read-dependencies b/tools/read-dependencies
index f89391bc..fee3efcf 100755
--- a/tools/read-dependencies
+++ b/tools/read-dependencies
@@ -1,32 +1,23 @@
-#!/bin/sh
+#!/usr/bin/env python
-set -e
+import os
+import sys
-find_root() {
- local topd
- if [ -z "${CLOUD_INIT_TOP_D}" ]; then
- topd=$(cd "$(dirname "${0}")" && cd .. && pwd)
- else
- topd=$(cd "${CLOUD_INIT_TOP_D}" && pwd)
- fi
- [ $? -eq 0 -a -f "${topd}/setup.py" ] || return
- ROOT_DIR="$topd"
-}
-fail() { echo "$0:" "$@" 1>&2; exit 1; }
+if 'CLOUD_INIT_TOP_D' in os.environ:
+ topd = os.path.realpath(os.environ.get('CLOUD_INIT_TOP_D'))
+else:
+ topd = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
-if ! find_root; then
- fail "Unable to locate 'setup.py' file that should " \
- "exist in the cloud-init root directory."
-fi
+for fname in ("setup.py", "requirements.txt"):
+ if not os.path.isfile(os.path.join(topd, fname)):
+ sys.stderr.write("Unable to locate '%s' file that should "
+ "exist in cloud-init root directory." % fname)
+ sys.exit(1)
-REQUIRES="$ROOT_DIR/requirements.txt"
+with open(os.path.join(topd, "requirements.txt"), "r") as fp:
+ for line in fp:
+ if not line.strip() or line.startswith("#"):
+ continue
+ sys.stdout.write(line)
-if [ ! -e "$REQUIRES" ]; then
- fail "Unable to find 'requirements.txt' file located at '$REQUIRES'"
-fi
-
-# Filter out comments and empty lines
-DEPS=$(sed -n -e 's,#.*,,' -e '/./p' "$REQUIRES") &&
- [ -n "$DEPS" ] ||
- fail "failed to read deps from '${REQUIRES}'"
-echo "$DEPS" | sort -d -f
+sys.exit(0)
diff --git a/tools/read-version b/tools/read-version
index 599f52cd..d02651e9 100755
--- a/tools/read-version
+++ b/tools/read-version
@@ -1,32 +1,26 @@
-#!/bin/sh
+#!/usr/bin/env python
-set -e
+import os
+import re
+import sys
-find_root() {
- local topd
- if [ -z "${CLOUD_INIT_TOP_D}" ]; then
- topd=$(cd "$(dirname "${0}")" && cd .. && pwd)
- else
- topd=$(cd "${CLOUD_INIT_TOP_D}" && pwd)
- fi
- [ $? -eq 0 -a -f "${topd}/setup.py" ] || return
- ROOT_DIR="$topd"
-}
-fail() { echo "$0:" "$@" 1>&2; exit 1; }
+if 'CLOUD_INIT_TOP_D' in os.environ:
+ topd = os.path.realpath(os.environ.get('CLOUD_INIT_TOP_D'))
+else:
+ topd = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
-if ! find_root; then
- fail "Unable to locate 'setup.py' file that should " \
- "exist in the cloud-init root directory."
-fi
+for fname in ("setup.py", "ChangeLog"):
+ if not os.path.isfile(os.path.join(topd, fname)):
+ sys.stderr.write("Unable to locate '%s' file that should "
+ "exist in cloud-init root directory." % fname)
+ sys.exit(1)
-CHNG_LOG="$ROOT_DIR/ChangeLog"
+vermatch = re.compile(r"^[0-9]+[.][0-9]+[.][0-9]+:$")
-if [ ! -e "$CHNG_LOG" ]; then
- fail "Unable to find 'ChangeLog' file located at '$CHNG_LOG'"
-fi
+with open(os.path.join(topd, "ChangeLog"), "r") as fp:
+ for line in fp:
+ if vermatch.match(line):
+ sys.stdout.write(line.strip()[:-1] + "\n")
+ break
-VERSION=$(sed -n '/^[0-9]\+[.][0-9]\+[.][0-9]\+:/ {s/://; p; :a;n; ba; }' \
- "$CHNG_LOG") &&
- [ -n "$VERSION" ] ||
- fail "failed to get version from '$CHNG_LOG'"
-echo "$VERSION"
+sys.exit(0)
diff --git a/tools/run-pep8 b/tools/run-pep8
index 20e594bc..cfce5edd 100755
--- a/tools/run-pep8
+++ b/tools/run-pep8
@@ -1,15 +1,7 @@
#!/bin/bash
-ci_files='cloudinit/*.py cloudinit/config/*.py'
-test_files=$(find tests -name "*.py")
-def_files="$ci_files $test_files"
-
if [ $# -eq 0 ]; then
- files=( )
- for f in $def_files; do
- [ -f "$f" ] || { echo "failed, $f not a file" 1>&2; exit 1; }
- files[${#files[@]}]=${f}
- done
+ files=( bin/cloud-init $(find * -name "*.py" -type f) )
else
files=( "$@" );
fi
@@ -44,4 +36,3 @@ cmd=(
echo -e "\nRunning 'cloudinit' pep8:"
echo "${cmd[@]}"
"${cmd[@]}"
-
diff --git a/tools/run-pylint b/tools/run-pylint
index b74efda9..0fe0c64a 100755
--- a/tools/run-pylint
+++ b/tools/run-pylint
@@ -1,7 +1,7 @@
#!/bin/bash
if [ $# -eq 0 ]; then
- files=( $(find * -name "*.py" -type f) )
+ files=( bin/cloud-init $(find * -name "*.py" -type f) )
else
files=( "$@" );
fi
@@ -16,6 +16,7 @@ cmd=(
--rcfile=$RC_FILE
--disable=R
--disable=I
+ --dummy-variables-rgx="_"
"${files[@]}"
)