19 def pool_insert(files, catalog_name="xmlcatalog_file:PoolFileCatalog.xml
"):
20 print (
":: inserting [%i] files into pool catalog... (%s)"%(
26 sc,exe = subprocess.getstatusoutput (
'which pool_insertFileToCatalog')
28 print (
":: could not find 'pool_insertFileToCatalog' !")
32 os.environ[
'POOL_CATALOG'] = catalog_name
33 cmd =
"%s %s" % (exe,
" ".
join(files))
34 sc, out = subprocess.getstatusoutput (cmd)
36 out = os.linesep.join(
37 [o
for o
in out.splitlines()
38 if not (o.startswith(
"Warning in <TClass::TClass>: no dictionary for class ")
or
39 o.startswith(
'Warning in <TEnvRec::ChangeValue>: duplicate entry'))]
43 print (
":: problem running pool_insertFileToCatalog:")
48 print (
":: inserting [%i] files into pool catalog... [done]"%len(files))
51 if __name__ ==
"__main__":
53 from optparse
import OptionParser
54 parser = OptionParser(usage=
"%prog file1.pool [file2.pool [...]] [--catalog='xmlcatalog_file:PoolFileCatalog.xml']")
55 parser.add_option(
"-f",
"--files",
57 help =
"(list of) files to be inserted in the catalog")
58 parser.add_option(
"--catalog",
60 default =
"xmlcatalog_file:PoolFileCatalog.xml",
61 help =
"catalog connection string")
62 options, args = parser.parse_args()
66 files = [ arg
for arg
in args
if arg[0] !=
"-" ]
69 if options.files
is None and len(files) == 0:
70 str(parser.print_help()
or "")
71 print (
":: You have to provide at least one POOL file to insert:")
72 print (
" shell> pool_insertFileToCatalog.py aod.pool")
75 if not (options.files
is None):
77 for f
in options.files.split():
78 f = os.path.expandvars(os.path.expanduser(f))