示例#1
0
文件: handlers.py 项目: Blothorn/FTD
  def post(self):
    name = self.request.get('name')
    script = Script(parent=script_key(name))
    script.version = self.request.get('version')
    script.idLine = self.request.get('id-line').replace('"', '\\"')
    script.body = self.request.get('body').replace('"', '\\"')
    script.put()

    self.redirect('/')
示例#2
0
def create_script(request):

    request_content = json.loads(request.body)
    script = Script()
    script.name = request_content["name"]
    script.resouce = request_content["source"]
    script.category = request_content["category"]
    script.content = request_content["content"]
    script.remark = request_content["remark"]
    script.version = 1
    script.created_by = request.user.username

    script.save()
    return render_json({"result": True, "message": "ok"})
示例#3
0
    def parse_metadata(self, metadata, stack):
        if self.indent is None:
            self.indent = metadata.indent

        if metadata.indent < self.indent:
            self.close(metadata, stack)
            return

        match = regex_jump.match(metadata.line)
        if match:
            label = match["label"]
            jump = Jump(label, metadata)
            self.context.add_child(jump)
            return
        
        match = regex_call.match(metadata.line)
        if match:
            label = match["label"]
            call = Call(label, metadata)
            self.context.add_child(call)
            return
        
        match = regex_script.match(metadata.line)
        if match:
            script_code = match["script"]
            script = Script(script_code, metadata)
            self.context.add_child(script)
            return
        
        match = regex_condition.match(metadata.line)
        if match:
            parser = ConditionParser(self, metadata)
            stack.push(parser)
            stack.parse_metadata(metadata)
            return
        
        match = regex_menu.match(metadata.line)
        if match:
            parser = MenuParser(self, metadata)
            stack.push(parser)
            return
        
        match = regex_python_block.match(metadata.line)
        if match:
            parser = PythonScriptParser(self, metadata)
            stack.push(parser)
            return
        
        self.context.add_child(Text(metadata.line, metadata))
示例#4
0
def ScriptUpdate():
    message = {}
    try:
        scripts_info = ScriptsInfo()
        Script.objects().delete()
        for script in scripts_info:
            if Script.objects(script_id=hashlib.md5(
                    script['name']).hexdigest()).count() == 0:
                Script(script_id=hashlib.md5(script['name']).hexdigest(),
                       script_name=script['name'],
                       script_info=script['info'],
                       script_author=script['author'],
                       script_update_time=script['time'],
                       script_level=script['level'],
                       script_title=script['title']).save()
    except Exception, e:
        message['success'] = False
        message['message'] = repr(e)
        return json.dumps(message)
示例#5
0
def createScript():
    """ Script creation """
    try:
        if "username" in session:
            if request.method == 'POST':
                myScript = Script(
                    scriptname=request.form["inputScriptName"],
                    scriptdescription=request.form["inputScriptDescription"],
                    scripttechnology=request.form["inputScriptTechnology"],
                    businessowner=request.form["inputBusinessOwner"],
                    executionfrequency=request.form["inputExecutionFrequency"])
                myScript.save()
                flash('Script saved !!! ', 'message')
                return redirect(url_for('listeScript'))
            if request.method == 'GET':
                return render_template('createscript.html')
        else:
            flash('Unknown user !!! ', 'error')
            return render_template('login.html')
    except:
        return redirect(url_for('appError'))
示例#6
0
文件: view.py 项目: RicalLiu/kun
def ScriptUpdate():
    message = {}
    try:
        scripts_info = ScriptsInfo()
        Script.objects().delete()
        for script in scripts_info:
            if Script.objects(script_id = hashlib.md5(script['name']).hexdigest()).count() == 0:
                Script(
                    script_id=hashlib.md5(script['name']).hexdigest(),
                    script_name=script['name'],
                    script_info=script['info'],
                    script_author=script['author'],
                    script_update_time=script['time'],
                    script_level=script['level'],
                    script_title=script['title']
                ).save()
    except:
        message['success'] = False
        return json.dumps(message)
    message['success'] = True
    message['message'] = time.strftime("%Y/%m.%d %H:%M:%S", time.localtime())
    return json.dumps(message)
示例#7
0
def create_script(filename, content, author_id):
  new_script = Script(filename=filename, content=content, author_id=author_id or None)
  db.session.add(new_script)
  db.session.commit()
  return jsonify(new_script.as_dict())
示例#8
0
if os.path.exists('./app.db'):
    os.remove('./app.db')

# Create the database
db.create_all()

for dataType in DATATYPES:
    dt = DataType(name=dataType)
    db.session.add(dt)

for consumptionType in CONSUMPTIONTYPES:
    ct = ConsumptionType(name=consumptionType['name'], data_type_id=consumptionType['data_type_id'])
    db.session.add(ct)

for script in SCRIPTS:
    spt = Script(name=script['name'])
    db.session.add(spt)

for obj in OBJECTS:
    if 'script_id' in obj:
        spt_id = obj['script_id']
    else:
        spt_id = None
    o = Object(name=obj['name'], current_value=obj['current_value'], address=obj['address'],
               data_type_id=obj['data_type_id'], script_id=spt_id)

    db.session.add(o)

db.engine.execute('CREATE TABLE `event` ( \
        `id`	INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, \
        `object_id`	INTEGER NOT NULL, \
示例#9
0
def upload():
    """ Retrieving the file from the request object """ 
    
    # creation of the folder on disk and upload the file selected
    target=os.path.join(APP_ROOT,"upload")
    
    if not os.path.isdir(target):
        os.mkdir(target)

    try :

        file=request.files["InputFile"]
        filename=file.filename
        destination="/".join((target,filename))
        file.save(destination)

        myTable=request.form["inputTable"]
        recImported=0
        
        # Management of the scripts
        if myTable=="Script" :
            with open(destination,"r") as f:
                for line in f:
                    # Init the variables for the process
                    fields=[]
                    fields=line.split(",")

                    # Retrieving the values of the fields
                    if len(fields)== 5 :
                        myScript=Script()
                        myScript.scriptname=fields[0]
                        myScript.scriptdescription=fields[1]
                        myScript.scripttechnology=fields[2]
                        myScript.businessowner=fields[3]
                        myScript.executionfrequency=fields[4]
                        myScript.save()
                        recImported+=1
            flash('Congratulations, {} Script(s) records have been imported recently !!! '.format(recImported), 'message')

        # Management of the scripts
        if myTable=="Application" :
            with open(destination,"r") as f:
                for line in f:
                    # Init the variables for the process
                    fields=[]
                    fields=line.split(",")

                    # Retrieving the values of the fields
                    if len(fields)== 8 :
                        myApplication=Application()
                        myApplication.systemname=fields[0]
                        myApplication.systemdescription=fields[1]
                        myApplication.systemtechnology=fields[2]
                        myApplication.systemprovider=fields[3]
                        myApplication.systemowner=fields[4]
                        myApplication.systemstatus=fields[5]
                        myApplication.systemurl=fields[6]
                        myApplication.systemcategory=fields[7]
                        myApplication.save()
                        recImported+=1
            flash('Congratulations, {} Application(s) records have been imported recently !!! '.format(recImported), 'message')

        # Management of the scripts
        if myTable=="Contract" :
            with open(destination,"r") as f:
                for line in f:
                    # Init the variables for the process
                    fields=[]
                    fields=line.split(",")

                    # Retrieving the values of the fields
                    if len(fields)== 8 :
                        myContract=Contract()
                        myContract.contractref=fields[0]
                        myContract.systemname=fields[1]
                        myContract.contractrenewtype=fields[2]
                        myContract.contractcost=fields[3]
                        myContract.contractstartingdate=fields[4]
                        myContract.contractendingdate=fields[5]
                        myContract.contractcomment=fields[6]
                        mystring=fields[7]
                        mystring=mystring[:-2]
                        myContract.contractyear=int(mystring)
                        myContract.save()
                        recImported+=1
            flash('Congratulations, {} Contract(s) records have been imported recently !!! '.format(recImported), 'message')


    except:
        flash('Sorry, check the inputs of the importation process !!! ', 'error')
        return redirect(url_for('menu'))

    return redirect(url_for('menu'))
示例#10
0
 def add_clicked(self, event):
     idx = self.tabCount - 1
     title = 'New Script {}'.format(idx + 1)
     script = Script(self.extender, self.callbacks, self.helpers, title)
     self.scripts.add(script)