diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f06487d59f3cad162ef9a73019e1461ab52ad91f..fa11e075cc0fd8c54733fead8bc84daabc081f0b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -28,7 +28,7 @@ stages: - ./_ci/install.sh _ci #updates - ./_ci/before_build.sh script: - - ./_ci/build.sh hci_tagging + - ./_ci/build.sh after_script: - ./_ci/after_build.sh artifacts: diff --git a/bob/db/hci_tagging/driver.py b/bob/db/hci_tagging/driver.py index 0e682ae1e97f1a717f1b13f4c2ffc799059f0aed..46762b96eba0ac857f15b8477fe7f814a84b2c02 100644 --- a/bob/db/hci_tagging/driver.py +++ b/bob/db/hci_tagging/driver.py @@ -204,97 +204,28 @@ def checkfiles(args): return 0 -def _files(): - filelist = pkg_resources.resource_filename(__name__, 'files.txt') - return [k.strip() for k in open(filelist, 'rt').readlines() if k.strip()] - - -def upload(arguments): - """Uploads generated metadata to the Idiap build server""" - - target_file = os.path.join(arguments.destination, - arguments.name + ".tar.bz2") - - # check all files exist - names = _files() - paths = [pkg_resources.resource_filename(__name__, f) for f in names] - for n,p in zip(names, paths): - if not os.path.exists(p): - raise IOError("Metadata file `%s' (path: %s) is not available. Did you run `mkmeta' before attempting to upload?" % (n, p)) - - # if you get here, all files are there, ready to package - print("Compressing metadata files to `%s'" % (target_file,)) - - # compress - import tarfile - f = tarfile.open(target_file, 'w:bz2') - for k,(n,p) in enumerate(zip(names, paths)): - print("+ [%d/%d] %s" % (k+1, len(names), n)) - f.add(p, n) - f.close() - - # set permissions for sane Idiap storage - import stat - perms = stat.S_IRUSR|stat.S_IWUSR|stat.S_IRGRP|stat.S_IWGRP|stat.S_IROTH - os.chmod(target_file, perms) - - -def download(arguments): - """Downloads and uncompresses meta data generated files from Idiap""" - - # check all files don't exist - names = _files() - paths = [pkg_resources.resource_filename(__name__, f) for f in names] - for n,p in zip(names, paths): - if os.path.exists(p): - if arguments.force: - os.unlink(p) - else: - raise IOError("Metadata file `%s' (path: %s) is already available. Please remove self-generated files before attempting download or --force" % (n, p)) - - # if you get here, all files aren't there, unpack - source_url = os.path.join(arguments.source, arguments.name + ".tar.bz2") - - # download file from Idiap server, unpack and remove it - import sys, tempfile, tarfile - if sys.version_info[0] <= 2: - import urllib2 as urllib - else: - import urllib.request as urllib - - try: - print ("Extracting url `%s' (this may be long)..." %(source_url,)) - u = urllib.urlopen(source_url) - f = tempfile.NamedTemporaryFile(suffix = ".tar.bz2") - open(f.name, 'wb').write(u.read()) - t = tarfile.open(fileobj=f, mode='r:bz2') - t.extractall(pkg_resources.resource_filename(__name__, '')) - t.close() - f.close() - return False - - except Exception as e: - print ("Error while downloading: %s" % e) - return True - - - class Interface(BaseInterface): def name(self): return 'hci_tagging' + def files(self): - from . import LOCATION - return [LOCATION] + basedir = pkg_resources.resource_filename(__name__, '') + filelist = os.path.join(basedir, 'files.txt') + return [os.path.join(basedir, k.strip()) for k in \ + open(filelist, 'rt').readlines() if k.strip()] + def version(self): import pkg_resources return pkg_resources.require('bob.db.%s' % self.name())[0].version + def type(self): return 'text' + def add_commands(self, parser): """Add specific subcommands that the action "dumplist" can use""" @@ -343,22 +274,3 @@ class Interface(BaseInterface): debug_parser.add_argument('--limit', dest="limit", default=0, type=int, help="Limits the number of objects to treat (defaults to '%(default)')") debug_parser.add_argument('--self-test', dest="selftest", default=False, action='store_true', help=SUPPRESS) debug_parser.set_defaults(func=debug) #action - - # add upload command - upload_meta = upload.__doc__ - upload_parser = subparsers.add_parser('upload', help=upload.__doc__) - upload_parser.add_argument("--destination", - default="/idiap/group/torch5spro/databases/latest") - upload_parser.set_defaults(func=upload) - - # add download command - if 'DOCSERVER' in os.environ: USE_SERVER=os.environ['DOCSERVER'] - else: USE_SERVER='https://www.idiap.ch' - download_meta = download.__doc__ - download_parser = subparsers.add_parser('download', - help=download.__doc__) - download_parser.add_argument("--source", - default="%s/software/bob/databases/latest/" % USE_SERVER) - download_parser.add_argument("--force", action='store_true', - help = "Overwrite existing metadata files?") - download_parser.set_defaults(func=download)