summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-12-05 18:28:29 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-12-05 18:39:14 +0200
commitd084c0ccc8ebf45bc88b48ecd851ddfcf6cb10f0 (patch)
tree4876bc1bf2a17d164eab45733bf33c17c0286a57
parent73685e8200a34d3b2ece954f7c5415a068046598 (diff)
Make --include accept regex instead of fnmatch pattern.
For Android publishing, we have files with the same name in different dirs, some of which we want to publish, and some - don't. Change-Id: I00976c6b2c70ee98c06ea733e8dab1e0ab546eed
-rwxr-xr-xlinaro-cp.py21
1 files changed, 9 insertions, 12 deletions
diff --git a/linaro-cp.py b/linaro-cp.py
index 803beef..7ec858d 100755
--- a/linaro-cp.py
+++ b/linaro-cp.py
@@ -9,7 +9,6 @@ import sys
import tempfile
import time
import re
-import fnmatch
# Public artifacts BUILD-INFO.txt
build_info = 'Format-Version: 0.5\n\nFiles-Pattern: *\nLicense-Type: open\n'
@@ -78,26 +77,24 @@ class API_v1(object):
return transfer_queue
for root, dirs, files in os.walk(src_dir):
- dst_dir = dst
- if not root.endswith(dst): # in sub directory
- dst_dir = os.path.join(dst, root[len(src_dir) + 1:])
+ rel_dir = root[len(src_dir) + 1:]
for f in files:
+ rel_path = os.path.join(rel_dir, f)
# If there's at least one include pattern, skip unless
# some pattern matches
skip = len(options.include) > 0
- for pat2 in options.include:
- for pat in pat2.split(","):
- if fnmatch.fnmatch('%s/%s' % (dst_dir, f), "*/" + pat):
- skip = False
- break
+ for pat in options.include:
+ if re.search(pat, rel_path):
+ skip = False
+ break
if not skip:
- dst_file = '%s%s/%s' % (self.api_base, dst_dir, f)
+ dst_file = '%s%s/%s' % (self.api_base, dst, rel_path)
transfer_queue[dst_file] = os.path.join(root, f)
if not options.no_build_info:
build_info_file = os.path.join(root, 'BUILD-INFO.txt')
if not os.path.exists(build_info_file):
- dst_file = '%s%s/%s' % (
- self.api_base, dst_dir, 'BUILD-INFO.txt')
+ dst_file = '%s%s/%s/%s' % (
+ self.api_base, dst, rel_path, 'BUILD-INFO.txt')
transfer_queue[dst_file] = self.build_info
return transfer_queue