def __init__(self, mib_path=config.get_path('mib')): self.table_names = ['ccf', 'csf', 'sdf', 'cdf'] self.mib = {} self.read_MIB(mib_path) self.read_css(mib_path) self.tc_time_offset = 0
def load_kernels(self): #cwd=os.getcwd() spice_folder = config.get_path('spice') mk_folder = os.path.join(spice_folder, 'mk') #os.chdir(mk_folder) self.latest_mk = None for filename in glob.glob(f'{mk_folder}/solo_ANC_soc-flown-mk*.tm'): date_str = re.findall(r"\d{4}\d{2}\d{2}", filename) if date_str: fdt = datetime.strptime(date_str[0], "%Y%m%d") if fdt > self.version_date: self.latest_mk = filename self.version_date = fdt if self.loaded_kernel_filename != self.latest_mk and self.latest_mk != None: print(f'Loading spice kernels from {self.latest_mk}...') fnames = self.get_kernel_files_from_mk(self.latest_mk) for fname in fnames: try: spiceypy.furnsh(os.path.join(spice_folder, fname)) except spiceypy.utils.exceptions.SpiceNOSUCHFILE: print('Failed to load kernel:', fname) self.loaded_kernel_filename = self.latest_mk self.refresh_times += 1
def get_visit_log(week): name = f'access_week_{datetime.today().strftime("%U")}.log' if week == 0 else f'access_week_{week:02d}.log' filename = os.path.join(config.get_path('access_log'), name) results = {'msg': 'OK', 'name': name} try: f = open(filename) lines = f.readlines() rows = [ line.split(',,') for line in lines if '10.35.146.64' not in line ] results = {'data': rows, 'name': name, 'len': len(rows)} except Exception as e: results = {'msg': str(e)} return jsonify(results)
def remove_cache(): cache_path_wildcard = config.get_path('nginx_cache_wildcard') yield "<html><body>" yield "clearing cache...<br>" for fn in glob.glob(cache_path_wildcard): try: yield f'Removing {fn}... ' os.remove(fn) yield "Success!" except OSError as e: yield "Failed! <br>" yield str(e) yield "<br>" yield "Done.<br>" yield "</body></html>"
def import_an_ior(file): log='' msg='' if 'SOL' not in file.filename: return 'filename empty or invalid file type','' if file and allowed_file(file.filename): filename = secure_filename(file.filename) fname = os.path.join(config.get_path('uploads'), filename) file.save(fname) file.close() try: msg, log = ior2mongo.insert(fname) except Exception as e: raise msg = str(e) return msg,log
def upload_iorg_file(): msg = "" if request.method == 'POST': # check if the post request has the file part if 'file' not in request.files: msg = 'invalid file' return redirect(request.url) file = request.files['file'] # if user does not select file, browser also # submit an empty part without filename if file.filename == '': msg = 'No selected file' if file and allowed_ior_file(file.filename): filename = secure_filename(file.filename) fname = os.path.join(config.get_path('to_soc_iors'), filename) file.save(fname) msg = f'File saved to {fname}' file.close() #return redirect('/view/ior/list') return render_template('upload.html', msg=msg, title="Deliver an IORG file SOC")
from flask import Flask, Blueprint, render_template, request, send_from_directory, Response, url_for, send_file, jsonify from flask_login import login_required from bson import json_util from jinja2 import TemplateNotFound from sdcweb.core import mongodb_api from sdcweb.core import utils from sdcweb.core import css from sdcweb.core import auth from sdcweb.core.asw_parameters import parameters as par import sdcweb.core.config as conf ior_manager = Blueprint('ior_manager', __name__, template_folder='templates') STIX_MDB = mongodb_api.MongoDB() ior_path = conf.get_path('to_soc') pdor_path = conf.get_path('to_moc') def create_IORG(stp, counter, fnames): filename = 'IORG_SSTX_S%03d__%05d.ZIP' % (stp, counter) return utils.zip_multiple_files(filename, fnames, ior_path) def create_CRFG(stp, counter, opt_text, sol_files): #ptype = 'S' man_filename = os.path.join( pdor_path, 'MAN__SSTX_S%03d_%s_%05d.SOL' % (stp, opt_text, counter)) zip_filename = 'CRFG_SSTX_S%03d_%s_%05d.ZIP' % (stp, opt_text, counter) CRFG_filename = os.path.join(pdor_path, zip_filename) num_files = len(sol_files)