Repository 'snp_pipeline'
hg clone https://toolrepo.galaxytrakr.org/repos/jpayne/snp_pipeline

Changeset 64:b5cf2ec0c540 (2024-06-29)
Previous changeset 63:fb44b003e29b (2024-06-28)
Commit message:
planemo upload
modified:
snp-cache.py
snp-cache.py
diff -r fb44b003e29b -r b5cf2ec0c540 snp-cache.py
snp-cache.py
--- a/snp-cache.py Fri Jun 28 23:03:53 2024 -0400
+++ b/snp-cache.py Sat Jun 29 06:56:11 2024 -0400
@@ -23,22 +23,22 @@
 class NoCacheNoCommandException(Exception):
  pass
 
-@contextlib.contextmanager
-def open(filename=None, mode='r'):
- "basically a wrapper to make sys.stdout usable where there's a contextmanager"
- writer = sys.stdout.buffer
- try:
- if filename:
- writer = io.FileIO(filename, mode)
- if 'r' in mode:
- writer = io.BufferedReader(writer)
- elif 'w' in mode:
- writer = io.BufferedWriter(writer)
- yield writer
- writer.flush()
- finally:
- if filename:
- writer.close()
+# @contextlib.contextmanager
+# def open(filename=None, mode='r'):
+#  "basically a wrapper to make sys.stdout usable where there's a contextmanager"
+#  writer = sys.stdout.buffer
+#  try:
+#  if filename:
+#  writer = io.FileIO(filename, mode)
+#  if 'r' in mode:
+#  writer = io.BufferedReader(writer)
+#  elif 'w' in mode:
+#  writer = io.BufferedWriter(writer)
+#  yield writer
+#  writer.flush()
+#  finally:
+#  if filename:
+#  writer.close()
 
 # class stream_over(io.IOBase):
 #  "a file-like object that works as a tee, for API's that accept a file-like"
@@ -85,11 +85,11 @@
 #  multistream.flush()
 #  multistream.close()
 
-def stream_to(input_stream, output_stream):
- for i, line in enumerate(input_stream.readlines()):
- if i < 8:
- logging.getLogger('strm').info(str(line[:70]))
- output_stream.write(line)
+# def stream_to(input_stream, output_stream):
+#  for i, line in enumerate(input_stream.readlines()):
+#  if i < 8:
+#  logging.getLogger('strm').info(str(line[:70]))
+#  output_stream.write(line)
 
 
 
@@ -98,29 +98,29 @@
  table = table.strip()
  name = "{table}/{id}".format(**locals())
  with open(output, 'wb') as output_f:
- #lookup ID in table and get a FH to the resource
- try:
- import boto3
- api_key = os.environ.get('AWS_API_KEY', '')
- s3 = boto3.resource('s3').Bucket(CACHE_NAMESPACE)
- s3.download_fileobj(name, output_f)
- logging.getLogger('snp-cache.cache').info("cache hit on {name}, retrieved.".format(**locals()))
- except Exception as e:
- if type(e) is not ImportError:
- logging.getLogger('snp-cache.cache').info("cache miss on {name}".format(**locals()))
- else:
- logging.getLogger('snp-cache.cache').error(e)
- #if we couldn't find the data, we need to run the command to generate it
- if not command:
- raise NoCacheNoCommandException("No cached result for this id, and no command given to generate.")
- logging.getLogger('snp-cache.cmd').info(command)
- # sub = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
- # cached, err = sub.communicate()
- # cached, err = io.BytesIO(cached), io.BytesIO(err)
+ # #lookup ID in table and get a FH to the resource
+ # try:
+ #  import boto3
+ #  api_key = os.environ.get('AWS_API_KEY', '')
+ #  s3 = boto3.resource('s3').Bucket(CACHE_NAMESPACE)
+ #  s3.download_fileobj(name, output_f)
+ #  logging.getLogger('snp-cache.cache').info("cache hit on {name}, retrieved.".format(**locals()))
+ # except Exception as e:
+ #  if type(e) is not ImportError:
+ #  logging.getLogger('snp-cache.cache').info("cache miss on {name}".format(**locals()))
+ #  else:
+ #  logging.getLogger('snp-cache.cache').error(e)
+ #  #if we couldn't find the data, we need to run the command to generate it
+ #  if not command:
+ #  raise NoCacheNoCommandException("No cached result for this id, and no command given to generate.")
+ #  logging.getLogger('snp-cache.cmd').info(command)
+ #  # sub = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ #  # cached, err = sub.communicate()
+ #  # cached, err = io.BytesIO(cached), io.BytesIO(err)
  try:
  cached = subprocess.check_output(command, shell=True)
  try:
- s3.upload_fileobj(BytesIO(cached), name)
+ pass # s3.upload_fileobj(BytesIO(cached), name)
  except Exception as e:
  logging.getLogger('snp-cache.cache').error('Error writing to cache:')
  logging.getLogger('snp-cache.cache').error(e)