예제 #1
0
    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
예제 #2
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
예제 #3
0
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)
예제 #4
0
 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>"
예제 #5
0
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
예제 #6
0
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")
예제 #7
0
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)