[seiscomp, scanloc] Install, add .gitignore
This commit is contained in:
62
share/db/utils.py
Executable file
62
share/db/utils.py
Executable file
@ -0,0 +1,62 @@
|
||||
#!/usr/bin/env seiscomp-python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
############################################################################
|
||||
# Copyright (C) 2016 by gempa GmbH #
|
||||
# #
|
||||
# All Rights Reserved. #
|
||||
# #
|
||||
# NOTICE: All information contained herein is, and remains #
|
||||
# the property of gempa GmbH and its suppliers, if any. The intellectual #
|
||||
# and technical concepts contained herein are proprietary to gempa GmbH #
|
||||
# and its suppliers. #
|
||||
# Dissemination of this information or reproduction of this material #
|
||||
# is strictly forbidden unless prior written permission is obtained #
|
||||
# from gempa GmbH. #
|
||||
############################################################################
|
||||
|
||||
from __future__ import (
|
||||
absolute_import,
|
||||
print_function)
|
||||
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Python version depended string conversion
|
||||
if sys.version_info[0] < 3:
|
||||
py3bstr = str
|
||||
py3ustr = str
|
||||
|
||||
else:
|
||||
py3bstr = lambda s: s.encode('utf-8')
|
||||
py3ustr = lambda s: s.decode('utf-8', 'replace')
|
||||
|
||||
class ProcResult:
|
||||
def __init__(self):
|
||||
self.error = ""
|
||||
self.data = ""
|
||||
|
||||
def execute(cmd):
|
||||
proc = subprocess.Popen(
|
||||
cmd,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
shell=True)
|
||||
out = proc.communicate()
|
||||
|
||||
res = ProcResult()
|
||||
res.data = py3ustr(out[0].strip())
|
||||
if proc.returncode != 0:
|
||||
res.error = py3ustr(out[1].strip())
|
||||
if not res.error:
|
||||
res.error = "Error: Process returned exit code: {}".format(proc.returncode)
|
||||
else:
|
||||
# Ignore any stderr output in case of the exit code is 0
|
||||
res.error = None
|
||||
|
||||
return res
|
||||
|
||||
def write(msg):
|
||||
print(msg)
|
||||
sys.stdout.flush()
|
Reference in New Issue
Block a user